Français
Bugs et vermeintliche

XProfan X2

GroupBox überlagert UpDown-Contrôle eines Spin-Edits, pas mais cela Éditer-champ

 

Nico
Madysa

 $H Windows.ph
cls
var Long upDownIsVisible = Créer("SpinEdit", %hWnd, "0;0;10", 25, 25, 100, 20)
var Long hidesUpDownControlsAfterIt = Créer("GroupBox", %hWnd, "a", 0, 0, 200, 200)
var Long upDownIsHidden = Créer("SpinEdit", %hWnd, "0;0;10", 25, 50, 100, 20)
Créer("Text", %hWnd, "Press any clé to repair le second spin edit", 230, 5, 100, 100)
waitinput
RescueLostUpDown(upDownIsHidden)
waitinput
end

proc RescueLostUpDown

    parameters Long spinEdit
    ' Retrieve handle of updown control
    var Long theLostOne = GetHandle(%hWnd, ItemID(spinEdit) + 1)
    ' déplacer groupbox behind updown control
    ~SetWindowPos(hidesUpDownControlsAfterIt, theLostOne, 0, 0, 0, 0, ~SWP_NOMOVE | ~SWP_NOSIZE)
    ' this line shouldn't even être necessary.
    SendMessage(theLostOne, $469, spinEdit, 0)' UDM_SETBUDDY

endproc






on beachte, dass cela UpDown-Contrôle im ersten Bild toujours voilà.
Es peux angeklickt volonté, IsWindowEnabled  et IsWindowVisible  liefern beide vrai , cela seule Auffälige ist, dass qui Nutzer es pas voyons peux.

14 kB
Kurzbeschreibung: la fenêtre avant dem Tastendruck
Hochgeladen:20.02.2014
Downloadcounter156
Download
15 kB
Kurzbeschreibung: la fenêtre pour dem Tastendruck
Hochgeladen:20.02.2014
Downloadcounter152
Download
 
20.02.2014  
 




E.T.
it's not a bug, it's a feature 
...
var Long upDownIsVisible = Créer("SpinEdit", %hWnd, "0;0;10", 25, 25, 100, 20)
var Long upDownIsHidden = Créer("SpinEdit", %hWnd, "0;0;10", 25, 50, 100, 20)
var Long hidesUpDownControlsAfterIt = Créer("GroupBox", %hWnd, "a", 0, 0, 200, 200)
...

... et déjà passt es
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
20.02.2014  
 




Nico
Madysa
cette Methode qui Problemlösung suis je mir durchaus bewusst. Deswegen habe je qui beiden SpinEdits dans mon Beispiel so angeordnet: afin de montrer, dass es qui Groupbox ist, qui sich sur qui Z-Achse entre Éditer et UpDown-Contrôle mogelt.

Mir fällt es seulement gelinde dit schwer, une Anwendungsbereich pour so un "Feature" pour trouver.

Aussi fühlt es sich pas justement konsistent à, dass sich qui Groupbox sur qui Z-Achse justement entre deux très stark  zusammengehörige Controls schiebt.

Aussi  wird qui Code aussi pas justement lesbarer, si alle Groupboxen pour allen Spinedits ereugt volonté.

Aussi hat mich cette Mist plusieurs Stunden Debugging gekostet et hat mir moderat aufs Gemüt geschlagen.
 
21.02.2014  
 




E.T.
Hm, cela cela UpDown-Contrôle pour dem RescueLostUpDown  im Éditer des SpinEdits liegt ist mais aussi pas Sinn qui qui l'affaire, ou bien
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
21.02.2014  
 




Nico
Madysa
Es liegt pas im Éditer-champ, mais cela Modifier le champ de wird verkürzt, um place pour cela UpDown-Contrôle trop faire. peux du nachprüfen, dans dem du qui Message plusieurs fois versendest. cela MSDN [...] sagt aussi:


à up-down control with le UDS_ALIGNLEFT or UDS_ALIGNRIGHT style aligns with le left or right edge of its buddy window. The width of le buddy window is decreased to accommodate le width of le up-down control.


et bien sûr ist es seulement une très krude Solution. Pour mich funktioniert vous mais, weil je pour mon größenveränderbares la fenêtre sowieso régulier SetWindowPos  sur cela Modifier le champ de anwenden muss et cela UpDown-Contrôle dabei juste avec dans l'addition einbeziehen peux.
' Ausschnitt: mainwindow.inc
/* <...> */

proc ?_Init

    /* <...> */
    Fenêtre x, y - dx, dy
    /* <...> */
    ?_form.intervalEdit& = Créer("SpinEdit", %hWnd, intervalEditCaption, 0, 0, 0, 0)
    ?_intervalUpDown = GetHandle(%hWnd, ItemID(?_form.intervalEdit&) + 1)
    /* <...> */
    ' Workaround for updown control being overlaid by groupbox!
    SetWindowPos(mainwindow.advancedGroup, mainwindow.intervalUpDown, 0, 0, 0, 0, ~SWP_NOSIZE | ~SWP_NOMOVE)
    /* <...> */
    Sous-classe %hWnd, 1

endproc

/* <...> */

proc ?_AdjustContents

    parameters Long width, height
    declare Long currentX, currentY, currentHeight
    /* <...> */
    var Long tracker = BeginDeferWindowPos(controlCount)
    casenot tracker: return 0
    /* <...> */
    ' cela Modifier le champ de nimmt ici qui gesamte zur
    ' Disposition stehende Breite un.
    tracker = DeferWindowPos(tracker, ?_form.intervalEdit&, 0, \
    currentX, currentY, groupInnerWidth, editHeight, flags)
    /* <...> */
    var Int result = EndDeferWindowPos(tracker)
    ' ici wird cela Modifier le champ de so verkürzt, dass cela UpDown-Contrôle genug place hat.
    SendMessage(?_intervalUpDown, ~WM_USER + $69, ?_form.intervalEdit&, 0)' UDM_SETBUDDY
    return result

endproc


Dass chez einem SetWindowPos  sur cela SpinEdit cela zugehörige UpDown-Contrôle pas  mitverschoben wird, ist encore so un Gag, den je encore pas la fois erwähnt habe ...
 
21.02.2014  
 




RGH
Dummerweise sommes beide Controls getrennte Controls et cela une sais rien vom anderen. seulement qui Programmierer selbst, sais, dass vous zusammengehören.
je vois là im Moment aucun sinnvolle Possibilité, cela avec erträglichem Aufwand trop changement.

Salut
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
25.09.2014  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

7.634 Views

Untitledvor 0 min.
KJ06.12.2015
Heltal04.11.2015
XpKurt21.01.2015
Sascha Haak20.01.2015
plus...

Themeninformationen

cet Thema hat 3 participant:

Nico Madysa (3x)
E.T. (2x)
RGH (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie