Тема: Assembler
Показать сообщение отдельно
Старый 05.09.2006, 16:43     # 12
Nero
Newbie
 
Аватар для Nero
 
Регистрация: 16.12.2004
Сообщения: 47

Nero Путь к славе только начался
Помогите разобраться почему выводит только Menu1 при проверке Area

AreaLeft RECT <1,0,1280,1>
AreaTop RECT <0,1,1,1028>

.ELSEIF uMsg==WM_LBUTTONDOWN
mov eax, lParam
mov ecx, eax
shr ecx, 16 ; ecx = Y
and eax, 0ffffh ; eax = X
invoke CheckForButton, eax, ecx
.IF eax==LeftBorder
invoke ShowMsg, addr Menu1
.ELSEIF eax==TopBorder
invoke ShowMsg, addr Menu2

.ENDIF
xor eax, eax

;---------------------

CheckForButton proc dwX:DWORD, dwY:DWORD

invoke PtInRect, ADDR AreaLeft, dwX, dwY
.IF eax!=0
mov eax, LeftBorder
ret
.ENDIF

invoke PtInRect, ADDR AreaTop, dwX, dwY
.IF eax!=0
mov eax, TopBorder
ret
.ENDIF

xor eax, eax
ret
CheckForButton endp
__________________
предчувствие смерти это ничто иное как огромный лаг

Последний раз редактировалось Nero; 05.09.2006 в 21:15.
Nero вне форума