EasyMasm + ComboBox

Résolu
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 3 août 2009 à 11:41
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 - 7 août 2009 à 19:41
Bonjour à toutes et à tous,

je m'essaye à EasyMasm ( je suppose que vous
connaissez ce "Visual Assembleur" )

je bute depuis 3 jours sur une bêtise
je tourne, retourne, lis, relis.... sans
voir l'erreur que je commet [ je vais avoir
honte quand ce sera résolu ;o) ]

je ne parviens pas à ajouter une ligne
dans un combobox !

.Data
hInst	DD	?
.Code
Window1Procedure Proc Private hWnd:HWND, uMsg:ULONG, wParam:WPARAM, lParam:LPARAM
.If uMsg == WM_CREATE
Invoke  GetModuleHandle, NULL
Mov hInst, Eax
Invoke  CreateWindowEx, WS_EX_CLIENTEDGE, TextAddr("COMBOBOX"), 0, \
WS_VSCROLL Or WS_VISIBLE Or WS_CHILD Or \
CBS_HASSTRINGS Or CBS_DROPDOWN Or CBS_SORT,
     	80, 80, 200, 20, hWnd, 1234, hInst, NULL
Return TRUE
.ElseIf uMsg == WM_COMMAND
Mov Eax, wParam
        .If Eax == IDC_WINDOW1_BUTTON1
Invoke SendMessage, IDC_WINDOW1_COMBO1, \
CB_ADDSTRING, 0, TextAddr("****")
Invoke SendMessage, 1234, \
CB_ADDSTRING, 0, TextAddr("****")
.EndIf
Return TRUE
.EndIf
Return FALSE
Window1Procedure EndP


pour être sûr que je ne me gourais pas
j'ai ajouté un combo créé "à la main" :
même punition
on passe bien sur les CB_ADDSTRING
mais les combobox restent imperturbables

ce doit être énorme, mais je ne vois rien !

si vous pouvez m'aider....

merci d'avance.

Cordialement [mon Site] [M'écrire] Bul

4 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
6 août 2009 à 10:09
con on est parfois...
on n'utilise pas l'ID, et j'ai pourtant fait
ça de nombreuses fois...
exemple avec "listbox", pour changer
.Const
.Data?
.Data
hInst	DD	?
hList2        DD ?
lItem1 DB "Exemple", 0
.Code
Window1Procedure Proc Private hWnd:HWND, uMsg:ULONG, wParam:WPARAM, lParam:LPARAM
.If uMsg == WM_CREATE
Invoke  GetModuleHandle, NULL
Mov hInst, Eax
Invoke CreateWindowEx, WS_EX_CLIENTEDGE, TextAddr("LISTBOX"), 0,
              WS_VSCROLL Or WS_VISIBLE Or WS_BORDER Or WS_CHILD Or \
              LBS_HASSTRINGS Or LBS_NOINTEGRALHEIGHT Or \
              LBS_DISABLENOSCROLL,
              50, 50, 200, 200, hWnd, 2345, hInst, NULL
Mov hList2, Eax
Return TRUE
.ElseIf uMsg == WM_COMMAND
Mov Eax, wParam
        .If Eax == IDC_WINDOW1_BUTTON1
Invoke SendMessage, hList2, \
LB_ADDSTRING, 0, Addr lItem1
.EndIf
Return TRUE
.EndIf
Return FALSE
Window1Procedure EndP
3
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
6 août 2009 à 19:28
Quelque chose doit être enregistré maintenant sous peine de nouveaux problêmes.
Un fichier d'aide,winhelp,la documentaion du SDK c'est UTILE.La preuve ci_dessous.

LRESULT SendMessage( HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Parameters

hWnd
[in] Handle to the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.
Msg
[in] Specifies the message to be sent.
wParam
[in] Specifies additional message-specific information.
lParam
[in] Specifies additional message-specific information.
Return Value

The return value specifies the result of the message processing; it depends on the message sent.


hWnd
[in] Handle .Un handle n'est pas un ID determiné par le programmeur.
Il n'y pas besoin de chercher pendant des lustres pour trouver ça.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
7 août 2009 à 08:01
>>Un handle n'est pas un ID
ben oui ! tout le monde apprend ça,
et c'est exactement ce que je disais.
faire une confusion stupide, ça arrive... non ?
et on a parfois du mal à la trouver.
>>Il n'y pas besoin de chercher pendant
>>des lustres pour trouver ça
certes, et si vous m'aviez répondu plus rapidement,
je n'eusse pas passer 3 jours bêtement la dessus.
>>Quelque chose doit être enregistré maintenant
>>sous peine de nouveaux problêmes.
quand à cette phrase, navré mon foie,
mais je n'ai pas compris.
enfin, merci pour vos réflexions ...
qui, je dois le dire, m'ont bien aidé.
0
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
7 août 2009 à 19:41
Un fichier d'aide donne la réponse immédiatement,voila de quoi en télécharger.
C'EST GRATUIT
Tapez le texte de l'url ici.
0
Rejoignez-nous