Bonjour,
J'ai créé une application en VB6. Or, il m'arrive un truc bizarre : je dois parfois cliquer deux fois sur un bouton de validation (OK, Valider) pour que ce clic soit pris en compte (le premier clic n'est alors pas intercepté, j'ai vérifié en mettant un point d'arrêt dans la fonction btnOK_Click).
Par exemple, j'ouvre une fenêtre en cliquant sur un bouton. Cette fenêtre contient des ComboBox et CheckBox, un bouton 'Annuler' et un bouton 'OK'. Il me faut cliquer deux fois sur 'OK' pour fermer la fenêtre. Le truc, c'est que des fois, ça marche normalement (un seul clic).
J'ai essayé de donner un focus total à cette fenêtre :
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
dans le Form_Load, et :
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
dans le Form_Unload, mais le problème persiste... Quelqu'un a-t-il une idée de solution, ou est-ce un bug connu de VB6, ou autre ?
Merci d'avance.
Précision importante : les boutons ne sont pas les standards Windows, mais proviennent d'un ActiveX que j'ai créé. Seuls les boutons de validation provoquent cette erreur, pas les autres (Annuler, Suivant, Précédent, ...). La question devient alors : pourquoi est-ce que ça ne pose problème que pour les boutons de validation, et pas les autres (alors qu'ils sont tous de même type) ?
RoKeN
Partager