Lorsque j'affiche du texte dans un contrôle textbox de classe CEdit avec
SetWindowText, celui-ci est automatiquement sélectionné.
J'ai trouvé un moyen de le déselectionner automatiquement avec
PostMessage(WM_LBUTTONDOWN) puis PostMessage(WM_LBUTTONUP).
J'ai aussi essayer avec SetSel mais ça ne marche pas ou je ne sais pas y
faire.
Y aurait-il un autre moyen plus académique?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian ASTOR
Alain Lamourec wrote:
Lorsque j'affiche du texte dans un contrôle textbox de classe CEdit avec SetWindowText, celui-ci est automatiquement sélectionné. J'ai trouvé un moyen de le déselectionner automatiquement avec PostMessage(WM_LBUTTONDOWN) puis PostMessage(WM_LBUTTONUP). J'ai aussi essayer avec SetSel mais ça ne marche pas ou je ne sais pas y faire.
Il est normalement sélectionné ds le WM_INITDIALOG d'1 Dlg, s'il est en première position ds le Z order. Donc, soit changer le Z order, soit subclasser et ne pas retourner DLGC_HASSETSEL, soit SetFocus() ailleurs et retourner 0, soit poster un EM_SETSEL, etc...
Alain Lamourec wrote:
Lorsque j'affiche du texte dans un contrôle textbox de classe CEdit avec
SetWindowText, celui-ci est automatiquement sélectionné.
J'ai trouvé un moyen de le déselectionner automatiquement avec
PostMessage(WM_LBUTTONDOWN) puis PostMessage(WM_LBUTTONUP).
J'ai aussi essayer avec SetSel mais ça ne marche pas ou je ne sais pas y
faire.
Il est normalement sélectionné ds le WM_INITDIALOG d'1 Dlg, s'il est en
première position ds le Z order.
Donc, soit changer le Z order, soit subclasser et ne pas retourner
DLGC_HASSETSEL, soit SetFocus() ailleurs et retourner 0, soit poster un
EM_SETSEL, etc...
Lorsque j'affiche du texte dans un contrôle textbox de classe CEdit avec SetWindowText, celui-ci est automatiquement sélectionné. J'ai trouvé un moyen de le déselectionner automatiquement avec PostMessage(WM_LBUTTONDOWN) puis PostMessage(WM_LBUTTONUP). J'ai aussi essayer avec SetSel mais ça ne marche pas ou je ne sais pas y faire.
Il est normalement sélectionné ds le WM_INITDIALOG d'1 Dlg, s'il est en première position ds le Z order. Donc, soit changer le Z order, soit subclasser et ne pas retourner DLGC_HASSETSEL, soit SetFocus() ailleurs et retourner 0, soit poster un EM_SETSEL, etc...