ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ-µÚ22²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
Windows¶Ôģ̬¶Ô»°¿òºÍ·Çģ̬¶Ô»°¿òµÄ´¦ÀíÓÐЩ²»Í¬¡£ÔÚ´´½¨²¢ÏÔʾģ̬¶Ô»°¿òºó£¬Windows»áΪËüÔÚÄÚ²¿½¨Á¢Ò»¸öÏûϢѻ·£¬ÔÚÕâ¸öÏûϢѻ·ÖаÑÏûÏ¢·¢Ë͸ø¶Ô»°¿ò¹ÜÀíÆ÷£¬¶Ô»°¿ò¹ÜÀíÆ÷ÔÚ´¦ÀíÏûÏ¢µÄ¹ý³ÌÖлáµ÷ÓÃÓû§¶¨ÒåµÄ¶Ô»°¿ò¹ý³Ì£¬µ±¶Ô»°¿ò¹Ø±ÕµÄʱºò£¬WindowsÍ˳öÄÚ½¨µÄÏûϢѻ·£¬²¢´ÓDialogBoxParamº¯Êý·µ»Ø¡£¶ø¶ÔÓÚ·Çģ̬¶Ô»°¿ò£¬CreateDialogParamº¯ÊýÔÚ´´½¨¶Ô»°¿òºóÖ±½Ó·µ»Ø£¬¶Ô»°¿ò´°¿ÚµÄÏûÏ¢ÊÇͨ¹ýÓû§³ÌÐòÖеÄÏûϢѻ·ÅÉË͵ġ£
¡¡
¡¡
ÓÉÓÚģ̬¶Ô»°¿òµÄÌØÕ÷£¬Ê¹µÃÓÃËüÀ´×öС³ÌÐòµÄÖ÷´°¿Ú·Ç³£·½±ã£¬ÒòΪÓÃÒ»¾äDialogBoxParamº¯Êý¾Í¿ÉÒԸ㶨ÁË£¬¼È²»ÓÃ×¢²á´°¿ÚÀ࣬Ҳ²»ÓÃдÏûϢѻ·£¬Õâ¶Ô¿´µ½´´½¨´°¿ÚµÄ¼¸Ê®¾ä´úÂë¾Í·³µÄ¶ÁÕßÀ´Ëµ¿ÉÕæÊǸö¸£Òô£¬±ÊÕßÒ²ºÜϲ»¶ÓÃģ̬¶Ô»°¿ò×ö³ÌÐòµÄÖ÷´°¿Ú¡£ÕâÖÖ·½·¨µÄȱµã¾ÍÊÇÎÞ·¨Ê¹ÓÃÒÀÀµÏûϢѻ·À´Íê³ÉµÄ¹¦ÄÜ£¬ºÜÃ÷ÏÔ£¬¼ÓËÙ¼ü¾Í²»ÄÜÓÃÁË¡£
ÔÚ½ÓÏÂÀ´µÄÄÚÈÝÖУ¬ÒÔÒ»¸ö×î¼òµ¥µÄÀý×ÓÀ´½²½âÈçºÎʵÏÖģ̬¶Ô»°¿ò£¬ËùÓеÄÔ´³ÌÐò¿ÉÒÔÔÚËù¸½¹âÅ̵ÄChapter05DialogĿ¼ÖÐÕÒµ½£¬°üÀ¨×ÊÔ´½Å±¾ÎļþDialog¡£rc£¬»ã±àÔ´ÎļþDialog¡£asmÒÔ¼°makefileÎļþ£¬Dialog¡£exeÔËÐеĽá¹ûÈçͼ5¡£5Ëùʾ¡£
5¡£4¡£2¡¡¡¡¶Ô»°¿òµÄ×ÊÔ´¶¨Òå
1¡£¡¡¶Ô»°¿ò×ÊÔ´¶¨ÒåµÄÓï·¨
ÔÚ×ÊÔ´½Å±¾Öж¨Òå¶Ô»°¿òµÄÓï·¨ÊÇ£º
¶Ô»°¿òID¡¡¡¡DIALOG¡¡£§DISCARDABLE£§¡¡x×ø±ê£»¡¡y×ø±ê£»¡¡¿í¶È£»¡¡¸ß¶È
£§¿ÉÑ¡ÊôÐÔ£§
BEGIN
¡¡¡¡¡¡¡¡×Ó´°¿Ú¿Ø¼þ
¡¡¡¡¡¡¡¡¡£¡£¡£
END
¶Ô»°¿òÖеÄ×Ó´°¿Ú¿Ø¼þÓï¾ä¶¨ÒåÔÚBEGIN/END£¨µ±È»Ò²¿ÉÒÔÓû¨À¨ºÅ£©Ö®ÖУ¬ÔÚÕâ֮ǰ£¬¿ÉÒÔ¶¨Òå¶Ô»°¿òµÄһЩ¿ÉÑ¡ÊôÐÔ£¬Ã¿ÖÖÊôÐÔµ¥¶ÀÓÃÒ»Ðж¨Ò壬³£ÓõĿÉÑ¡ÊôÐÔÈç±í5¡£3Ëùʾ¡£
±í5¡£3¡¡¡¡¶Ô»°¿òµÄ¿ÉÑ¡ÊôÐÔ
Êô¡¡¡¡¡¡¡¡ÐÔ
¡¡¶¨¡¡Òå¡¡Óï¡¡·¨
¡¡Ëµ¡¡¡¡¡¡¡¡Ã÷
¡¡
±êÌâÎÄ×Ö
¡¡CAPTION¡¡¡¨ÎÄ×Ö¡¨
¡¡¶¨ÒåÏÔʾÔÚ´°¿Ú±êÌâÀ¸ÉϵÄÎÄ×Ö
¡¡
´°¿ÚÀà
¡¡CLASS¡¡¡¨ÀàÃû¡¨
¡¡¶¨Òå¶Ô»°¿ò´°¿ÚʹÓõĴ°¿ÚÀ࣬Èç¹û²»¶¨Ò壬ÔòʹÓÃWindowsÄÚ½¨µÄÀà
¡¡
´°¿Ú·ç¸ñ
¡¡STYLE¡¡·ç¸ñ×éºÏ
¡¡¶¨Òå¶Ô»°¿òµÄ´°¿Ú·ç¸ñ£¬Í¬CreateWindowExÖеÄdwStyle²ÎÊý
¡¡
À©Õ¹·ç¸ñ
¡¡EXSTYLE¡¡·ç¸ñ×éºÏ
¡¡¶¨Òå¶Ô»°¿òµÄÀ©Õ¹´°¿Ú·ç¸ñ£¬Í¬CreateWindowExÖеÄdwExStyle²ÎÊý
¡¡
×ÖÌå
¡¡FONT¡¡´óС£¬¡¨×ÖÌåÃû¡¨
¡¡¶¨Òå¶Ô»°¿ò°üÀ¨×Ó´°¿Ú¿Ø¼þʹÓõÄ×ÖÌå
¡¡
²Ëµ¥
¡¡MENU¡¡²Ëµ¥ID
¡¡¶Ô»°¿òÖÐʹÓõIJ˵¥£¬²Ëµ¥IDÔÚͬһ¸ö×ÊÔ´½Å±¾ÎļþÖж¨Òå
¡¡
ÔÚ±¾½ÚµÄÀý×ÓÖУ¬×ÊÔ´½Å±¾ÎļþDialog¡£rcÊÇÕâÑù¶¨ÒåµÄ£º
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
#include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
#define¡¡¡¡¡¡¡¡ICO_MAIN¡¡¡¡¡¡0x1000¡¡¡¡¡¡¡¡//ͼ±ê
#define¡¡¡¡¡¡¡¡DLG_MAIN¡¡¡¡¡¡1
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
ICO_MAIN¡¡¡¡¡¡ICON¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Main¡£ico¡¨
//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
DLG_MAIN¡¡DIALOG¡¡50£»¡¡50£»¡¡113£»¡¡64
STYLE¡¡DS_MODALFRAME¡¡£ü¡¡WS_POPUP¡¡£ü¡¡WS_VISIBLE¡¡£ü¡¡WS_CAPTION¡¡£ü¡¡WS_SYSMENU
CAPTION¡¡¡¨¶Ô»°¿òÄ£°å¡¨
FONT¡¡9£»¡¡¡¨ËÎÌ塨
£û
¡¡ICON¡¡ICO_MAIN£»¡¡¡1£»¡¡10£»¡¡11£»¡¡18£»¡¡21
¡¡CTEXT¡¡¡¨¼òµ¥µÄ¶Ô»°¿òÀý×ÓnÓÃWin32ASM±àд¡¨£»¡¡¡1£»¡¡36£»¡¡14£»¡¡70£»¡¡19
¡¡DEFPUSHBUTTON¡¡¡¨Í˳ö£¨&X£©¡¨£»¡¡IDOK£»¡¡58£»¡¡46£»¡¡50£»¡¡14
¡¡CONTROL¡¡¡¨¡¨£»¡¡¡1£»¡¡¡¨Static¡¨£»¡¡SS_ETCHEDHORZ¡¡£ü¡¡WS_CHILD¡¡£ü¡¡WS_VISIBLE£»¡¡6£»¡¡39£»¡¡103£»¡¡1
£ý
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ5Õ¡¡Ê¹ÓÃ×ÊÔ´
5¡£4¡¡¶Ô¡¡»°¡¡¿ò£¨2£©
¡¡¡¡¡¡¡¡
½Å±¾ÎļþÖгýÁ˶¨Òåͼ±êÒÔÍ⣬ÁíÍ⻹¶¨ÒåÁËÒ»¸öIDΪ1µÄ¶Ô»°¿ò£¬¶Ô»°¿òÖÐÓÐ4¸ö×Ó´°¿Ú¿Ø¼þ£¬·Ö±ðÊÇͼ±ê¡¢Îı¾¡¢°´Å¥ºÍÒ»¸öºáÏߣ¬°´Å¥µÄIDΪIDOK£¬ÆäËûµÄ×Ó´°¿Ú¿Ø¼þÓÉÓÚÊǾ²Ì¬¿Ø¼þ£¬²»»áÏò¶Ô»°¿ò¹ý³Ì·¢ËÍÃüÁËùÒÔID¾ÍÉèÖÃΪ£¿1£¬ÕâЩ¿Ø¼þµÄ¾ßÌåÓ÷¨½«ÔÚºóÃæµÄÄÚÈÝÖÐÏêϸ½éÉÜ¡£
¶¨ÒåÖл¹Ö¸¶¨ÁËһЩ¿ÉÑ¡ÊôÐÔ£¬STYLEÓï¾ä¶¨ÒåÁ˶Ի°¿ò´°¿ÚµÄ·ç¸ñ£¬CAPTIONÓï¾ä°Ñ±êÌⶨÒåΪ¡°¶Ô»°¿òÄ£°å¡±£¬FONTÓï¾äÖ¸¶¨Á˶Ի°¿òʹÓõÄ×ÖÌåÊÇ´óСΪ9µÄËÎÌå¡£
¶Ô»°¿òµÄλÖÃΪ£¨50£¬50£©£¬´óСΪ¿í113µ¥Î»¡¢¸ß64µ¥Î»£¬¶ÁÕß¿ÉÄÜÒѾעÒâµ½£ºÕâ¸ö¶Ô»°¿òµÄ´óСºÃÏñ±È¿í113ÏñËØ¡¢¸ß64ÏñËصĴ°¿ÚÒª´ó£¬ÊÂʵÉϵÄÈ·Èç´Ë£¬ÕâÒ²ÕýÊÇ´óСÊÇ¡°µ¥Î»¡±¶ø²»ÊÇ¡°ÏñËØ¡±µÄÔÒò¡£¶Ô»°¿òµÄλÖᢴóСÒÔ¼°ËùÓÐ×Ó´°¿Ú¿Ø¼þµÄ¶ÈÁ¿µ¥Î»ÊǸù¾Ýϵͳ×ÖÌåµÄ´óСÀ´¾ö¶¨µÄ£¬ºáÏò£¨x×ø±êºÍ¿í¶È£©Ã¿µ¥Î»ÎªÏµÍ³×Ö·ûƽ¾ù¿í¶ÈµÄ1/4£¬×ÝÏò£¨y×ø±êºÍ¸ß¶È£©Ã¿µ¥Î»Îª×Ö·ûƽ¾ù¸ß¶ÈµÄ1/8£¬ÓÉÓÚϵͳ×ÖÌåµÄ×Ö·û¸ß¶È´óÖÂΪ¿í¶ÈµÄÁ½±¶£¬ËùÒÔËäÈ»ÕâÖÖ¼ÆËã·½·¨ÓÐЩ·Ñ½â£¬µ«ºáÏòºÍ×ÝÏòµÄÊýÖµÔÚÊÓ¾õÉÏ»¹ÊdzɱÈÀýµÄ£¬µ«ºÍÒÔ¡°ÏñËØ¡±Îªµ¥Î»ÔÚÊýÖµÉϿ϶¨ÊDz»Í¬µÄ¡£Èç¹û¶ÁÕßÒ»¶¨ÒªÖªµÀÕâ¸öÖµ»»Ëã³ÉÏñËغóÊǶàÉÙ£¬ÄÇô¿ÉÒÔÓÃGetDialogBaseUnitsº¯ÊýÀ´»ñȡϵͳ×ÖÌåµÄ¸ß¶ÈºÍ¿í¶ÈÔÙ½øÐмÆËã¡£
µ±Ò»Ð©Ó¢ÎÄ°æµÄÈí¼þÔÚÖÐÎÄWindowsÉÏÔËÐеÄʱºò£¬¶Ô»°¿òÖÐÓÐЩÎı¾ÍùÍù±»¿³µôÁËβ°Í£¬ÔÒò¾ÍÊÇÕâЩ³ÌÐòÊÇÔÚÓ¢ÎÄWindowsÉϵ÷ÊԵģ¬Îı¾¿òµÄ³ß´çÊÇÒÔÓ¢ÎÄWindowsϵͳ×Ö·ûµÄ´óСÀ´¶ÈÁ¿µÄ£¬µ½ÁËÆäËûÓïÑÔµÄWindowsÉϺó£¬ÏµÍ³×Ö·ûµÄ´óС¿ÉÄܸı䣬¶Ô»°¿òµÄ´óСҲËæןı䣬½á¹û¾ÍÊÇÔÀ´¸ÕºÃµÄ¿í¶È¿ÉÄÜ»á±äµÃ²»¹»£¬ÕâÒ²ËãÊǶԻ°¿ò³ß´ç¶ÈÁ¿·½·¨µÄȱµã°É£¡
¡¡¡¡¡¡¡¡Ê¹ÓÃÎı¾±à¼Æ÷Ö±½ÓÊéд¶Ô»°¿ò½Å±¾¶¨Òå²»ÊǺÜÖ±¹Û£¬ËùÒÔÔÚ´´½¨¶Ô»°¿ò×ÊԴʱ×îºÃʹÓÿÉÊÓ»¯µÄ×ÊÔ´±à¼Æ÷£¬ÈçVC£«£«»òResourceWorkshopµÈ¡£
ÔÚ×Ó´°¿Ú¿Ø¼þµÄID¶¨ÒåÖÐÓÐÁ½¸öÌØÊâµÄIDÖµ¡ª¡ªIDOKºÍIDCANCEL£¬ÔÚResource¡£hÖÐËüÃǵÄÖµ¶¨ÒåΪ1ºÍ2£¬IDOKÊÇĬÈϵġ°È·¶¨¡±ID£¬IDCANCELÊÇĬÈϵġ°È¡Ïû¡±ID¡£Èç¹ûÒ»¸ö°´Å¥µÄIDÊÇIDOK£¬µ±½¹µãûÓÐÍ£ÁôÔÚÆäËû°´Å¥ÉϵÄʱºò£¬ÔÚÈκεط½°´Ï»سµ¼ü¾ÍÏ൱ÓÚ°´ÏÂÁËÕâ¸ö°´Å¥£¬¶ø°´ÏÂEsc¼üµÄʱºò£¬¾ÍÏ൱ÓÚ°´ÏÂÁËIDΪIDCANCELµÄ°´Å¥¡£
2¡£¡¡TabÍ£ÁôλºÍ×é
¶Ô»°¿òÖпÉÒÔ¶¨Òå¶à¸ö×Ó´°¿Ú¿Ø¼þ£¬ÓеÄ×Ó´°¿Ú¿Ø¼þ¿ÉÒÔÓµÓÐÊäÈë½¹µã£¨Èç°´Å¥¡¢Îı¾¿òÓë×éºÏ¿òµÈ£©£¬ÓÐЩÔò²»ÄÜ£¨Èçͼ±êÓëÎı¾µÈ£©£¬µ±¶Ô»°¿òÖÐÓжà¸öÔÊÐíÓµÓÐÊäÈë½¹µãµÄ×Ó´°¿Ú¿Ø¼þʱ£¨ÓÐWS_TABSTOP·ç¸ñ£©£¬Óû§¿ÉÒÔÓÃTab¼ü½«ÊäÈë½¹µãÇл»µ½ÏÂÒ»¸öÓÐWS_TABSTOP·ç¸ñµÄ×Ó´°¿Ú¿Ø¼þÉÏ£¬Ò²¿ÉÒÔÓÃShift£«Tab¼üÇл»µ½ÉÏÒ»¸ö£¬Tab¼üÇл»µÄ˳Ðò¾Í½Ð×öTabÍ£Áôλ¡£
TabÍ£Áôλ²¢²»ÊÇϵͳ¸ù¾Ý×Ó´°¿Ú¿Ø¼þµÄ×ø±êλÖÃ×Ô¶¯ÅÅÁеģ¬¶øÊÇ°´ÕÕ×Ó´°¿Ú¿Ø¼þÔÚ×ÊÔ´½Å±¾ÎļþÖеĶ¨Òå˳ÐòÀ´ÅÅÁеģ¬ËùÒÔ¶ÁÕßÔÚ¶¨ÒåµÄʱºò×îºÃ¸ù¾Ý×Ó´°¿Ú¿Ø¼þµÄλÖÃÊʵ±ÅÅÁÐÓï¾äµÄÏȺó£¬ÒÔÃâ°´¶¯Tab¼üÇл»µÄʱºò½¹µãÉÏÏÂ×óÓÒÎÞ¹æÔòµØÌøÀ´ÌøÈ¥¡£Èç¹ûʹÓÿÉÊÓ»¯µÄ×ÊÔ´±à¼Æ÷£¬ÄÇô²Ëµ¥ÖÐÒ»°ã»áÓС°TabÍ£Áôλ¡±²Ëµ¥ÏÔÚ±à¼Íê³ÉºóÒ²Òª½øµ½Õâ¸ö²Ëµ¥ÏîÖÐÉèÖÃһϣ¬×ÊÔ´±à¼Æ÷»á¸ù¾ÝÉèÖõ÷ÕûrcÎļþÖж¨ÒåÓï¾äµÄÏȺó˳Ðò¡£
¶Ô»°¿òÖÐÍùÍùÓÐһЩÅÅÁÐÔÚÒ»ÆðµÄͬÀà×Ó´°¿Ú¿Ø¼þ£¬È缸¸öµ¥Ñ¡Å¥£¬¼¸¸öµ¥Ñ¡Å¥Ö®¼äµÄÑ¡Öбê¼ÇÊÇ»¥³âµÄ£¬ÔÚ¶Ô»°¿òµÄÆäËûµØ·½¿ÉÄÜÓÖÓÐÒ»×黥³âµÄµ¥Ñ¡Å¥ÓÃÀ´´ú±íÆäËû¹¦ÄÜ£¬ÔÚ¶Ô»°¿òÖй涨ËùÓеĵ¥Ñ¡Å¥¶¼ÊÇ»¥³âµÄÏÔÈ»²»ÏÖʵ£¬½â¾öµÄ·½·¨¾ÍÊǽ«²»Í¬µÄ×Ó´°¿Ú¿Ø¼þ¡¡¡°·Ö×顱£¬Õâ¾ÍÊÇ¡°×顱µÄº¬Ò塣ʹÓÃÖпÉÒÔÑ¡ÔñһЩ×Ó´°¿Ú¿Ø¼þ¶¨ÒåWS_GROUPÊôÐÔ£¬Á½¸öÓÐWS_GROUPÊôÐÔµÄ×Ó´°¿Ú¿Ø¼þÖ®¼äµÄËùÓÐ×Ó´°¿Ú¿Ø¼þͬÊôͬһ×é¡£
5¡£4¡£3¡¡¡¡Ê¹ÓöԻ°¿ò
ʹÓöԻ°¿òµÄ´úÂë·ÖΪ´´½¨²¿·ÖºÍ¶Ô»°¿ò¹ý³ÌÁ½¸ö²¿·Ö¡£ÏÈ¿´Dialog¡£asmµÄÔ´´úÂ룬ÔÙ·ÖÎö¾ßÌåµÄʹÓùý³Ì£¬Ô´´úÂëÈçÏ£º
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£386
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£model¡¡flat£»¡¡stdcall
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡option¡¡casemap¡¡£ºnone
£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·
£»¡¡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·µ»Øºó£¬Ó¦Ó
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡