J'ai un petit problème avec une combo dropdown. Si je la subclasse, la
petite flèche ne fait plus apparaitre la liste. Meme avec une windows proc
"vide" (juste un return CallWindowProc ((WNDPROC)OldSubProcCombo, hWnd,
wMessage, wParam, lParam); ), ca ne marche pas. Alors que si je ne subclasse
pas, ca marche tres bien.
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
Clément
"Clément" a écrit dans le message de news: 43034f69$0$19310$
Salut,
J'ai un petit problème avec une combo dropdown. Si je la subclasse, la petite flèche ne fait plus apparaitre la liste. Meme avec une windows proc "vide" (juste un return CallWindowProc ((WNDPROC)OldSubProcCombo, hWnd, wMessage, wParam, lParam); ), ca ne marche pas. Alors que si je ne subclasse pas, ca marche tres bien.
Quelques précisions :
1) Le subclassing (de la partie "edit" du combo) marche bien. Je parviens à intercepter certaines touches. 2) J'ai bien réglé la hauteur de la liste déroulante. La preuve c'est que ca marche bien sans subclassing.
Donc mon seul problème est que ca ne se déroule pas. Sauf si je ne subclasse pas. Mon problème vient donc du subclassing (code : OldSubProcCombo = SetWindowLong(GetDlgItem(hWnd, IDC_COMBO_APPLI), GWL_WNDPROC, (LONG)(WNDPROC)SubProcCombo); ).
Mille Mercis d'avance pour vos réponses. Clément.
"Clément" <clement@xxx.xxx.invalid> a écrit dans le message de news:
43034f69$0$19310$636a15ce@news.free.fr...
Salut,
J'ai un petit problème avec une combo dropdown. Si je la subclasse, la
petite flèche ne fait plus apparaitre la liste. Meme avec une windows proc
"vide" (juste un return CallWindowProc ((WNDPROC)OldSubProcCombo, hWnd,
wMessage, wParam, lParam); ), ca ne marche pas. Alors que si je ne
subclasse pas, ca marche tres bien.
Quelques précisions :
1) Le subclassing (de la partie "edit" du combo) marche bien. Je parviens à
intercepter certaines touches.
2) J'ai bien réglé la hauteur de la liste déroulante. La preuve c'est que ca
marche bien sans subclassing.
Donc mon seul problème est que ca ne se déroule pas. Sauf si je ne subclasse
pas. Mon problème vient donc du subclassing (code : OldSubProcCombo =
SetWindowLong(GetDlgItem(hWnd, IDC_COMBO_APPLI), GWL_WNDPROC,
(LONG)(WNDPROC)SubProcCombo); ).
"Clément" a écrit dans le message de news: 43034f69$0$19310$
Salut,
J'ai un petit problème avec une combo dropdown. Si je la subclasse, la petite flèche ne fait plus apparaitre la liste. Meme avec une windows proc "vide" (juste un return CallWindowProc ((WNDPROC)OldSubProcCombo, hWnd, wMessage, wParam, lParam); ), ca ne marche pas. Alors que si je ne subclasse pas, ca marche tres bien.
Quelques précisions :
1) Le subclassing (de la partie "edit" du combo) marche bien. Je parviens à intercepter certaines touches. 2) J'ai bien réglé la hauteur de la liste déroulante. La preuve c'est que ca marche bien sans subclassing.
Donc mon seul problème est que ca ne se déroule pas. Sauf si je ne subclasse pas. Mon problème vient donc du subclassing (code : OldSubProcCombo = SetWindowLong(GetDlgItem(hWnd, IDC_COMBO_APPLI), GWL_WNDPROC, (LONG)(WNDPROC)SubProcCombo); ).
Mille Mercis d'avance pour vos réponses. Clément.
Christian ASTOR
Clément wrote:
1) Le subclassing (de la partie "edit" du combo) marche bien. Je parviens à intercepter certaines touches. 2) J'ai bien réglé la hauteur de la liste déroulante. La preuve c'est que ca marche bien sans subclassing.
Donc mon seul problème est que ca ne se déroule pas. Sauf si je ne subclasse pas. Mon problème vient donc du subclassing (code : OldSubProcCombo = SetWindowLong(GetDlgItem(hWnd, IDC_COMBO_APPLI), GWL_WNDPROC, (LONG)(WNDPROC)SubProcCombo); ).
Je n'arrive pas à reproduire ton truc... Par ex =>
1) Le subclassing (de la partie "edit" du combo) marche bien. Je parviens à
intercepter certaines touches.
2) J'ai bien réglé la hauteur de la liste déroulante. La preuve c'est que ca
marche bien sans subclassing.
Donc mon seul problème est que ca ne se déroule pas. Sauf si je ne subclasse
pas. Mon problème vient donc du subclassing (code : OldSubProcCombo =
SetWindowLong(GetDlgItem(hWnd, IDC_COMBO_APPLI), GWL_WNDPROC,
(LONG)(WNDPROC)SubProcCombo); ).
Je n'arrive pas à reproduire ton truc...
Par ex =>
1) Le subclassing (de la partie "edit" du combo) marche bien. Je parviens à intercepter certaines touches. 2) J'ai bien réglé la hauteur de la liste déroulante. La preuve c'est que ca marche bien sans subclassing.
Donc mon seul problème est que ca ne se déroule pas. Sauf si je ne subclasse pas. Mon problème vient donc du subclassing (code : OldSubProcCombo = SetWindowLong(GetDlgItem(hWnd, IDC_COMBO_APPLI), GWL_WNDPROC, (LONG)(WNDPROC)SubProcCombo); ).
Je n'arrive pas à reproduire ton truc... Par ex =>
Merci beaucoup à toi. Grâce à ton exemple, j'ai pu comparer avec mon code, et en fait mon prototype de NewComboProc était LRESULT CALLBACK SubProcCombo(HWND hWnd, WORD wMessage, WORD wParam, WORD lParam) au lieu de LRESULT CALLBACK SubProcCombo(HWND hWnd, UINT wMessage,WPARAM wParam,LPARAM lParam)
(vous voyez, les WORD partout dans le 1er) Erreur très très bête, j'en conviens. J'avais repris un vieux code, et voila ! Le pire c'est que la plupart du temps ca marche, j'imagine quand les valeurs passées ne dépassent pas les valeurs possibles d'un WORD...
Merci encore à toi, et c'est pas la première fois que tu m'aides. Alors je t'en prie, ne quitte jamais le NG ;o))
> Je n'arrive pas à reproduire ton truc...
Par ex =>
Merci beaucoup à toi. Grâce à ton exemple, j'ai pu comparer avec mon code,
et en fait mon prototype de NewComboProc était
LRESULT CALLBACK SubProcCombo(HWND hWnd, WORD wMessage, WORD wParam, WORD
lParam)
au lieu de
LRESULT CALLBACK SubProcCombo(HWND hWnd, UINT wMessage,WPARAM
wParam,LPARAM lParam)
(vous voyez, les WORD partout dans le 1er)
Erreur très très bête, j'en conviens. J'avais repris un vieux code, et voila
! Le pire c'est que la plupart du temps ca marche, j'imagine quand les
valeurs passées ne dépassent pas les valeurs possibles d'un WORD...
Merci encore à toi, et c'est pas la première fois que tu m'aides. Alors je
t'en prie, ne quitte jamais le NG ;o))
Merci beaucoup à toi. Grâce à ton exemple, j'ai pu comparer avec mon code, et en fait mon prototype de NewComboProc était LRESULT CALLBACK SubProcCombo(HWND hWnd, WORD wMessage, WORD wParam, WORD lParam) au lieu de LRESULT CALLBACK SubProcCombo(HWND hWnd, UINT wMessage,WPARAM wParam,LPARAM lParam)
(vous voyez, les WORD partout dans le 1er) Erreur très très bête, j'en conviens. J'avais repris un vieux code, et voila ! Le pire c'est que la plupart du temps ca marche, j'imagine quand les valeurs passées ne dépassent pas les valeurs possibles d'un WORD...
Merci encore à toi, et c'est pas la première fois que tu m'aides. Alors je t'en prie, ne quitte jamais le NG ;o))