Page 1 sur 1

[..] Clic au milieu d'un édit pendant un traitement

Posté : mar. 21 oct. 2008 11:59
par pr1
Bonjour,

j'ai écrit un programmme qui affiche une fenêtre contenant un champ edit (en mode lecture seule) et qui lance une fonction qui parcourt récursivement les clés, valeurs et données correspondantes de la base de registre et les affiche dans l'edit.

Premier problème : lorqu'on clique sur l'édit, par exemple au milieu, les dernières données écrites sont écrites à l'endroit où l'on a cliqué, pas à la fin de l'edit

Deuxième problème : la case de fermeture de la fenêtre ne fonctionne pas en dépit de la présence de $msg = $GUI_EVENT_CLOSE, comme si la fonction de parcourt des clés monopolisait les resources de l'application

Code : Tout sélectionner

While 1
    Local $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE 
            ExitLoop
        Case $msg = $myedit
        ;   If WinActive($window_name) Then
        ;       Send("{DOWN 10}")
        ;   EndIf
    EndSelect
WEnd
 
Je vous remercie par avance de votre aide.

pr1

Re: Clic au milieu d'un édit pendant un traitement

Posté : mar. 21 oct. 2008 20:08
par sylvanie
d'un point de vue sémantique, pour le point 2, ça à l'air correcte dans le résumé présenté. Cependant dans le code réel, je suspecterai que l'on soit "prisonnier d'une action qui masque les évènement fenêtre. Un exple grossier serait de lancer un

Code : Tout sélectionner

while 1 
wend
après appui d'un bouton, et là, on peut toujours s'amuser à appuyer sur la croix ...

Pour le premier point, pouvez vous apporter plus d'éléments ? Car on parle d'une editbox en lecture seule dont on insère du texte après un click. Je passerai plutôt par un guictrlsetdata en mémorisant la lecture avant, mais j'aimerai un peu plus d'info sur le contexte .