· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› wParam

Посл.отвђт Сообщенiе


Дата: Июл 4, 2004 16:22:12

Обрабатываю клики таким образом:

.if uMsg == WM_COMMAND
.if wParam == 111
...........
...........
.endif
.endif

но ведь по идее место wParam должно быть че-то типа LoWord(wParam)
Как это сделать? или можно оставить как есть


Дата: Июл 4, 2004 18:29:43

.if uMsg == WM_COMMAND
mov eax, wParam
and eax, 0FFFFh
.if eax == 111
...........
...........
.endif
.endif


Дата: Июл 4, 2004 19:49:24

Можно так ((C) by Ernie):
; ...
packedDW UNION
    value dd ?
    STRUCT
        loword dw ?
        hiword dw ?
    ENDS
packedDW ENDS
; ...
movzx eax,(packedDW PTR [lParam]).loword
movzx edx,(packedDW PTR [lParam]).hiword

Или просто .IF ax == 111, но т.к. в hiword'е ноль, то можно смело использовать eax.


Дата: Июл 5, 2004 17:47:44

Что-то вроде этого, наверное, MASM должен понимать:
.if WORD PTR wParam == 111


Дата: Июл 6, 2004 01:52:10

самый простой и позорный вариант:
mov  eax,wParam
.if ax==code1
.elseif ax==code2
.endif


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.072