Только-только сделал свое первое окно на TASM 5.0. пока оно ничего не может, даже кнопка "закрыть" неактивна... но суть не в этом. я скачал несколько примеров по созданию окна, включая уроки Iczeliona и нашел следующие отличия: в моем import32.inc wm_LButtonDown определяется как 01h в скаченном из инета (к сожалению сайт не помню) примере wm_LButtonDown определяется как 201h, подскажите как программе узнать что была нажата именно левая кнопка и где ее нажали. Заранее спасибо!
\masm32\include\windows.inc WM_LBUTTONDOWN equ 201h 01h - неправильное определение.. !!! WM_CREATE equ 1h
Если окно не закрыто по нажатии [Х] - не вызвана функция DefWindowProc() в твоей процедуре окна. Код WM_LBUTTONDOWN=201h, так что пользуй скачанный импорт файл - твой почему-то неверен. Код (Text): mov eax, msgID cmp eax, WM_LBUTTONDOWN je OnLBtnDown ... OnLBtnDown: mov eax, LParam mov edx, eax shr eax, 16 and edx, 0000FFFFh ; ; Now EDX = X coordinate of the cursor ; and EAX = Y coordinate of the cursor
нашел windows.inc, нашел там все, что нужно. А если я в TASM'е буду подключать этот файл мне надо будет указать те же имены структур и констант, что в этом файле?
Djavol equ и STRUC одинаково поддерживаются масмом и тасмом. А если включить в тасме режим совместимости с мамсом, то и весь исходник теоретически можно сделать "совместимым" с обоими компиляторами.
/jmasm51 /jquirks В принципе, и без этого можно писать код, совместимый с масмом и тасмом. См. TSM_HELP.TXT для более подробной информации.
Спасибо за информацию, без вас я бы еще долго не понял бы почему программа не реагирует на кнопки мыши Тему можно считать закрытой
Код (Text): aaa struc;В TASM ... ends aaa struct;в MASM ... aaa ends и, как правило, в TASM не включают различие строчных/прописных и есть различия между TASM windows32.inc и MASM windows.inc
struc и в масме есть для совместимости со старыми версиями наверное, также как и length, size, type, которые и там и там.
Есть MOUSE_FIRST и MOUSE_LAST. В принципе - это не события. Они используются дла фильтрации событий от мыши в таких функциях как: PeekMessage()/GetMessage(). Все события приходящие от мыши находятся между этими двумя значениями.