si je met la séquence dans case WM_COMMAND: c'est déclenché "trop souvent"
j'ai tenté de tester if ( HIWORD(wParam)==EN_SETFOCUS )
mais ça n'arrange rien en fait.
j'ai beau regarder des exemples, tourner et retourner
la source... je ne vois pas où je fais une ( des ! ) erreurs ( s )
ridicule comme question je crois, mais je ne m'en sors pas !
c'est gentil Christian, mais navré : j'ai n'ai pas compris ! Subclassing ? mais encore ?
Christian ASTOR
On 26 août, 09:50, wrote:
> Par ex, Subclassing + WM_LBUTTONDOWN
c'est gentil Christian, mais navré : j'ai n'ai pas compris ! Subclassing ? mais encore ?
Il faut subclasser, car un contrôle Edit n'envoie pas de notification au contrôle parent sur un click. Subclasser, donc changer sa procédure (http://msdn.microsoft.com/en- us/library/ms997565.aspx)
Donc, par exemple : LRESULT OldEditProc; LRESULT CALLBACK EditProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
Dans le WM_INITDIALOG : OldEditProc = SetWindowLong(GetDlgItem(hwnd, edt), GWL_WNDPROC, (LONG) (WNDPROC) EditProc);
On 26 août, 09:50, m...@Pourriel.Tiscali.fr.invalid wrote:
> Par ex, Subclassing + WM_LBUTTONDOWN
c'est gentil Christian,
mais navré : j'ai n'ai pas compris !
Subclassing ? mais encore ?
Il faut subclasser, car un contrôle Edit n'envoie pas de notification
au contrôle parent sur un click.
Subclasser, donc changer sa procédure (http://msdn.microsoft.com/en-
us/library/ms997565.aspx)
Donc, par exemple :
LRESULT OldEditProc;
LRESULT CALLBACK EditProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM
lParam);
Dans le WM_INITDIALOG :
OldEditProc = SetWindowLong(GetDlgItem(hwnd, edt), GWL_WNDPROC,
(LONG) (WNDPROC) EditProc);
c'est gentil Christian, mais navré : j'ai n'ai pas compris ! Subclassing ? mais encore ?
Il faut subclasser, car un contrôle Edit n'envoie pas de notification au contrôle parent sur un click. Subclasser, donc changer sa procédure (http://msdn.microsoft.com/en- us/library/ms997565.aspx)
Donc, par exemple : LRESULT OldEditProc; LRESULT CALLBACK EditProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
Dans le WM_INITDIALOG : OldEditProc = SetWindowLong(GetDlgItem(hwnd, edt), GWL_WNDPROC, (LONG) (WNDPROC) EditProc);
> Il faut subclasser, car un contrôle Edit n'envoie pas de notification... Donc, par exemple....
je commence à comprendre. il ne me reste plus qu'à appliquer ton exemple ! pas sûr que j'y arrive sans revenir poser d'autres questions débiles, mais pas simple quand on débarque. surtout que quasi toutes les infos sont en américain, autant lire / regarder / et comprendre parfois, avec un exemple, j'y parviens ( difficilement ), autant faire une recherche j'en suis bien incapable. là nickel, à priori je n'ai qu'à adapter ( et encore ) merci beaucoup, je reviendrais ( c'est une menace ). Cordialement.
> Il faut subclasser, car un contrôle Edit n'envoie pas de notification...
Donc, par exemple....
je commence à comprendre.
il ne me reste plus qu'à appliquer ton exemple !
pas sûr que j'y arrive sans revenir poser d'autres
questions débiles, mais pas simple quand on débarque.
surtout que quasi toutes les infos sont en américain,
autant lire / regarder / et comprendre parfois, avec un exemple,
j'y parviens ( difficilement ), autant faire une recherche
j'en suis bien incapable.
là nickel, à priori je n'ai qu'à adapter ( et encore )
merci beaucoup, je reviendrais ( c'est une menace ).
Cordialement.
> Il faut subclasser, car un contrôle Edit n'envoie pas de notification... Donc, par exemple....
je commence à comprendre. il ne me reste plus qu'à appliquer ton exemple ! pas sûr que j'y arrive sans revenir poser d'autres questions débiles, mais pas simple quand on débarque. surtout que quasi toutes les infos sont en américain, autant lire / regarder / et comprendre parfois, avec un exemple, j'y parviens ( difficilement ), autant faire une recherche j'en suis bien incapable. là nickel, à priori je n'ai qu'à adapter ( et encore ) merci beaucoup, je reviendrais ( c'est une menace ). Cordialement.