°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
£»¡¡Include¡¡Îļþ¶¨Òå
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡windows¡£inc
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡user32¡£inc
includelib¡¡¡¡¡¡¡¡user32¡£lib
include¡¡¡¡¡¡¡¡¡¡¡¡¡¡kernel32¡£inc
includelib¡¡¡¡¡¡¡¡kernel32¡£lib
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡Equ¡¡µÈÖµ¶¨Òå
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
ICO_MAIN¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1000h¡¡¡¡¡¡¡¡£»Í¼±ê
DLG_MAIN¡¡¡¡¡¡¡¡¡¡¡¡equ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡Êý¾Ý¶Î
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£data£¿
hInstance¡¡¡¡¡¡¡¡¡¡dd¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¿
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡´úÂë¶Î
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡de
_ProcDlgMain¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi¡¡hWnd£»wMsg£»wParam£»lParam
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax£»wMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡WM_CLOSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡EndDialog£»hWnd£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡¡¡¡¡¡¡eax¡¡¡¡WM_INITDIALOG
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡LoadIcon£»hInstance£»ICO_MAIN
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡SendMessage£»hWnd£»WM_SETICON£»ICON_BIG£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡¡¡¡¡¡¡eax¡¡¡¡WM_MAND
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»wParam
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡ax¡¡¡¡IDOK
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡EndDialog£»hWnd£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡eax£»TRUE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
_ProcDlgMain¡¡¡¡endp
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
start£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡GetModuleHandle£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hInstance£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡DialogBoxParam£»hInstance£»DLG_MAIN£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»offset¡¡_ProcDlgMain£»NULL
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡¡¡¡¡ExitProcess£»NULL
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡start
¶ÁÕß¿ÉÒÔ·¢ÏÖ£¬Ïà¶ÔÓÚÆÕͨ´°¿ÚµÄʹÓ㬶Ի°¿òµÄʹÓÃÏÔµÃÌرð¼òµ¥£¬×îÃ÷ÏÔµÄÇø±ðÔÚÓÚÖ÷³ÌÐòÖеÄÒ»´ó¶Ñ´úÂë²»¼ûÁË£¬»»³ÉÁËÒ»¸öDialogBoxParamÓï¾ä¡£
1¡£¡¡´´½¨Ä£Ì¬¶Ô»°¿ò
´´½¨Ä£Ì¬¶Ô»°¿òµÄº¯ÊýÊÇDialogBoxParam£¬ËüµÄʹÓ÷½·¨ÊÇ£º
invoke¡¡¡¡DialogBoxParam£»hInstance£»lpTemplateName£»hWndParent£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpDialogFunc£»dwInitParam
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ5Õ¡¡Ê¹ÓÃ×ÊÔ´
5¡£4¡¡¶Ô¡¡»°¡¡¿ò£¨3£©
¡¡¡¡¡¡¡¡
º¯ÊýµÄ¸÷²ÎÊý˵Ã÷ÈçÏ£º
¡ñ¡¡¡¡¡¡hInstanceºÍlpTemplateName¡ªº¯Êý´ÓhInstance²ÎÊýÖ¸¶¨µÄÄ£¿éÖÐ×°ÈëlpTemplateName²ÎÊýÖ¸¶¨µÄ¶Ô»°¿ò×ÊÔ´£¬È»ºóÏÔʾ¶Ô»°¿ò´°¿Ú¡£Àý×Ó³ÌÐòÖеÄlpTemplateName²ÎÊýÓõľÍÊÇÎÒÃǶ¨ÒåµÄDLG_MAIN¡£
¡ñ¡¡¡¡¡¡hWndParent¡ª¡ª¶Ô»°¿òµÄ¸¸´°¿Ú£¬¶Ô»°¿ò¹Ø±Õ֮ǰ½«ÎÞ·¨Çл»µ½¸¸´°¿ÚËùÊôµÄÆäËû´°¿ÚÖУ¬Àý×ÓÖÐÓöԻ°¿ò×öÖ÷´°¿Ú£¬ËùÒÔ¸¸´°¿Ú¾ä±úÊÇNULL£¬ÔÚÆäËû³ÌÐòÖÐʹÓÃʱ£¬Õâ¸ö²ÎÊýÉèÖÃΪÖ÷´°¿ÚµÄ¾ä±ú¡£
¡ñ¡¡¡¡¡¡lpDialogFunc¡ª¡ªÖ¸¶¨Á˶Ի°¿ò¹ý³ÌµÄµØÖ·£¬Àý×Ó³ÌÐòÖÐÊÇ_ProcDlgMain¡£
¡ñ¡¡¡¡¡¡dwInitParam¡ª¡ªµ±×öWM_INITDIALOGÏûÏ¢µÄlParam´«¸ø¶Ô»°¿ò¹ý³Ì£¬¶ÁÕß¿ÉÒÔÓÃËüÀ´×ö×Ô¶¨ÒåµÄÓÃ;¡£
Òª½áÊøģ̬¶Ô»°¿ò£¬±ØÐëÔÚ¶Ô»°¿ò¹ý³ÌµÄWM_CLOSEÏûÏ¢ÖÐʹÓÃEndDialogº¯Êý£º
invoke¡¡¡¡EndDialog£»hDlg£»dwResult
²»ÄÜʹÓÃͨ³£µÄDestroyWindowº¯Êý£¬²ÎÊýÖеÄhDlg¾ÍÊǶԻ°¿ò´°¿ÚµÄ¾ä±ú£¬dwResult²ÎÊýÊÇÍ˳öʱµÄ·µ»ØÖµ£¬Õâ¸öÖµ×îºóÓÉDialogBoxParamº¯Êý·µ»Øµ½Ö÷³ÌÐòÖС£
2¡£¡¡´´½¨·Çģ̬¶Ô»°¿ò
´´½¨·Çģ̬¶Ô»°¿òµÄº¯ÊýÊÇCreateDialogParam£¬ËüµÄ²ÎÊý¶¨ÒåºÍDialogBoxParamһģһÑù£º
invoke¡¡¡¡CreateDialogParam£»hInstance£»lpTemplateName£»hWndParent£»
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lpDialogFunc£»dwInitParam
mov¡¡hDlg£»eax
CreateDialogParamºÍDialogBoxParamÔÚʹÓÃÖÐÓм¸¸ö²»Í¬µã£º
¡ñ¡¡¡¡¡¡CreateDialogParamÔÚ´´½¨¶Ô»°¿òºó£¬»á¸ù¾Ý¶Ô»°¿òÄ£°åµÄ·ç¸ñÊÇ·ñ¶¨ÒåÁËWS_VISIBLEÀ´¾ö¶¨ÊÇ·ñÏÔʾ¶Ô»°¿ò´°¿Ú¡£Èç¹û¶¨ÒåÁËÔòÏÔʾ£¬Ã»ÓеĻ°£¬Ôò³ÌÐòÐèÒªÔÚÒÔºó×ÔÐе÷ÓÃShowWindowÀ´ÏÔʾËü£»¶øDialogBoxParamº¯Êý²»¹ÜÊÇ·ñ¶¨ÒåÁËWS_VISIBLE·ç¸ñ¶¼»áÏÔʾ¶Ô»°¿ò¡£
¡ñ¡¡¡¡¡¡CreateDialogParamÔÚ½¨Á¢¶Ô»°¿ò´°¿ÚºóÖ±½Ó·µ»Ø£¬·µ»ØÖµÊǶԻ°¿ò´°¿ÚµÄ¾ä±ú£»¶øDialogBoxParamÒªÔÚ¶Ô»°¿ò¹Ø±Õºó²Å·µ»Ø£¬·µ»ØÖµÊÇEndDialogÖеÄdwResult²ÎÊý¡£
¡ñ¡¡¡¡¡¡ÔÚCreateDialogParam·µ»Øºó£¬Ó¦ÓóÌÐòÔÚ×Ô¼ºµÄÏûϢѻ·ÖлñÈ¡¶Ô»°¿òÏûÏ¢£¬ËùÒÔÈç¹ûÒªÓ÷Çģ̬¶Ô»°¿ò×ö³ÌÐòµÄÖ÷´°¿Ú£¬ÏûϢѻ·µÄ´úÂ뻹ÊÇҪдµÄ£»¶øDialogBoxParamÊÇʹÓÃWindowsΪËüÄÚ½¨µÄÏûϢѻ·¡£
¡ñ¡¡¡¡¡¡¹Ø±Õ·Çģ̬¶Ô»°¿òʹÓÃDestroyWindowº¯Êý£¬×¢ÒâÔÚÕâÀï²»ÒªÓÃEndDialogº¯Êý¡£
3¡£¡¡¶Ô»°¿ò¹ý³Ì
WindowsÔÚ¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±¡ª¡ªÒ²¾ÍÊÇΪ¶Ô»°¿òÄÚ½¨µÄ´°¿Ú¹ý³ÌÖд¦Àí¶Ô»°¿òÏûÏ¢£¬ÔÚ´¦ÀíÇ°»áÊ×Ïȵ÷ÓÃÓû§¶¨ÒåµÄ¶Ô»°¿ò¹ý³Ì£¬³ÌÐò¿ÉÒÔÔÚÕâÀïÑ¡ÔñÊÇ·ñ×ÔÐд¦ÀíijЩÏûÏ¢¡£¶ÁÕßÔÚÀí½âʱ¿ÉÒÔ°Ñ¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±¿´³ÉÊǶԻ°¿òµÄDefWindowsProc£¬·²ÊÇ×Ô¼º²»Ïë´¦ÀíµÄÏûÏ¢¶¼ÓÉËüÀ´´¦Àí¡£
ºÍ´°¿Ú¹ý³ÌÒ»Ñù£¬¶Ô»°¿ò¹ý³ÌÊÇÒ»¸ö¡°»Øµ÷¡±×Ó³ÌÐò£¬ËüÓɳÌÐò¶¨Ò壬WindowsÀ´µ÷Óã¬Ä£Ì¬¶Ô»°¿òºÍ·Çģ̬¶Ô»°¿òµÄ¶Ô»°¿ò¹ý³ÌÊÇÒ»ÑùµÄ¡£
¶Ô»°¿ò¹ý³ÌºÍ´°¿Ú¹ý³ÌµÄÊäÈë²ÎÊýÊÇÒ»ÑùµÄ£¬Ò²ÊÇ£º
DialogProc¡¡¡¡proc¡¡¡¡¡¡¡¡hwndDlg£»uMsg£»wParam£»lParam
ÔÚ³ÌÐòÀïÃæÒ»°ã±àд¶Ô»°¿ò¹ý³ÌµÄ·ÖÖ§½á¹¹ÈçÏ£º
_ProcDlgMain¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi¡¡hWnd£»wMsg£»wParam£»lParam
¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»wMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡WM_CLOSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Ä£Ì¬¶Ô»°¿òÓÃEndDialog¹Ø±Õ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»·Çģ̬¶Ô»°¿òÓÃDestroyWindow¹Ø±Õ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡¡¡eax¡¡¡¡WM_INITDIALOG
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»³õʼ»¯´úÂë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡¡¡eax¡¡¡¡WM_MAND
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»×Ó´°¿Ú¿Ø¼þ·¢Ë͵ÄÏûÏ¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»wParamµÄµÍ16λΪ×Ó´°¿Ú¿Ø¼þID
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡¡¡eax¡¡¡¡WM_XXXX
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»´¦ÀíÆäËûÐèÒª´¦ÀíµÄÏûÏ¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»FALSE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡¡¡eax£»TRUE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
_ProcDlgMain¡¡¡¡¡¡¡¡endp
×¢Òâ¶Ô»°¿ò¹ý³ÌºÍÆÕͨµÄ´°¿Ú¹ý³ÌÔÚʹÓÃÉÏÓÐÒÔÏÂÇø±ð£º
¡ñ¡¡¡¡¡¡´°¿Ú¹ý³Ì¶ÔÓ¦ÓÚ²»Í¬µÄÏûÏ¢Óи÷ÖÖ²»Í¬º¬ÒåµÄ·µ»ØÖµ£¬¶ø¶Ô»°¿ò¹ý³Ì·µ»ØBOOLÀàÐ͵ÄÖµ£¬·µ»ØTRUE±íʾÒѾ´¦ÀíÁËijÌõÏûÏ¢£¬·µ»ØFALSE±íʾûÓд¦Àí¡£¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±´úÂë»á¸ù¾Ý·µ»ØÖµ¾ö¶¨ÊÇ·ñ¼ÌÐø´¦ÀíijһÌõÏûÏ¢£¨Î©Ò»µÄÀýÍâÊÇWM_INITDIALOGÏûÏ¢£©¡£
¡ñ¡¡¡¡¡¡¶ÔÓÚ²»´¦ÀíµÄÏûÏ¢£¬²»ÐèÒªµ÷ÓÃDefWindowProcÀ´´¦Àí£¬ÕâÊÂÇéÓÉ¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±À´×ö¡£
¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±²»»á°ÑWM_CREATEÏûϢת·¢¸ø¶Ô»°¿ò¹ý³Ì£¬È¡¶ø´úÖ®£¬Ëü»áÒÔWM_INITDIALOGÏûÏ¢À´µ÷ÓöԻ°¿ò¹ý³Ì£¬³ÌÐò¿ÉÒÔÔÚÕâÀï½øÐÐһЩ³õʼ»¯µÄ²Ù×÷£¬WM_INITDIALOGÏûÏ¢µÄ·µ»ØÖµÓеãÌØÊ⣬Èç¹û³ÌÐòÏë×ÔÐÐÉèÖÃÊäÈë½¹µã£¬ÄÇô¿ÉÒÔÓÃSetFocusº¯Êý°ÑÊäÈë½¹µãÉèÖõ½ÐèÒªµÄ×Ó´°¿Ú¿Ø¼þÉÏ£¬È»ºó·µ»ØFALSE£»Èç¹û·µ»ØTRUEµÄ»°£¬ÄÇôWindows»á×Ô¶¯½«ÊäÈë½¹µãÉèÖõ½µÚÒ»¸öÓÐWS_TABSTOPµÄ×Ó´°¿Ú¿Ø¼þÉÏ¡£
¶Ô»°¿ò¹ý³ÌÔÚWM_MANDÏûÏ¢Öд¦Àí×Ó´°¿Ú¿Ø¼þ·¢Ë͵ÄÃüÁµ±Óû§ÔÚ¶Ô»°¿òÖа´ÏÂÁË°´Å¥£¬ÊäÈëÎÄ×Ö»òÑ¡Ôñ¸´Ñ¡¿òµÈ²Ù×÷ʱ£¬×Ó´°¿Ú¿Ø¼þ»áÏò¶Ô»°¿ò¹ý³Ì·¢ËÍWM_MANDÏûÏ¢£¬wParamÊÇ×Ó´°¿Ú¿Ø¼þµÄID£¬ÈçÀý×Ó³ÌÐòÖд¦Àí¡°Í˳ö¡±°´Å¥µÄÏûÏ¢£¬ÔÚÀïÃæÓÃEndDialogº¯Êý¹Ø±Õ¶Ô»°¿ò¡£
¶Ô»°¿ò´°¿ÚµÄ±êÌâÀ¸ÉÏĬÈÏûÓж¨Òåͼ±ê£¬Èç¹ûÒªÏñÆÕͨ´°¿ÚÒ»ÑùÏÔʾһ¸öͼ±ê£¬ÄÇô¿ÉÒÔÏñÀý×Ó³ÌÐòÖÐÄÇÑù£¬ÔÚWM_INITDIALOGÖÐÓÃWM_SETICONÏûÏ¢À´ÉèÖá£
5¡£4¡£4¡¡¡¡ÔÚ¶Ô»°¿òÖÐʹÓÃ×Ó´°¿Ú¿Ø¼þ
×Ó´°¿Ú¿Ø¼þÊÇһЩWindowsÔ¤¶¨ÒåÀ࣬ËüÃÇʵ¼ÊÉϾÍÊÇÒ»¸ö¸öÒÔ¶Ô»°¿òΪ¸¸´°¿ÚµÄ×Ó´°¿Ú¡£¶ÔÓÚ³ÌÐòÔ±À´Ëµ£¬ÔÚ¶Ô»°¿òÖÐʹÓÃËüÃǵÄʱºò²¢²»ÐèÒªÊÖ¹¤È¥ÖðÒ»´´½¨£¬Ö»ÐèÒªÔÚ¶Ô»°¿òÖж¨Òå¾Í¿ÉÒÔÁË£¬¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±»áÔÚ³õʼ»¯¶Ô»°¿òµÄʱºò£¬¸ù¾Ý¶¨ÒåÓï¾ä×Ô¶¯½¨Á¢ËùÓеÄ×Ó´°¿Ú¡£
1¡£¡¡×Ó´°¿Ú¿Ø¼þµÄ¶¨Òå
×Ó´°¿Ú¿Ø¼þ¶¨ÒåµÄÒ»°ãÓï·¨ÊÇ£º
CONTROL¡¡Îı¾£»ID£»Àࣻ·ç¸ñ£»¡¡x£»¡¡y£»¿í¶È£»¸ß¶È£§£»À©Õ¹·ç¸ñ£§
¡°Îı¾¡±Ö¸¿Ø¼þµÄ³õʼ»¯Öµ£¬¡°ID¡±ÊÇ×Ó´°¿ÚÏò¶Ô»°¿ò¹ý³Ì·¢ËÍWM_MANDÖÐÓõÄIDÖµ£¬¡°Àࡱ¿ÉÒÔÊÇ°´Å¥£¨Button£©¡¢¾²Ì¬£¨Static£©¡¢±à¼£¨Edit£©¡¢¹ö¶¯Ìõ£¨ScrollBar£©¡¢Áбí¿ò£¨ListBox£©ºÍ×éºÏ¿ò£¨boBox£©£¬ÕâЩÀ඼ÊÇWindowsϵͳÖÐÒѾԤ¶¨ÒåµÄ£¬¡°¶Ô»°¿ò¹ÜÀíÆ÷¡±ÔÚ³õʼ»¯µÄʱºò°ÑÿһÌõ¿Ø¼þ¶¨ÒåÓï¾äת»»³ÉÏÂÃæµÄCreateWindowÃüÁ
invoke¡¡CreateWindow£¬ÀàÃû£¬Îı¾£¬·ç¸ñ£»
¡¡¡¡¡¡¡¡¡¡x£¬y£¬¿í¶È£¬¸ß¶È£¬
¡¡¡¡¡¡¡¡¡¡¶Ô»°¿ò´°¿Ú¾ä±ú£¬ID£¬hInstance£¬NULL
ÕýÒòΪÈç´Ë£¬ËùÓпÉÒÔÓÃCreateWindow½¨Á¢µÄ×Ó´°¿Ú¶¼¿ÉÒÔÔÚ×ÊÔ´Öж¨Ò壬ֻҪ֪µÀҪʹÓõÄÀàºÍ·ç¸ñ¾Í¿ÉÒÔÁË¡£ËùÒÔ³ýÁËÉÏÃæÕâЩ»ù±¾µÄÀàÖ®Í⣬¶Ô»°¿òÖл¹¿ÉÒÔʹÓÃһЩͨÓÿؼþ£¬Èç¡°ÈÕÆÚ¡±£¨SysDateTimePick32£©¡¢¡°ÔÂÀú¡±£¨SysMonthCal32£©¡¢¡°Èȼü¡±£¨msctls_hotkey32£©ºÍ¡°ÁÐ±í¡±£¨SysListView32£©µÈ£¬À¨ºÅÄÚÊÇËüÃǵÄÀàÃû£¬Ö»Òª°Ñ¶¨ÒåÓï¾äµÄ¡°Àࡱд³É¶ÔÓ¦µÄÃû³Æ¾Í¿ÉÒÔÁË¡£
»ùÓÚͬһ¸öÔ¤¶¨ÒåÀàµÄ¿Ø¼þ¸ù¾Ý·ç¸ñÊôÐԵIJ»Í¬£¬Íâ±í¿ÉÄÜÍêÈ«²»Í¬£¬È絥ѡť¡¢¸´Ñ¡¿òºÍ·Ö×é¿òʹÓõÄÀ඼ÊÇButtonÀ࣬Îı¾¡¢Í¼±ê¿ò¡¢Î»Í¼¿òºÍÏßÌõµÈ¶¼ÊÇStaticÀࡣʹÓÃCONTROLÓï¾ä¶¨ÒåµÄʱºò¿ÉÄܲ»ÊǺÜÖ±¹Û£¬ËùÒÔRc¡£exe×ÊÔ´±àÒëÆ÷ÔÊÐíʹÓÃÁíÒ»ÖÖÓï·¨À´Êéд¿Ø¼þ¶¨Ò壺
¿Ø¼þÃû³Æ¡¡£§Îı¾£»£§¡¡ID£»x£»y£»¿í¶È£»¸ß¶È£§£»·ç¸ñ£§£§£»À©Õ¹·ç¸ñ£§
ÕâÀïʹÓ᰿ؼþÃû³Æ¡±¶ø²»ÊÇ¡°ÀࡱÊÇÒòΪÕâ¸öÃû³ÆÖ»ÊÇRc¡£exeʹÓõÄËõд£¬²¢²»ÊÇÕæÕýµÄWindowsÀàµÄÃû³Æ£¬¡°¿Ø¼þÃû³Æ¡±ÓÉRc¡£exe½âÊͳɡ°ÀࡱÃû£¬Í¬Ê±ÎªËüʹÓÃÁ˼¸ÖÖĬÈϵķç¸ñ£¬¶¨ÒåÓï¾äÖзç¸ñÊôÐÔʵ¼ÊÉÏÊǸ½¼ÓÔÚĬÈÏ·ç¸ñÉϵģ¬±í5¡£4ÁгöÁËÿÖֿؼþʹÓõÄÀàºÍĬÈÏÊôÐÔ£¬³ýÁ˱íÖÐÁгöµÄĬÈÏÊôÐÔÍ⣬ÿÖֿؼþ»¹±»Ä¬È϶¨ÒåÁËWS_CHILDºÍWS_VISIBLEÊôÐÔ¡£
±í5¡£4¡¡¡¡×ÊÔ´½Å±¾ÖÐʹÓõĿؼþÃû³Æ
¿Ø¡¡¼þ¡¡Ãû¡¡³Æ
¡¡Ëµ¡¡¡¡¡¡¡¡Ã÷
¡¡»ù¡¡ÓÚ¡¡µÄ¡¡Àà
¡¡Ä¬ÈÏ´°¿Ú·ç¸ñ
¡¡
PUSHBUTTON
¡¡°´Å¥
¡¡Button
¡¡BS_PUSHBUTTON£¬WS_TABSTOP
¡¡
DEFPUSHBUTTON
¡¡Ä¬ÈÏ°´Å¥
¡¡Button
¡¡BS_DEFPUSHBUTTON£¬WS_TABSTOP
¡¡
CHECKBOX
¡¡¸´Ñ¡¿ò
¡¡Button
¡¡BS_CHECKBOX£¬WS_TABSTOP
¡¡
AUTOCHECKBOX
¡¡×Ô¶¯¸´Ñ¡¿ò
¡¡Button
¡¡BS_AUTOCHECKBOX£¬WS_TABSTOP
¡¡
STATE3
¡¡3̬¸´Ñ¡¿ò
¡¡Button
¡¡BS_3STATE£¬WS_TABSTOP
¡¡
AUTO3STATE
¡¡×Ô¶¯3̬¸´Ñ¡¿ò
¡¡Button
¡¡BS_AUTO3STATE£¬WS_TABSTOP
¡¡
RADIOBUTTON
¡¡µ¥Ñ¡Å¥
¡¡Button
¡¡BS_RADIOBUTTON£¬WS_TABSTOP
¡¡
AUTORADIOBUTTON
¡¡×Ô¶¯µ¥Ñ¡Å