Listbox Problem
-
Ich versuche das Beispiel in Assembler umzusetzen:
mir bereitet HIWORD bei LBN_SELCHANGE etwas Kopfzerbrechen. Irgendwie will meine Listbox nicht so richtig.
mfg A-lex
-
es wäre nett wenn du angibst was für assembler (MASM,Nasm,TASM,FASM).
Ansonsten: ich setze meistens die Auswahl eher ander rum:
Bis jetz habe ich die Listbox immer benutzt damit der User bestimmte Sachen auswählen und per doppelklick starten kann:.ELSEIF iMsg==WM_COMMAND mov eax,wParam mov edx,eax shr edx,16 .if dx ==LBN_DBLCLK invoke PlaySong,hWnd ............... ;Auszug aus der PlaySong invoke SendDlgItemMessage, hWnd, ID_LIST_BOX, LB_GETCURSEL, 0, 0 .IF eax!=LB_ERR invoke SendDlgItemMessage, hWnd, ID_LIST_BOX, LB_GETTEXT, eax, addr SongName
bei deinem Problem:
was genau klappt denn nicht?
Ansonsten ist im MS-Beispiel das Loword (also IDL_SOFTBALL) nur die ID der Listbox (falls man also nur eine hat, kann man auf die Abfrage auch verzichten) und das hiword kommt hier von wPARAM (also gehört zur WM_COMMAND => und das ist bei WM_COMMAND der Notification Code (es wird also abgefragt ob hier eine LBN_SELCHANGE aufgetreten ist). Um festzustellen welches Item angeklickt wurde muss man trotzdem LB_GETCURSEL bemühen .
-
Danke! Mir hat dieser Teil gefehlt.
mov eax,wParam mov edx,eax shr edx,16 .if dx == LBN_SELCHANGE
CDW schrieb:
es wäre nett wenn du angibst was für assembler (MASM,Nasm,TASM,FASM).
MASM. Ist jetzt aber eigentlich egal, oder?
mfG A-lex