Õª Òª ±¾ÎÄͨ¹ýʵÀý½éÉÜÁËÓÃVC++6.0Ϊ¶Ô»°¿òÌí¼Ó×îС»¯°´Å¥ºÍÌáʾÌõµÄ·½·¨ºÍÔÀí
¹Ø¼ü´Ê ¶Ô»°¿ò ×îС»¯°´Å¥ ÌáʾÌõ
ÎÒÃÇÔÚʹÓöԻ°¿ò´°Ìåʱ£¬»áÓÐÕâÑùÒ»ÖÖ¸ÐÊÜ£ºµ±¶Ô»°¿ò´°ÌåλÓÚÆäËü³ÌÐò´°¿Ú½çÃæÉÏʱ£¬µ¥»÷¶Ô»°¿òÍâÇøÓòʱ£¬¿Éʹ¶Ô»°¿ò´°Ìå×îС»¯£»¶øµ±¶Ô»°¿ò´°ÌåλÓÚ×ÀÃæÉÏʱ£¬ÎÞÂÛÔõÑùµ¥»÷¶Ô»°¿òÍâÇøÓò£¬¶Ô»°¿ò¾ù²»ÄÜ×îС»¯£¬Ö»ÄÜÑ¡Ôñ¹Ø±Õ¡£µ«ÓÐʱÎÒÃÇÔÚʹÓöԻ°¿òʱ£¬»¹Ï£ÍûÄܸù¾ÝÐèҪʹ¶Ô»°¿ò¾ßÓÐ×îС»¯¹¦ÄÜ¡£±¾ÎĵÄÉè¼ÆË¼Ïë¾ÍÊǾݴËÌá³öÀ´µÄ¡£
1 ʵÀý³ÌÐòÉè¼ÆÒªµã
¢Å È¡µÃ¶Ô»°¿ò±êÌâÀ¸Î»ÖúʹóС£¬ÔÚ±êÌâÀ¸µÄÊʵ±Î»ÖûæÖÆ×îС»¯°´Å¥£¬²¢¼Çס°´Å¥µÄλÖá£
¢Æ ÔÚ×îС»¯°´Å¥ËùÔÚÇøÓò¼ì²âÊó±êÊÇ·ñÔÚ¸ÃÇøÓòÄÚ¡¢ÊÇ·ñ°´Ï£¬ÊÇ·ñ·¢ËÍ×îС»¯ÏûϢʹ¶Ô»°¿ò×îС»¯£¬·ñÔò²»±ä¡£
¢Ç ½«×îС»¯°´Å¥¾ØÐÎÇøÓòÏò¹¤¾ßÌáʾÌõ¿Ø¼þ×¢²á£¬ÕâÑùµ±Êó±êÔÚ×îС»¯°´Å¥¾ØÐÎÇøÓòʱ£¬ÏÔʾÌáʾÎı¾¡£
2 ʵÀý³ÌÐòʵÏֵIJ½Ö輰˵Ã÷
¢Å ×¼±¸¶þ¸öλͼ£¬Ò»¸öλͼ±íʾ×îС»¯°´Å¥Õý³£ÏÔʾ״̬£¬ÁíÒ»¸öλͼ±íʾ×îС»¯°´Å¥±»°´ÏÂʱµÄ״̬¡£
¢Æ ʹÓÃMFC AppWizard(exe)´´½¨¹¤³ÌÃûΪMinButtonµÄ¶Ô»°¿ò´°Ì壬ÈçͼËùʾ£¬½«¶þ¸ö°´Å¥Î»Í¼µ¼Èë¶Ô»°¿òµÄ×ÊÔ´Àï¡£
¢Ç ÔÚCMinButtonDlg¶Ô»°¿òÀàÖнøÐбäÁ¿¶¨ÒåºÍº¯ÊýÉùÃ÷¡£
¢È ÀûÓÃClassWizardΪ¶Ô»°¿òÀàÌí¼ÓÏûÏ¢WM_NCPAINT£¬WM_ACTIVATEºÍWM_NCMOUSEMOVEµÄÏûÏ¢´¦Àíº¯Êý£¬ÔÚÕâÈý¸öº¯ÊýÖе÷ÓóÉÔ±º¯ÊýDrawButton()À´»æÖư´Å¥¡£
¢É ÀûÓÃClassWizardΪ×îС»¯°´Å¥¹ØÁª¶ÔÓ¦µÄÏûÏ¢WM_NCLBUTTONDOWNºÍÏûÏ¢´¦Àíº¯ÊýOnNcLButtonDown(UINT nHitTest, CPoint point)¡£
¢Ê º¯ÊýDrawButton()ÓÃÓÚ»æÖư´Å¥¡£ÓÉÓÚ×îС»¯°´Å¥²¢²»ÊÇÒ»¸öÕæÊµµÄ°´Å¥¿Ø¼þ£¬¶øÊÇÒ»¸ö»ÔÚ±êÌâÀ¸ÉϵÄλͼ¡£Òò´Ë£¬ÎªÁËÔÚ¶Ô»°¿ò´°Ìå±êÌâÉϻ滣¬±ØÐë´´½¨Ò»¸ö´°¿ÚÉ豸»·¾³ÀࣨÏ൱ÓÚ´´½¨Ò»¸ö»²¼£¬ÓÐÁËÕâ¸ö»²¼£¬²ÅÄÜÔÚ»²¼Éϻ滣¬Ò²¾ÍÊDzÅÄÜÔÚ±êÌâÀ¸Éϻ满££©
¢Ù µ÷Óú¯ÊýGetWindowDC()È¡µÃÖ¸ÏòCDCµÄÖ¸Õë CDC* pDC£»
¢Ú µ÷Óú¯Êý CreateCompatibleDC(CDC* pDC)´´½¨Ò»¸öÄÚ´æÉ豸»·¾³£¬ÒÔ±ãÔÚÄÚ´æÖб£´æÎ»Í¼£¬²¢ÓëÖ¸¶¨µÄ´°¿ÚÉ豸»·¾³Ïà¼æÈÝ£»
¢Û µ÷Óú¯ÊýSelectObject(CBitmap *pBitmap)£¬½«Î»Í¼Ñ¡ÈëÄÚ´æÉ豸»·¾³ÖУ»
¢Ü µ÷Óú¯Êý BitBlt(int x, int y, int nWidth, int nHeight, CDC *pSrc, int xSrc, int ySrc, DWORD dwRop)½«Î»Í¼¸´ÖƵ½Êµ¼ÊÉ豸»·¾³ÖС£ÆäÖУ¬²ÎÊýx, y ±íʾλͼĿ±ê¾ØÐÎ×óÉϽǵÄx, y Âß¼×ø±êÖµ£»nWidth, nHeight ±íʾλͼĿ±ê¾ØÐεÄÂß¼¿í¶ÈºÍ¸ß¶È£»pSrc ±íʾԴÉ豸»·¾³CDCÖ¸Õ룻xSrc, ySrc ±íʾλͼԴ¾ØÐεÄ×óÉϽǵÄx, y Âß¼×ø±êÖµ£»dwRop ±íʾÏÔʾλͼµÄ¹âÕ¤²Ù×÷·½Ê½¡£¹âÕ¤²Ù×÷·½Ê½ÓжàÖÖ£¬ÕâÀïʹÓõÄÊÇSRCCOPY£¬±íʾ½«Î»Í¼Ö±½Ó¸´ÖƵ½Ä¿±êÄÚ´æÉ豸»·¾³ÖС£ÕâÀïҪ˵Ã÷Ò»µã£ºº¯ÊýBitBlt()Ö»ÄÜ¡°Ò»±ÈÒ»¡±µÄÏÔʾλͼ£¬ÈçÒªÈÎÒâËõ·ÅÏÔʾλͼÐëʹÓú¯ÊýStretchBlt()£¬¸Ãº¯ÊýµÄʹÓ÷½·¨£¬Çë²Î¿¼Ïà¹ØÊé¼®¡£
¢Ý λͼѡÈëÄÚ´æ»·¾³ÖÐÏÔʾºó£¬Ó¦µ÷Óú¯ÊýSelectObject(CBitmap *pOldBitmap)»Ö¸´ÔÀ´µÄÄÚ´æÉ豸»·¾³¡£
¢Ë ÌáʾÌõʵÖÊÉÏÊÇÒ»¸öСµÄµ¯³ö´°¿Ú£¬ÔÚ´°¿ÚÖÐÏÔʾһÐÐÎı¾£¬ÓÃÀ´ÃèÊö¹¤¾ß£¨»òÇøÓò£©µÄÓÃ;»òÆäËüÐÅÏ¢¡£ÔÚMFCÖÐÌṩÁ˹¤¾ßÌáʾÌõ¿Ø¼þÀàCToolTipCtrl£¬ÓÉËüÀ´¹ÜÀíÌáʾÌõ¡£ÔÚÕâÀÎÒÃÇ´ÓCToolTipCtrlÀàÅÉÉú×ÓÀàCToolTips¡£ÔÚ×ÓÀàµÄ¶¨ÒåÖÐÌí¼Óº¯ÊýBOOL AddToolTip( UINT nID, LPRECT lpRect, LPCTSTR lpszText)£¬¸Ãº¯ÊýÓÃÓÚÏò¹¤¾ßÌáʾÌõ¿Ø¼þ×¢²á°´Å¥ÇøÓòºÍÌáʾÎı¾£¬µ±Êó±êÔÚ×îС»¯°´Å¥ÇøÓòʱ£¬ÏÔʾÌáʾÎı¾¡£