°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
»¹»¡£ÔÚ±¾ÕÂÖУ¬±ÊÕßÏ£Íûͨ¹ý¼¸¸öÀý×Ó£¬ÈöÁÕßÄÜÁ˽âGDIµÄÔÀíºÍ»ù±¾µÄʹÓ÷½·¨¡£
¹éÄÉÆðÀ´£¬GDI²Ù×÷¿ÉÒÔ´Ó3¸ö·½ÃæÈ¥Á˽⡪¡ªWhen£¬WhereºÍHow£º
¡ñ¡¡¡¡¡¡When¡ª¡ªÖ¸µÄÊǽøÐÐͼÐβÙ×÷µÄʱ»ú£¬¾¿¾¹Ê²Ã´Ê±¿Ì×îÊʺϳÌÐò½øÐÐͼÐβÙ×÷ÄØ£¿ÔÚ7¡£1¡£1½Ú¡°GDI³ÌÐòµÄ½á¹¹¡±ÖУ¬½«Ì½ÌÖÕâ¸öÎÊÌâ¡£
¡ñ¡¡¡¡¡¡Where¡ª¡ªÖ¸µÄÊÇͼÐθÃÍùÄÄÀﻣ¬¼ÈÈ»Windows¸ôÀëÁËÓ²¼þͼÐÎÉ豸£¬ÄÇô¸Ã°ÑʲôµØ·½µ±×ö¡°Ï±ʡ±µÄµØ·½ÄØ£¿7¡£1¡£2½ÚµÄ¡°É豸»·¾³¡±¾ÍÊǽâ´ð¡£
¡ñ¡¡¡¡¡¡How¡ª¡ªÁ˽âÁËÉÏÃæÁ½¸öÎÊÌâºó£¬×îºó»¹ÒªÖªµÀ¡°ÈçºÎ»¡±£¬Õâ¾ÍÉæ¼°ÈçºÎʹÓô󲿷ÖGDIº¯ÊýµÄÎÊÌâÁË£¬ÔÚ±¾ÕÂÓàÏÂÀ´µÄƪ·ùÖУ¬½«¼¯ÖÐÌÖÂÛÕâ¸öÎÊÌâ¡£
7¡£1¡£1¡¡¡¡GDI³ÌÐòµÄ½á¹¹
1¡£¡¡¿Í»§ÇøµÄË¢ÐÂ
ÕýÈçÉÏÃæËù˵µÄ£¬±¾½ÚÌÖÂÛµÄÊÇ¡°When¡±µÄÎÊÌ⣬¶ÁÕß¿ÉÄÜ»áÎÊ£ºÎªÊ²Ã´»áÓÐÕâ¸öÎÊÌ⣬Èç¹ûÒªÏò´°¿ÚÊä³öͼÐΣ¬³ÌÐòÏëÔÚʲôʱºòÊä³öÄǾÍÊÇʲôʱºò£¬ÄѵÀÕâ¸öʱ¿Ì»¹Óй涨²»³É£¿
µ«Õâ¸öÎÊÌâËƺõ²»ÄÜÕâÑùÀ´ÎÊ£¬ÈÃÎÒÃÇÀ´¿¼ÂÇÕâЩÇé¿ö£ºÔÚDOS²Ù×÷ϵͳÖбà³ÌµÄʱºò£¬³ÌÐò°ÑÎÄ×Ö»òͼÐÎÊä³öµ½ÆÁÄ»£¬ÔÚÊä³öеÄÄÚÈÝ֮ǰ£¬ÕâЩÄÚÈÝ×ÜÊDZ£ÁôÔÚÆÁĻԴ¦£¬ÕâЩÄÚÈݻᱻÒâÍ⸲¸ÇµÄΩһÇé¿öÊǼ¤»îÒ»¸öTSR³ÌÐò£¬µ«TSR³ÌÐòÔÚÍ˳ö֮ǰÓÐÒåÎñ»Ö¸´ÔÀ´µÄÆÁÄ»£¬Èç¹ûËüÎÞ·¨»Ö¸´ÆÁÄ»µÄÄÚÈÝ£¬ÄÇôÕâÊÇËüµÄÔðÈΣ¬ÎÒÃDz»»áÔÚ×Ô¼ºµÄ³ÌÐòÖÐÈ¥¿¼ÂÇÆÁÄ»ÄÚÈÝ»áÎÞÔµÎÞ¹ÊÏûʧÕâÖÖÇé¿ö£¬ËùÒÔ¿ÉÒÔ°ÑÆÁÄ»¿´³ÉÊÇÓ¦ÓóÌÐò˽Óеġ£
Èç¹û³ÌÐòÊä³öµÄÄÚÈݹý¶à£¬ÈçÓÃdirÏÔʾһ¸öº¬ÓкܶàÎļþµÄĿ¼£¬Óû§¸ù±¾ÎÞ·¨¿´Çå¿ìËÙÉÏ·µÄÆÁÄ»£¬Õâʱ³ÌÐò¿ÉÒÔÉè¼ÆÒ»¸ö²ÎÊýÀ´ÔÝͣһϣ¬Èçdir¡¡/p¡£ÕâÒѾÊÇDOS³ÌÐò×î¡°ÌåÌù¡±µÄ×ö·¨ÁË£¬Èç¹ûÓû§Ïë»Ø¹ýÍ·È¥¿´ÒѾ¹ö³öÆÁÄ»µÄÄÚÈÝ£¬ÄǿɶԲ»Æð£¬Ö»ÄÜÔÙÖ´ÐÐÒ»±éÁË£¡
ËùÒÔ¶ÔDOS³ÌÐòÀ´Ëµ£¬³ÌÐòÏëÔÚʲôʱºòÊä³öÐÅÏ¢ÄǾÍÊÇʲôʱºò£¬¸ù±¾²»´æÔÚWhenÕâ¸öÎÊÌâ¡£
µ«ÔÚWindows²Ù×÷ϵͳÖУ¬ÆÁÄ»ÊǶà¸ö³ÌÐò¡°¹«Óᱵģ¬Óû§³ÌÐò²»ÒªÖ¸ÍûÊä³öµ½´°¿ÚÖеÄÄÚÈݾ¹ýÒ»¶Îʱ¼äºó»¹»á±£ÁôÔÚÄÇÀËüÃÇ¿ÉÄܱ»±ðµÄ¶«Î÷¸²¸Ç£¬ÈçÆäËû´°¿Ú¡¢Êó±ê¼ýÍ·»òÏÂÀµÄ²Ëµ¥µÈ¡£ÔÚWindowsÖУ¬»Ö¸´±»¸²¸ÇÄÚÈݵÄÔðÈδ󲿷ÖÊôÓÚÓû§³ÌÐò×Ô¼º£¬ÀíÓɺܼòµ¥£ºWindowsÊǸö¶àÈÎÎñµÄ²Ù×÷ϵͳ£¬¼ÙÈç³ÌÐòB¸²¸ÇÁ˳ÌÐòAµÄ´°¿ÚÄÚÈÝ£¬¸²¸ÇµôµÄÄÚÈÝÓɳÌÐòB¸ºÔð»Ö¸´µÄ»°£¬Ëü¾Í±ØÐë±£´æËü¸²¸ÇµôµÄÄÚÈÝ£¬µ«ÊÇÔÚËü½«±£´æµÄÄÚÈݻָ´Ö®Ç°£¬³ÌÐòAÒ²ÔÚÔËÐУ¬²¢¿ÉÄÜÔÚ³ÌÐòB»Ö¸´ÒÔÇ°ÒѾÏòËü×Ô¼ºµÄ´°¿ÚÊä³öеÄÄÚÈÝ£¬½á¹ûµ±³ÌÐòB»Ö¸´Ëü±£´æµÄ´°¿ÚÄÚÈÝʱ£¬±£´æµÄÄÚÈÝ¿ÉÄÜÊǹýʱµÄ£¨¶øDOSµÄÇé¿ö¾Í²»Í¬£¬TSR³ÌÐò¼¤»îµÄʱºò£¬Óû§³ÌÐòÊDZ»¹ÒÆðµÄ£©£¬ËùÒÔ×îºÃµÄ°ì·¨¾ÍÊÇÈóÌÐòA×Ô¼ºÀ´¾ö¶¨ÈçºÎ»Ö¸´¡£
Windowsϵͳ²ÉÓõķ½·¨ÊÇ£ºµ±Windows¼ì²âµ½´°¿Ú±»¸²¸ÇµÄµØ·½ÐèÒª»Ö¸´µÄʱºò£¬Ëü»áÏòÓû§³ÌÐò·¢ËÍÒ»¸öWM_PAINTÏûÏ¢£¬ÏûÏ¢ÖаüÀ¨ÁËÐèÒª»Ö¸´µÄÇøÓò£¬È»ºóÓÉÓû§³ÌÐòÀ´¾ö¶¨ÈçºÎ»Ö¸´±»¸²¸ÇµÄÄÚÈÝ¡£
Èç¹û³ÌÐòÒòΪæÓÚ´¦ÀíÆäËûÊÂÎñÒÔÖÁÓÚÎÞ·¨¼°Ê±ÏìÓ¦WM_PAINTÏûÏ¢£¬ÄÇô´°¿Ú¿Í»§ÇøÔÏȱ»¸²¸ÇµÄµØ·½¿ÉÄܻᱻWindowsÔÝʱ»³ÉÒ»¿é°×É«£¨»òÕß±³¾°É«£©µÄ¾ØÐΣ¬»òÕ߸ù±¾¾ÍÊDZ£Áô±»¸²¸ÇʱµÄÇéÐΣ¬Ö±µ½³ÌÐòÓÐʱ¼äÈ¥ÏìÓ¦WM_PAINTÏûϢΪֹ¡£ÎÒÃdz£³£¿ÉÒÔ¿´µ½ÕâÖÖÇé¿ö·¢ÉúÔÚËÀËø³ÌÐòµÄ¿Í»§ÇøÄÚ£¬Õâ¾ÍÊÇÒòΪËÀËøµÄ³ÌÐòÎÞ·¨ÏìÓ¦WM_PAINTÏûÏ¢À´»Ö¸´¿Í»§ÇøÔì³ÉµÄ¡£
ËùÒÔ¶ÔÓÚ¡°When¡±Õâ¸öÎÊÌ⣬´ð°¸ÊÇ£º³ÌÐòÓ¦¸ÃÔÚWindowsÒªÇóµÄʱºò»æ»¿Í»§Çø£¬Ò²¾ÍÊÇÔÚÊÕµ½WM_PAINTÏûÏ¢µÄʱºò¡£Èç¹û³ÌÐòÐèÒªÖ÷¶¯Ë¢Ð¿ͻ§Çø£¬ÄÇô¿ÉÒÔͨ¹ýµ÷ÓÃInvalidateRectµÈº¯ÊýÒý·¢Ò»ÌõWM_PAINTÏûÏ¢£¬ÒòΪÔÚWM_PAINTÏûÏ¢ÖÐˢпͻ§ÇøµÄ´úÂëÊDZØÐë´æÔڵģ¬ËùÒÔÓÃÕâÖÖ¿´ËÆ¡°Éá½üÇóÔ¶¡±µÄ°ì·¨Êµ¼ÊÉÏ¿ÉÒÔ½ÚÊ¡Ò»·ÝÖظ´µÄ´úÂë¡£¼´Ê¹ÊÇÔÚÓÎÏ·³ÌÐòÕâÖÖ¡°Ö÷¶¯Ë¢Ð¡±Ô¶Ô¶¶àÓÚ¡°±»¶¯Ë¢Ð¡±µÄ³ÌÐòÖУ¬Ö»Òª´°¿ÚÓб»ÆäËû¶«Î÷¸²¸ÇµÄ¿ÉÄÜ£¬ÄÇôÕâ¸öÔÔò¾ÍÊÇÊÊÓõġ£
2¡£¡¡GDI³ÌÐòµÄ½á¹¹
¶ÔÓÚWin32³ÌÐòÀ´Ëµ£¬WM_PAINTÏûÏ¢Ëæʱ¿ÉÄÜ·¢Éú£¬Õâ¾ÍÒâζ×Å£¬³ÌÐòÔÙÒ²²»ÄÜÏñÔÚDOSÏÂÒ»ÑùÊä³ö½á¹ûºó¾Í²»¹ÜÁË£¬·´¹ýÀ´£¬³ÌÐòÔÚÈκÎʱ¿Ì¶¼Ó¦¸ÃÖªµÀÈçºÎ»Ö¸´Õû¸ö»ò¾Ö²¿¿Í»§ÇøÖÐÒÔÇ°Êä³öµÄÄÚÈÝ£¬±¾×ÅÕâ¸öÒªÇ󣬿ÉÒÔ°´Í¼7¡£1ËùʾÀ´°²ÅųÌÐò½á¹¹¡£
ͼ7¡£1¡¡¡¡GDI³ÌÐòµÄ½á¹¹
Èç¹û³ÌÐòµÄ¹¦ÄܱȽϼòµ¥£¬¿ÉÒÔ²ÉȡͼÖÐ×ó±ßµÄA³ÌÐò½á¹¹£¬¼´¼ÆËã¼°Ë¢ÐÂÕû¸ö¿Í»§ÇøµÄ´úÂëÈ«²¿°²ÅÅÔÚWM_PAINTÏûÏ¢ÖÐÍê³É£¬ÕâÑù£¬Ã¿´Îµ±¿Í»§ÇøµÄÈ«²¿»ò²¿·ÖÐèÒª±»¸üеÄʱºò£¬³ÌÐòÖØÐÂÖ´ÐÐÕû¸öÉú³É¿Í»§ÇøÆÁÄ»Êý¾ÝµÄ¹¦ÄÜÄ£¿é²¢Ë¢Ð¿ͻ§Çø¡£ÕâÖֽṹÊÊÓÃÓÚ¹¦ÄÜÄ£¿éºÜ¶ÌСÇÒÖ´ÐÐËٶȺܿìµÄÇé¿ö£¬Õû¸ö¹ý³ÌµÄʱ¼ä×îºÃ²»³¬¹ý¼¸°Ùms£¬·ñÔò£¬Óû§»áÔÚÒ»¸öÃ÷ÏԵĵȴýʱ¼äºó²Å¿´µ½³ÌÐò°Ñ¿Í»§ÇøÖеġ°¿Õ¶´¡±²¹ÉÏ¡£¿¼ÂÇÒ»¸ö¼«¶ËµÄÇé¿ö£ºµ±³ÌÐòÊä³öµÄÄÚÈÝÊǾ¹ýǧÐÁÍò¿à²ÅËã³öÀ´µÄ¡ª¡ªÕâ²»ÊÇÒ»¼þÆæ¹ÖµÄÊÂÇ飬¼ÆËãÔ²ÖÜÂʵijÌÐò¾ÍÒª¶¯éü¼ÆË㼸¸öСʱ¡ª¡ªÄÇô¼´Ê¹¿Í»§Çø±»±ðµÄ´°¿Ú¸²¸ÇµôÒ»µãµã£¬³ÌÐòÒ²Òª¾¹ýÕû¸ö¼ÆËã¹ý³Ìºó²ÅÄÜÖØ»¿Í»§Çø£¬¶øÇÒÔÚÕâ¸ö¹ý³ÌÖУ¬³ÌÐò»¹Ã»ÓдÓWM_PAINTÏûÏ¢·µ»Ø£¬ÒÔÖÁÓÚÎÞ·¨´¦ÀíÆäËûÏûÏ¢£¬½á¹û³ÌÐò¾Í»áÒÔ¿Í»§ÇøÖÐÓиö¿Õ¶´µÄÄÑ¿´×ËÊÆ´ôÔÚÆÁÄ»ÉÏÒ»¶¯²»¶¯´ï¼¸¸öСʱ£¡
µ±Éú³ÉÆÁÄ»Êý¾ÝµÄ¹¦ÄÜÄ£¿éÓÐЩ¸´ÔÓµÄʱºò£¬Èç¸Õ²Å¼ÆËãÔ²ÖÜÂʵÄÀý×Ó£¬¾ÍÓ¦¸Ã¿¼ÂDzÉÓÃͼÖÐB³ÌÐòËùʾµÄ½á¹¹ÁË¡£ÔÚÕâ¸ö³ÌÐòÖУ¬¹¦ÄÜÄ£¿éºÍ¿Í»§ÇøË¢ÐÂÄ£¿é·Ö±ðÔÚ²»Í¬µÄ×Ó³ÌÐòÖÐʵÏÖ£¬¹¦ÄÜÄ£¿éµ¥¶ÀÓÃÒ»¸ö×Ó³ÌÐòÍê³É£¬Õâ¸ö×Ó³ÌÐò¿ÉÒÔÓÉÓû§Í¨¹ýÑ¡Ôñ²Ëµ¥ÏîÔÚWM_MANDÏûÏ¢ÖÐÖ´ÐУ¬Ò²¿ÉÒÔн¨ÁíÍâÒ»¸öÏß³ÌÀ´Íê³É£¬×ÜÖ®£¬Ëü×îºó°Ñ¼ÆËã½á¹û·Åµ½Ò»¸ö»º³åÇøÖУ¬¶øÿµ±¿Í»§ÇøÐèҪˢÐÂʱ£¬³ÌÐòÔÚWM_PAINTÏûÏ¢Öе÷Óÿͻ§ÇøË¢ÐÂ×Ó³ÌÐò£¬Õâ¸ö×Ó³ÌÐò´Ó¼ÆËãºÃµÄ»º³åÇøÖÐÈ¡³öÊý¾Ý²¢Êä³öµ½¿Í»§ÇøÖУ¬ÓÉÓÚµ¥´¿µÄÆÁĻˢйý³ÌÊǺܿìµÄ£¬ËùÒÔÓû§¸ù±¾À´²»¼°¿´µ½¿Í»§ÇøÖеĿն´¡£
ÔÚ±¾ÕºóÃæµÄÄÚÈÝÖÐÓÐÁ½¸öʱÖÓµÄÀý×Ó£ºClock¡£exeºÍBmpClock¡£exe£¬Ç°ÃæÒ»¸öÀý×Ó²ÉÓõÄÊÇA½á¹¹£¬ºóÃæÒ»¸öÀý×Ó²ÉÓõÄÊÇB½á¹¹£¬¶ÁÕßÔÚÔĶÁµÄʱºò¿ÉÒԱȽÏÒ»ÏÂËüÃÇÔڽṹÉϵIJ»Í¬¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ7Õ¡¡Í¼ÐβÙ×÷
7¡£1¡¡GDIÔÀí£¨2£©
¡¡¡¡¡¡¡¡
3¡£¡¡Ì½ÌÖWM_PAINTÏûÏ¢
µ±¿Í»§Çø±»¸²¸Ç²¢ÖØÐÂÏÔʾµÄʱºò£¬Windows²¢²»ÊÇÔÚËùÓеÄÇé¿ö϶¼·¢ËÍWM_PAINTÏûÏ¢£¬ÏÂÃæÊǼ¸ÖÖ²»Í¬µÄÇé¿ö£º
¡ñ¡¡¡¡¡¡µ±Êó±ê¹â±êÒƹý´°¿Ú¿Í»§ÇøÒÔ¼°Í¼±êÍϹý¿Í»§ÇøÕâÁ½ÖÖÇé¿ö£¬Windows×ÜÊÇ×Ô¼º±£´æ±»¸²¸ÇµÄÇøÓò²¢»Ö¸´Ëü£¬²¢²»ÐèÒª·¢ËÍWM_PAINTÏûϢ֪ͨÓû§³ÌÐò¡£
¡ñ¡¡¡¡¡¡µ±´°¿Ú¿Í»§Çø±»×Ô¼ºµÄÏÂÀʽ²Ëµ¥¸²¸Ç£¬»òÕß±»×Ô¼ºµ¯³öµÄ¶Ô»°¿ò¸²¸Çºó£¬Windows»á³¢ÊÔ±£´æ±»¸²¸ÇµÄÇøÓò²¢ÔÚÒÔºó»Ö¸´Ëü£¬Èç¹ûÒòΪijÖÖÔÒòÎÞ·¨±£´æ²¢»Ö¸´µÄ»°£¬Windows»á·¢ËÍÒ»¸öWM_PAINTÏûϢ֪ͨ³ÌÐò¡£
¡ñ¡¡¡¡¡¡±ðµÄÇé¿öÔì³É´°¿ÚµÄÒ»²¿·Ö´Ó²»¿É¼û±äµ½¿É¼û£¬Èç³ÌÐò´Ó×îС»¯µÄ״̬»Ö¸´£¬ÆäËûµÄ´°¿Ú¸²¸Ç¿Í»§ÇøºóÒÆ¿ª£¬Óû§¸Ä±äÁË´°¿ÚµÄ´óСºÍÓû§°´¶¯¹ö¶¯ÌõµÈ£¬ÔÚÕâЩÇé¿öÏ£¬Windows»áÏò´°¿Ú·¢ËÍWM_PAINTÏûÏ¢¡£
¡ñ¡¡¡¡¡¡Ò»Ð©º¯Êý»áÒý·¢WM_PAINTÏûÏ¢£¬ÈçUpdateWindow£¬InvalidateRectÒÔ¼°InvalidateRgnº¯ÊýµÈ¡£
´°¿Ú¹ý³ÌÊÕµ½WM_PAINTÏûÏ¢ºó£¬²¢²»´ú±íÕû¸ö¿Í»§Çø¶¼ÐèÒª±»Ë¢Ð£¬ÓпÉÄÜ¿Í»§Çø±»¸²¸ÇµÄÇøÓòÖ»ÓÐһС¿é£¬Õâ¸öÇøÓò¾Í½Ð×ö¡°ÎÞЧÇøÓò¡±£¬³ÌÐòÖ»ÐèÒª¸üÐÂÕâ¸öÇøÓò¡£
ºÍWM_TIMERÏûÏ¢ÀàËÆ£¬WM_PAINTÏûÏ¢Ò²ÊÇÒ»¸öµÍ¼¶±ðµÄÏûÏ¢£¬ËäÈ»Ëü²»»áÏñWM_TIMERÏûÏ¢Ò»Ñù±»¶ªÆú£¬µ«Windows×ÜÊÇÔÚÏûϢѻ·¿ÕµÄʱºò²Å°ÑWM_PAINT·ÅÈëÆäÖУ¬Êµ¼ÊÉÏ£¬WindowsΪÿ¸ö´°¿Úά»¤Ò»¸ö¡°»æͼÐÅÏ¢½á¹¹¡±£¬ÎÞЧÇøÓòµÄ×ø±ê¾ÍÔÚÆäÖУ¬Ã¿µ±ÏûϢѻ·¿ÕµÄʱºò£¬Èç¹ûWindows·¢ÏÖ´æÔÚÒ»¸öÎÞЧÇøÓò£¬¾Í»á·ÅÈëÒ»¸öWM_PAINTÏûÏ¢¡£
ÎÞЧÇøÓòµÄ×ø±ê²¢²»¸½´øÔÚWM_PAINTÏûÏ¢µÄ²ÎÊýÖУ¬ÔÚ³ÌÐòÖÐÓÐÆäËû·½·¨¿ÉÒÔ»ñÈ¡£¬WM_PAINTÏûÏ¢Ö»ÊÇ֪ͨ³ÌÐòÓиöÇøÓòÐèÒª¸üжøÒÑ£¬ËùÒÔWindowsÒ²²»»áͬʱ½«Á½ÌõWM_PAINTÏûÏ¢·ÅÈëÏûϢѻ·£¬µ±WindowsÒª·ÅÈëÒ»ÌõWM_PAINTÏûÏ¢µÄʱºò£¬Èç¹û·¢ÏÖÒѾ´æÔÚÒ»¸öÎÞЧÇøÓòÁË£¬ÄÇôËüÖ»ÐèÒª°ÑоÉÁ½¸öÎÞЧÇøÓòºÏ²¢¼ÆËã³öÒ»¸öеÄÎÞЧÇøÓò¾Í¿ÉÒÔÁË£¬ÏûϢѻ·Öл¹ÊÇÖ»ÐèÒªÒ»ÌõWM_PAINTÏûÏ¢¡£
ÓÉÓÚ´æÔÚ¡°ÎÞЧÇøÓò¡±ÕâÑùÒ»¸ö¶«Î÷£¬ËùÒÔ³ÌÐòÔÚWM_PAINTÏûÏ¢ÖжԿͻ§ÇøË¢ÐÂÍê±Ïºó¹¤×÷²¢Ã»ÓнáÊø£¬Èç¹û²»Ê¹ÎÞЧÇøÓò±äµÃÓÐЧ£¬Windows»áÔÚÏÂÒ»ÂÖÏûϢѻ·ÖмÌÐø·ÅÈëÒ»¸öWM_PAINTÏûÏ¢¡£»¹¼ÇµÃ4¡£4¡£2½ÚÖеÄʵÑé4Âð£¬Èç¹ûûÓÐÕâ¸ö»·½Ú£¬WM_PAINTÏûÏ¢¾Í»áÔ´Ô´²»¶ÏµØ·¢¹ýÀ´£¡ÄǸöʵÑéÖÐÎÒÃDz¢Ã»ÓÐȥˢпͻ§Çø£¬¶øÊǼòµ¥µØÓÃÒ»¸öValidateRectº¯ÊýÖ±½ÓÈÿͻ§Çø±äµÃÓÐЧ£¬ÒÔ´ËÀ´¡°ÆÛÆ¡±WindowsÒѾûÓÐÎÞЧÇøÓòÁË£¬µ±Windows¼ì²é¡°»æͼÐÅÏ¢½á¹¹¡±µÄʱºò·¢ÏÖûÓÐÁËÎÞЧÇøÓò£¬Ò²¾Í²»»á¼ÌÐø·¢ËÍWM_PAINTÏûÏ¢ÁË¡£
WM_PAINTÏûÏ¢µÄ´¦ÀíÁ÷³ÌÒ»°ãÊÇ£º
¡£if¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡¡¡¡¡WM_PAINT¡¡¡¡¡¡£»eaxΪuMsg
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡BeginPaint£»hWnd£»addr¡¡stPS
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Ë¢Ð¿ͻ§ÇøµÄ´úÂë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡EndPaint£»hWnd£»addr¡¡stPS
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xor¡¡¡¡¡¡¡¡¡¡¡¡eax£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¶ÁÕß¿ÉÒÔ·¢ÏÖÖм䲢ûÓе÷ÓÃValidateRectÀ´Ê¹ÎÞЧÇøÓò±äµÃÓÐЧ£¬ÕâÊÇÒòΪBeginPaintº¯ÊýºÍEndPaintº¯ÊýÒþº¬ÓÐÕâ¸ö¹¦ÄÜ£¬Èç¹û²»ÊÇÒÔBeginPaint/EndPaintµ±×öÏûÏ¢´¦Àí´úÂëµÄͷβµÄ»°£¬ÄÇôÔÚWM_PAINTÏûÏ¢·µ»ØµÄʱºò¾Í±ØÐëµ÷ÓÃValidateRectº¯Êý¡£
BeginPaintº¯ÊýµÄµÚ¶þ¸ö²ÎÊýÊÇÒ»¸ö»æͼÐÅÏ¢½á¹¹µÄ»º³åÇøµØÖ·£¬Windows»áÔÚÕâÀï·µ»Ø»æͼÐÅÏ¢½á¹¹£¬½á¹¹Öаüº¬ÁËÎÞЧÇøÓòµÄλÖúʹóС£¬»æͼÐÅÏ¢½á¹¹µÄ¶¨ÒåÈçÏ£º
PAINTSTRUCT¡¡STRUCT
¡¡¡¡hdc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡fErase¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡rcPaint¡¡¡¡¡¡¡¡¡¡¡¡¡¡RECT¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡fRestore¡¡¡¡¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡fIncUpdate¡¡¡¡¡¡¡¡DWORD¡¡¡¡¡¡¡¡¡¡¡¡£¿
¡¡¡¡rgbReserved¡¡¡¡¡¡BYTE¡¡32¡¡dup£¨£¿£©
PAINTSTRUCT¡¡ENDS
ÆäÖÐhdc×Ö¶ÎÊÇ´°¿ÚµÄÉ豸»·¾³¾ä±ú£¨ÔÚÏÂÒ»½ÚÖн«Òª½²µ½£©£¬rcPaint×Ö¶ÎÊÇÒ»¸öRECT½á¹¹£¬ËüÖ¸¶¨ÁËÎÞЧÇøÓò¾ØÐεĶԽǶ¥µã£¬fErase×Ö¶ÎÈç¹ûΪ·ÇÁãÖµ£¬±íʾWindowsÔÚ·¢ËÍWM_PAINTÏûϢǰÒѾÓñ³¾°É«²Á³ýÁËÎÞЧÇøÓò£¬ºóÃæ3¸ö×Ö¶ÎÊÇWindowsÄÚ²¿Ê¹Óõģ¬Ó¦ÓóÌÐò²»±ØÈ¥Àí»áËüÃÇ¡£
7¡£1¡£2¡¡¡¡É豸»·¾³
ºÃÁË£¬½â¾öÁË¡°When¡±µÄÎÊÌ⣬ÈÃÎÒÃÇÀ´¿¼ÂÇÒ»¸öеÄÎÊÌ⣬ÔÚDOS²Ù×÷ϵͳÖУ¬ÏòÆÁÄ»Êä³öÊý¾Ýʵ¼ÊÉÏÊÇ°ÑÊä³öÄÚÈÝ¿½±´µ½ÊÓƵ»º³åÇøÖУ¬ÔÚµÚ1ÕµÄͼ1¡£1ÖоÍÒѾ˵Ã÷£ºÈç¹ûÔÚÎı¾Ä£Ê½ÏÂÏÔʾÐÅÏ¢£¬Ö»ÐèÒª°ÑÄÚÈÝ¿½±´µ½B8000h´¦µÄÄÚ´æÖУ»ÏÔʾͼÐÎÐÅÏ¢£¬¿ÉÒÔ°ÑͼÐÎÊý¾Ý¿½±´µ½A0000h´¦µÄÄÚ´æÖС£
ÔÚWindowsÖУ¬GDI½Ó¿Ú°Ñ³ÌÐòºÍÓ²¼þ·Ö¸ô¿ªÀ´£¬ÔÚWin32±à³ÌÖУ¬ÔÙÒ²²»ÄÜͨ¹ýÖ±½ÓÏòÊÓƵ»º³åÇø¿½±´Êý¾ÝµÄ°ì·¨À´ÏÔʾÐÅÏ¢ÁË£¬ÄÇô£¬¾¿¾¹¸ÃÍùÄÄÀïÊä³öͼÐÎÄØ¡ª¡ªÕâ¾ÍÊÇ¡°Where¡±µÄÎÊÌâ¡£´ð°¸ÊÇ£ºÍ¨¹ý¡°É豸»·¾³¡±À´Êä³öͼÐΡ£
1¡£¡¡Ê²Ã´ÊÇÉ豸»·¾³
ÔÚWindowsÖУ¬ËùÓÐÓëͼÐÎÏà¹ØµÄ²Ù×÷¶¼ÊÇÓÃͳһµÄ·½·¨À´Íê³ÉµÄ£¨²»È»¾Í²»ÄܳÆΪ¡°Í¼ÐÎÉ豸½Ó¿Ú¡±ÁË£©¡£²»¹ÜÊÇ»æ»ÆÁÄ»ÉϵÄÒ»¸ö´°¿Ú£¬»¹ÊÇ°ÑͼÐÎÊä³öµ½´òÓ¡»ú£¬»òÕ߶ÔÒ»·ùλͼ½øÐл滣¬Ê¹ÓõĻæͼº¯Êý¶¼ÊÇÏàͬµÄ£¬ÎªÁËʵÏÖ·½·¨ÉϵÄͳһ£¬±ØÐ뽫ËùÓеÄͼÐζÔÏó¿´³ÉÊÇÒ»¸öÐéÄâµÄÉ豸£¬ÕâЩÉ豸¿ÉÄÜÓв»Í¬µÄÊôÐÔ£¬ÈçºÚ°×´òÓ¡»úºÍ²ÊÉ«ÆÁÄ»µÄÑÕÉ«Éî¶ÈÊDz»Í¬µÄ£¬²»Í¬´òÓ¡»úµÄ³ß´çºÍ·Ö±æÂÊ¿ÉÄÜÊDz»Í¬µÄ£¬»æͼÒÇÖ»Ö§³ÖʸÁ¿¶ø²»Ö§³ÖλͼµÈ¡£²»Í¬É豸µÄ²»Í¬ÊôÐԾ͹¹³ÉÁËÒ»¸ö»æͼµÄ¡°»·¾³¡±£¬¾ÍÏñDOS²Ù×÷ϵͳÖаÑÊÓƵ»º³åÇøµ±×öͼÐβÙ×÷µÄ¶ÔÏóÒ»Ñù£¬Õâ¸ö»æͼµÄ¡°»·¾³¡±¾ÍÊÇWin32±à³ÌÖÐͼÐβÙ×÷µÄ¶ÔÏ󣬰ÑËü½Ð×ö¡°É豸»·¾³¡±¡£É豸»·¾³Êµ¼ÊÉÏÊÇÒ»¸öÊý¾Ý½á¹¹£¬½á¹¹Öб£´æµÄ¾ÍÊÇÉ豸µÄÊôÐÔ£¬µ±¶ÔÉ豸»·¾³½øÐÐͼÐβÙ×÷µÄʱºò£¬Windows¿ÉÒÔ¸ù¾ÝÕâЩÊôÐÔÕÒµ½¶ÔÓ¦µÄÉ豸½øÐÐÏà¹ØµÄ²Ù×÷¡£
ÔÚʵ¼ÊʹÓÃÖУ¬Í¨¹ý¡°É豸»·¾³¡±¿ÉÒÔ²Ù×