
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.211.240] |
![]() |
|
![]() |
|
|
Вот я забыл как делается такая фтучко
![]() например имеем месадж бокс,с MB_OKCANCEL или же там еще с чем-то =) так вот,например если я нажимаю Ок,тогда выполняется определённое действие =) например закрыть приложение Ну как делается с обычными диалогами Заркрыть приложение? Ок\Отмена =) |
Сообщ.
#2
,
|
|
|
Не понятно, что требуется, переформулируй вопрос, пожалуйста
Добавлено ![]() ![]() .if ax==TRUE ..... .else ..... Добавлено в ax возвращается, нажал ты ок или cancel |
Сообщ.
#3
,
|
|
|
да оно,но только мне нуна,если только я нажал на ок
|
Сообщ.
#4
,
|
|
|
Цитата Dimon-z @ да оно,но только мне нуна,если только я нажал на ок ![]() ![]() ax==TRUE(ok) |
Сообщ.
#5
,
|
|
|
.IF uMsg==WM_CLOSE
invoke MessageBox,NULL,ADDR MsgText,ADDR MsgTitle,MB_OKCANCEL .IF ax==TRUE(ok) invoke PostQuitMessage,NULL .ENDIF error A2006: undefined symbol : ok Пробывал делать вместо MB_OKCANCEL, 1 и пробывал вместо ax eax==1,всё равно не получается..ну получается,но только если я нажму любую кнопку...а мне нуна только ок ![]() |
Сообщ.
#6
,
|
|
|
Цитата Dimon-z @ .IF ax==TRUE(ok) гыгы ![]() ![]() |
Сообщ.
#7
,
|
|
|
я ставил,я понял что типо коммента =)то я скопирывал...я вставлял тру,и пофиг...пробывал фалс и отмену тоже пофиг...на любую кнопочгу клачаеш и закрываеццо
![]() |
Сообщ.
#8
,
|
|
|
Dimon-z, покажи весь код, тогда смогу помочь.
![]() Добавлено Цитата Dimon-z @ я ставил,я понял что типо коммента =)то я скопирывал... да и по ошибке Цитата Dimon-z @ error A2006: undefined symbol : ok не сказала бы, что ты не написал ok ![]() Добавлено Dimon-z, попробовала всё нормально, что у тебя после Цитата Dimon-z @ .IF ax==TRUE(ok) invoke PostQuitMessage,NULL .ENDIF идёт ? |
Сообщ.
#9
,
|
|
|
![]() ![]() invoke MessageBox,NULL,ADDR MsgText,ADDR MsgTitle,MB_OK or MB_YESNO .IF ax==TRUE invoke PostQuitMessage,NULL .ENDIF invoke PostQuitMessage,NULL ;<-- а это зачем? |
Сообщ.
#10
,
|
|
|
вот процедура
там где выполняется... думаю полный код не нужен т.к в нём ничего нету такого =) ![]() ![]() WndProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM LOCAL hdc:HDC LOCAL ps:PAINTSTRUCT LOCAL rect:RECT .IF uMsg==WM_CLOSE invoke MessageBox,NULL,ADDR MsgText,ADDR MsgTitle,MB_OKCANCEL .IF ax==TRUE invoke PostQuitMessage,NULL .ENDIF .ELSE .IF uMsg==WM_DESTROY invoke PostQuitMessage,NULL .ELSEIF uMsg==WM_PAINT invoke BeginPaint,hWnd,Addr ps mov hdc,eax invoke GetClientRect,hWnd,Addr rect invoke DrawText, hdc,Addr MsgText,-1,Addr rect, \ DT_SINGLELINE or DT_CENTER or DT_VCENTER invoke EndPaint,hWnd, ADDR ps .ELSE invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .ENDIF .ENDIF xor eax,eax ret WndProc endp Добавлено 2quotter, то я тупанул чутог =) убрал, но всё равно.. |
Сообщ.
#11
,
|
|
|
понятно ![]() ![]() ![]() .IF uMsg==WM_CLOSE invoke MessageBox,NULL,ADDR MsgText,ADDR MsgTitle,MB_OKCANCEL .IF ax==TRUE invoke PostQuitMessage,NULL .ENDIF ;invoke PostQuitMessage,NULL .elseIF uMsg==WM_DESTROY invoke PostQuitMessage,NULL .ELSEIF uMsg==WM_PAINT invoke BeginPaint,hWnd,Addr ps mov hdc,eax invoke GetClientRect,hWnd,Addr rect invoke DrawText, hdc,Addr MsgText,-1,Addr rect, \ DT_SINGLELINE or DT_CENTER or DT_VCENTER invoke EndPaint,hWnd, ADDR ps .ELSE invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .ENDIF xor eax,eax ret WndProc endp end start |
Сообщ.
#12
,
|
|
|
спасибо,а собственно где ошибка была?
просто когда удалил строку ![]() ![]() ;invoke PostQuitMessage,NULL всё равно такаяже фигня была... |
Сообщ.
#13
,
|
|
|
Цитата Dimon-z @ всё равно такаяже фигня была... я у себя откомпилил - все работает. по ОК окошко остается, по отмене - закрывается Добавлено то есть наоборот ![]() |
Сообщ.
#14
,
|
|
|
Цитата quotter @ по ОК окошко остается, по отмене - закрывается смешно, по-моему должно быть наоборот ![]() Цитата Dimon-z @ где ошибка была? в логических конструкциях. Просто, чтобы ты не нажал у тебя всё равно уничтожение окна ![]() ![]() .ELSE .IF uMsg==WM_DESTROY invoke PostQuitMessage,NULL .ELSEIF uMsg==WM_PAINT ![]() Добавлено Цитата quotter @ то есть наоборот ![]() |
Сообщ.
#15
,
|
|
|
спасибо,Катька лови плюсиГ
|
Сообщ.
#16
,
|
|
|
и здесь ещё
Цитата quotter @ во первых не поняла почему или то или то MB_OK or MB_YESNO ![]() MB_OKCANCEL Добавлено Цитата Dimon-z @ спасибо,Катька лови плюсиГ да ладно, не за что ![]() ![]() |
Сообщ.
#17
,
|
|
|
Цитата Катька @ во первых не поняла почему или то или то это я скопировал из поста Dimon-z, не обратив внимания |
Сообщ.
#18
,
|
|
|
Цитата quotter @ это я скопировал из поста Dimon-z, не обратив внимания да я понимаю, просто он своё сообщение отредактировал, поэтому процетировала - твоё ![]() ![]() Добавлено В общем, пост 16 был полнстью адресован Димону ![]() |