£
ͼ7¡£6¡¡¡¡¼¸ÖÖ×Ô¶¨Ò廱ʷç¸ñ
CreatePen¡¡º¯ÊýµÄdwWidth²ÎÊý¶¨ÒåÁË»±ÊµÄ¿í¶È£¬µ¥Î»ÊÇDC×ø±êÓ³Éä·½·¨Öж¨ÒåµÄÂß¼µ¥Î»£¬Èç¹ûÕâ¸ö²ÎÊýʹÓÃNULL£¬ÄÇôº¯Êý»áʹÓÃ1ÏñËØµÄ¿í¶È¡£¿í¶È²ÎÊý»áÓ°Ïìµ½·ç¸ñ²ÎÊý£ºµ±¿í¶È´óÓÚ1µÄʱºò£¬»±Ê·ç¸ñ²»ÄÜʹÓÃÐéÏߣ¬Õâʱºò¼´Ê¹Ö¸¶¨ÁËÐéÏß·ç¸ñ£¬º¯ÊýÒ²»á×Ô¶¯Ê¹ÓÃPS_SOLID·ç¸ñ¡£dwColor²ÎÊýÖ¸¶¨ÁË»±ÊµÄÑÕÉ«¡£
Àý×ÓÔ´´úÂëµÄ_ShowTime×Ó³ÌÐòÖÐÓò»Í¬¿í¶ÈµÄÏßÌõÀ´»æ»Ê±¡¢·Ö¡¢ÃëÖ¸Õ룬»æ»Ç°¾ÍʹÓÃCreatePenº¯Êý´´½¨Á˲»Í¬¿í¶ÈµÄ»±Ê¡£
Èç¹ûÐèÒª´´½¨¸ü¸´ÔӵĻ±Ê£¬¿ÉÒÔʹÓÃExtCreatePenº¯Êý¡£Õâ¸öº¯Êý³ýÁËÓÐCreatePenµÄÈ«²¿¹¦ÄÜÍ⣬»¹¿ÉÒÔÈÃÓû§×Ô¼º¶¨ÒåÏßÌõµÄÑù×Ó£¬ÕâÑù¿ÉÒÔ²»±ØÏÞÖÆÓÚÉÏÃæµÄµãµã»®»®ÁË¡£º¯ÊýµÄÓ÷¨¶ÁÕß¿ÉÒԲο¼º¯ÊýÊֲᡣ
´´½¨×Ô¶¨Òå»Ë¢¿ÉÒÔʹÓõĺ¯ÊýÓУºCreateSolidBrush£¬CreateHatchBrush£¬CreatePatternBrushºÍCreateBrushIndirect¡£
CreateSolidBrush´´½¨µ¥É«µÄ»Ë¢£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡CreateSolidBrush£¬dwColor
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hBrush£¬eax
ÒªÊäÈëµÄΩһ²ÎÊýÊǻˢµÄÑÕÉ«¡£¶øCreateHatchBrush¿ÉÒÔ´´½¨¼¸ÖÖÔ¤¶¨Òåͼ°¸µÄ»Ë¢£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡CreateHatchBrush£¬iHatchStyle£¬dwColor
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hBrush£¬eax
dwColorÖ¸¶¨ÁËͼ°¸ÏßÌõµÄÑÕÉ«£¬iHatchStyle¶¨ÒåÁ˲»Í¬µÄͼ°¸ÏßÌõ£¬ÕâЩͼ°¸ÏßÌõʵ¼ÊÉÏÊÇÒÔ8¡Á8µÄÎ»Í¼ÖØ¸´ÆÌ¿ª×é³ÉµÄ£¬iHatchStyleµÄ¶¨ÒåÖµ¿ÉÒÔÊÇHS_BDIAGONAL£¬HS_CROSS£¬HS_DIAGCROSS£¬HS_FDIAGONAL£¬HS_HORIZONTALºÍHS_VERTICAL£¬Õâ6ÖÖͼ°¸µÄ»¨ÑùÔÚͼ7¡£7ÖдÓ×óµ½ÓÒÅÅÁÐÏÔʾ¡£
ͼ7¡£7¡¡¡¡CreateSolidBrushÖеĻˢͼ°¸
Èç¹ûÕâЩ¼òµ¥µÄͼ°¸²»ÄÜÂú×ãʹÓÃÒªÇó£¬CreatePatternBrushÊǸöºÜºÃµÄÑ¡Ôñ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡CreatePatternBrush£¬hBitmap
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hBrush£¬eax
Õâ¸öº¯ÊýÓÃÒ»¸öλͼµ±×ö»Ë¢µÄͼ°¸£¬µ±Òª»æ»µÄÇøÓò´óÓÚλͼ³ß´çµÄʱºò£¬Î»Í¼±»Öظ´ÆÌ¿ª£¬¾ÍÏñHTMLÎļþÖеı³¾°Í¼°¸Ò»Ñù¡£¶ÁÕß¿ÉÒÔ³¢ÊÔÒ»ÏÂÓÃÒ»·ù×öÍøÒ³Îļþ±³¾°µÄλͼ´´½¨Ò»¸öλͼ»Ë¢£¬²¢ÇÒÔÚRegisterClassExʱÔÚWNDCLASSEX½á¹¹ÖеÄhbrBackground×Ö¶ÎÖÐʹÓÃÕâ¸ö»Ë¢£¬ÕâÑù´´½¨³öÀ´µÄ´°¿Ú±³¾°»áºÍÍøÒ³±³¾°Ò»Ñù»ªÀö£¡¶ÁÕß¿ÉÒԲο¼Ëù¸½¹âÅ̵ÄChapter07TestObjectĿ¼ÖеÄÔ´´úÂë¡£
¶ÔÓÚ×Ô¶¨ÒåµÄ»±ÊºÍ»Ë¢£¬»¹ÓÐÆäËû×Ô¶¨ÒåµÄ¶ÔÏó£¬ÔÚ²»ÔÙÐèÒªµÄʱºò±ØÐëʹÓÃDeleteObjectº¯Êýɾ³ý£¬µ«ÊÇҪעÒ⣺µ±¶ÔÏó»¹ÊÇÒ»¸öDCµÄµ±Ç°¶ÔÏóµÄʱºò²»Òª½«Ëüɾ³ý£¬ÔÚɾ³ýǰӦ¸ÃÈ·¶¨DCÖÐÒѾѡÈëÁËÆäËûµÄ¶ÔÏó¡£ÓëÖ®Ïà·´£¬ÓÃGetStockObject»ñÈ¡µÄÔ¤¶¨Òå¶ÔÏóʹÓúó²»ÐèҪɾ³ý£¬µ«ÊǶÔËüÃǵ÷ÓÃDeleteObjectҲûÓйØÏµ£¬ÒòΪËüÃDz»»á±»ÕæÕýɾ³ý¡£ÓÉÓÚSelectObject·µ»ØÖµ¾ÍÊÇDCÔÀ´Ê¹ÓõĶÔÏó¾ä±ú£¬ËùÒÔɾ³ý¶ÔÏóµÄÒ»¸öºÃʱ»ú¾ÍÊǵ±SelectObject·µ»ØµÄʱºò£¬ÈçÀý×Ó³ÌÐòµÄ_ShowTime×Ó³ÌÐòÖÐÓõģº
¡¡¡¡¡¡¡¡invoke¡¡¡¡CreatePen£»PS_SOLID£»2£»0
¡¡¡¡¡¡¡¡invoke¡¡¡¡SelectObject£»_hDC£»eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡DeleteObject£»eax
SelectObject½«CreatePen´´½¨µÄ»±Ê¾ä±úÑ¡ÈëDC£¬·µ»ØÖµeax¾ÍÊÇÒÔǰʹÓõĻ±Ê¾ä±ú£¬Õâ¸ö¾ä±ú²»ÔÙʹÓÃÁË£¬ËùÒÔ¿ÉÒÔÔÚÏÂÃæÓÃDeleteObjectÖ±½Óɾ³ý£¬¶øÕâ´Î½¨Á¢µÄ»±Ê¿ÉÒÔÔÚÏ´ÎÖ´ÐÐSelectObjectºóÓÃͬÑùµÄ·½·¨É¾³ý¡£
7¡£2¡£2¡¡¡¡»æÖÆÏñËØµã
ÔÚDCÉÏ»æÖÆÏñËØµãÊÇ»æÍ¼×î»ù±¾µÄ²Ù×÷£¬Ê¹Óõķ½·¨ÊÇ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetPixel£¬hDC£¬dwX£¬dwY£¬dwColor
SetPixelº¯ÊýÔÚhDCµÄdwX¡¢dwYλÖÃÒÔdwColorΪÑÕÉ«»ÉÏÒ»¸öÏñËØµã£¬Èç¹ûÐèÒª»ñÈ¡hDCÖÐij¸öÏñËØµãµ±Ç°µÄÑÕɫֵ£¬ÄÇô¿ÉÒÔʹÓÃGetPixelº¯Êý£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡GetPixel£¬hDC£¬dwX£¬dwY
¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡dwColor£¬eax
ËäÈ»»æ»ÏñËØÊÇ×î»ù±¾µÄ»æÍ¼²Ù×÷·½·¨£¬µ«ÊÇÔÚ³ÌÐòÖÐÒ»°ãºÜÉÙʹÓÃSetPixelº¯Êý£¬ÒòΪËüµÄ¿ªÏúÌ«´óÁË£¬Ö»ÊʺÏÓÃÔÚÐèÒªÉÙÁ¿»æ»ÏñËØµÄµØ·½£¬Èç¹ûÒª»æ»Ò»¸öÏßÌõ»òÕßÕû¸öÇøÓò£¬ÄÇô×îºÃʹÓûÏߺ¯Êý»òÕßÌî³äº¯Êý£¬ÒòΪÕâЩº¯ÊýÊÇÔÚÇý¶¯³ÌÐò¼¶±ðÉÏÍê³ÉµÄ£¬ËùÓеÄÓ²¼þ¼ÓËÙ¹¦Äܶ¼¿ÉÒÔÓÃÉÏ¡£
ͼÐδ¦Àíǰ×î»ù±¾µÄ²½ÖèÊÇ»ñÈ¡ÏñËØ£¬µ«Ò²²»Ó¦¸ÃÓÃGetPixelº¯ÊýÀ´»ñȡһ´ó¿éµÄÏñËØÊý¾Ý£¬ÀíÓÉÊÇͬÑùµÄ¡£Èç¹ûÒª·ÖÎöÕû¸öÇøÓòµÄÏñËØÊý¾Ý£¬×îºÃµÄ°ì·¨¾ÍÊÇÓÃGetDIBitsº¯Êý½«È«²¿Êý¾Ý¿½±´µ½ÄÚ´æÖÐÔÙ½øÐд¦Àí¡£
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔÆ±ò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ7Õ¡¡Í¼ÐβÙ×÷
7¡£2¡¡»æ¡¡ÖÆ¡¡Í¼¡¡ÐΣ¨5£©
¡¡¡¡¡¡¡¡
7¡£2¡£3¡¡¡¡»æÖÆÍ¼ÐÎ
GDIµÄͼÐλæÖƺ¯ÊýÖ÷ÒªÓлæÖÆÏßÌõºÍÌî³äÇøÓòÁ½´óÀà¡£»æÖÆÏßÌõµÄº¯ÊýÒÔµ±Ç°»±Ê»æÖÆÏßÌõ£»»æÖÆÌî³äÇøÓòµÄº¯ÊýÒÔµ±Ç°»±Ê»æÖƱßÏߣ¬²¢ÒÔµ±Ç°»Ë¢Ìî³äÖмäµÄÇøÓò¡£
1¡£¡¡»æÖÆÏßÌõ
»æÖÆÏßÌõµÄº¯ÊýÓлֱÏßµÄLineTo£¬»¶àÌõÖ±ÏßµÄPolylineºÍPolylineTo£¬»±´Èû¶ùÇúÏßµÄPolyBezierºÍPolyBezierTo£¬»»¡ÏßµÄArcºÍArcTo¡£
DCµÄÊý¾Ý½á¹¹ÖÐÓÐÒ»¸ö¡°µ±Ç°µã¡±£¬LineToº¯Êý¾ÍÊÇ´Óµ±Ç°µã»Ò»ÌõÖ±Ïßµ½²ÎÊýÖÐÖ¸¶¨µÄµã£¬²¢°Ñ²ÎÊýÖÐÖ¸¶¨µÄµãÉèÖÃΪеĵ±Ç°µã¡£»Ïߺ¯ÊýÖÐËùÓÐÒÔTo½áβµÄº¯Êý¶¼ÊÇ´Óµ±Ç°µã¿ªÊ¼»æ»µÄ£¬ÈçLineTo£¬PolylineTo£¬PolyBezierToºÍArcTo£¬ÕâЩº¯ÊýÔڻ滽áÊøºó»á°Ñ»æÖƵÄ×îºóÒ»µãÉèÖÃΪеĵ±Ç°µã£¬ËùÒÔÔÚʹÓÃÕâЩº¯ÊýµÄʱºòÒª¿¼Âǵ½µ±Ç°µãÒ²ÊDzÎÓë»æÖÆµÄ×ø±êÒ»²¿·Ö¡£¶øÆäÓàµÄPolyline£¬PolyBezierºÍArcº¯ÊýÔòºÍµ±Ç°µãûÓйØÏµ£¬Ò²²»»áÓ°Ï쵱ǰµãµÄλÖá£
Èç¹ûÒªÉèÖõ±Ç°µãµÄλÖ㬿ÉÒÔʹÓÃMoveToExº¯Êý£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡MoveToEx£¬hDC£¬dwX£¬dwY£¬lpPoint
dwXºÍdwYÖ¸³öÁËеĵ±Ç°µãµÄ×ø±ê£¬lpPointÖ¸ÏòÒ»¸ö¿ÕµÄPOINT½á¹¹£¬ÓÃÀ´·µ»ØÔÀ´µÄµ±Ç°µãλÖã¬Èç¹û²»ÐèÒªµÄ»°£¬Õâ¸ö²ÎÊý¿ÉÒÔʹÓÃNULL¡£
ÁíÒ»¸öº¯ÊýÒ²¿ÉÒԵõ½µ±Ç°µãµÄ×ø±ê£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡GetCurrentPositionEx£¬hDC£¬lpPoint
ͬÑù£¬lpPointÖ¸ÏòÒ»¸öÓÃÀ´·µ»Øµ±Ç°µã×ø±êµÄPOINT½á¹¹µØÖ·¡£
Èç¹ûÒª»æÖÆÒ»ÌõÖ±Ïߣ¬±ØÐëÅäºÏʹÓÃMoveToExºÍLineToº¯Êý£¬Ê×ÏÈÓÉMoveToExº¯ÊýÉèÖÃÒ»¸öµ±Ç°µãµ±×öÆðÊ¼×ø±ê£¬È»ºóÓÃLineTo»æ»µ½½áÊø×ø±ê£¬ÈçClock¡£asmÖеÄ_DrawLine×Ó³ÌÐòÖоÍÊÇÕâÑù»æÖÆÊ±ÖÓÖ¸ÕëµÄ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡MoveToEx£»_hDC£»@dwX1£»@dwY1£»NULL
¡¡¡¡¡¡¡¡invoke¡¡¡¡LineTo£»_hDC£»@dwX2£»@dwY2
ÕâÁ½¾ä´úÂë»æ»Ò»Ìõ´Ó@dwX1£¬@dwY1µ½@dwX2£¬@dwY2µÄÖ±Ïß¡£
Èç¹ûÒª»æÖÆÊÇÏàÁ¬µÄ¶àÌõÖ±Ïߣ¬¿ÉÒÔʹÓÃPolyline»òPolylineToº¯Êý£º¡¡
¡¡¡¡¡¡¡¡invoke¡¡¡¡PolylineTo£»hDC£»lpPoint£»cPoints
¡¡¡¡¡¡¡¡invoke¡¡¡¡Polyline£»hDC£»lpPoint£»cPoints
lpPointÖ¸ÏòÒ»¸ö°üº¬Ò»ÏµÁÐPOINT½á¹¹µÄ»º³åÇø£¬ÓÉÓÚPOINT½á¹¹Ö»ÓÐXºÍYÁ½¸ö×ֶΣ¬ËùÒÔ»º³åÇøÖеÄÊý¾Ýʵ¼ÊÉÏÊÇx1£¬y1£¬x2£¬y2£¬x3£¬y3£¬¡£¬cPoints²ÎÊýÖ¸³öÁ˵ãµÄÊýÄ¿£¬×¢Ò⣺PolylineTo»³öµÄÖ±ÏßÊÇ´Óµ±Ç°µã×ø±ê£¨x£¬y£©¿ªÊ¼£¬È»ºóµ½£¨x1£¬y1£©£¬ÔÙµ½£¨x2£¬y2£©£¬¡£¬¶øPolylineº¯Êý»³öµÄÖ±ÏßÊÇ´Ó£¨x1£¬y1£©¿ªÊ¼µÄ£¬¶ÔÓÚÕâ¸öº¯Êý£¬Èç¹ûcPoints²ÎÊýÖ¸¶¨ÁËn¸öµã£¬ÄÇôֱÏßµÄÊýÁ¿Êµ¼ÊÉÏÊÇn£¿1¡£µ±»æÖƵÄÏàÁ¬Ö±ÏߺܶàµÄʱºò£¬ÓÃPolyline»òPolylineTo±È¶à´ÎʹÓÃLineToµÄËÙ¶ÈÒª¿ìºÜ¶à£¬¾ÍÏñÓÃÌî³äº¯Êý±È¶à´ÎʹÓÃSetPixelÒª¿ìÒ»Ñù¡£
±í7¡£3¾ÙÀý˵Ã÷ÁËÕâЩ»Ïߺ¯ÊýµÄ¹¦ÄÜ£¬±íÖеģ¨x1£¬y1£©»ò£¨x2£¬y2£©µÈ±íʾµã1»òµã2µÄ×ø±ê£¬£¨xc£¬yc£©±íʾµ±Ç°µãµÄ×ø±ê£¬µ±Ç°µãÔÚͼÖÐÓÃc±íʾ¡£
±í7¡£3¡¡¡¡»Ïߺ¯ÊýµÄ¹¦ÄÜ
º¯¡¡¡¡¡¡¡¡Êý
¡¡Ëµ¡¡¡¡¡¡¡¡Ã÷
¡¡Í¼¡¡¡¡¡¡¡¡Àý
¡¡
LineTo£¨hDC£»x£»y£©
¡¡´Óµ±Ç°µãµ½£¨x£¬y£©µã
¡¡
¡¡
PolylineTo£¨hDC£»lpPoint£»5£©
¡¡lpPointÖ¸Ïò´æ·Å£¨x1£¬y1£©µ½£¨x5£¬y5£©µÄ»º´æÇø£¬º¯Êý»µÄÏßÌõ´Ó£¨xc£»yc£©µ½£¨x1£¬y1£©µ½£¨x2£¬y2£©¡µ½£¨x5£¬y5£©£¬¹²5ÌõÖ±Ïß
¡¡
¡¡
Polyline£¨hDC£»lpPoint£»5£©
¡¡lpPointÖ¸Ïò´æ·Å£¨x1£¬y1£©µ½x5¡¢y5µÄ»º´æÇø£¬º¯Êý»µÄÏßÌõ´Ó£¨x1£¬y1£©µ½£¨x2£¬y2£©¡µ½£¨x5£¬y5£©£¬¹²4ÌõÖ±Ïß
¡¡
¡¡
PolyBezierTo£¨hDC£»lpPoint£»3£©
¡¡»æ»µÄBezierÇúÏߵĿØÖƵãΪ£¨xc£¬yc£©ºÍ£¨x1£¬y1£©ºÍ£¨x2£¬y2£©ºÍ£¨x3£¬y3£©
¡¡
¡¡
PolyBezier£¨hDC£»lpPoint£»4£©
¡¡»æ»µÄBezierÇúÏߵĿØÖƵãΪ£¨x1£¬y1£©ºÍ£¨x2£¬y2£©ºÍ£¨x3£¬y3£©ºÍ£¨x4£¬y4£©
¡¡
¡¡
ArcTo£¨hDC£»x1£»y1£»x2£»y2£»
x3£»y3£»x4£»y4£©
¡¡Ê×ÏÈ»£¨xc£¬yc£©µ½ÆðʼµãµÄÖ±Ïߣ¬ÔÙ»Æðʼµãµ½½áÊøµãµÄ»¡Ïß
¡¡
¡¡
Arc£¨hDC£»x1£»y1£»x2£»y2£»
x3£»y3£»x4£»y4£©
¡¡»Æðʼµãµ½½áÊøµãµÄ»¡Ïß
¡¡
¡¡
¶ÔÓÚArcºÍArcToº¯Êý£¬²ÎÊý£¨x1£¬y1£©ºÍ£¨x2£¬y2£©¶¨ÒåÁËÒ»¸ö¾ØÐεĶԽǵ㣬ȻºóÔÚºÍÕâ¸ö¾ØÐÎÏàÇеÄÍÖÔ²ÉÏÃæ£¬ÒÔÍÖÔ²µÄÖÐÐÄ£¨Ò²¾ÍÊǾØÐεÄÖÐÐÄ£©»Á½Ìõ¼ÙÏëµÄÖ±Ïßµ½£¨x3£¬y3£©ºÍ£¨x4£¬y4£©£¬ÕâÁ½ÌõÖ±ÏߺÍÍÖÔ²ÏཻµÄµã¾ÍÊÇÔ²»¡µÄÆðʼµãºÍ½áÊøµã¡£ÔÚĬÈÏÇé¿öÏ£¬Ô²»¡ÓÉÆðʼµãÑØ×ÅÍÖÔ²´ÓÄæÊ±Õë·½Ïò»µ½½áÊøµã¡£²»¹ý»æ»·½Ïò¿ÉÒÔÓÉSetArcDirectionº¯ÊýÖØÐ¹涨£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetArcDirection£¬hDC£¬AD_COUNTERCLOCKWISE¡¡¡¡¡¡¡¡£»ÄæÊ±Õë·½Ïò
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetArcDirection£¬hDC£¬AD_CLOCKWISE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»Ë³Ê±Õë·½Ïò
¶ÁÕßÒ»¶¨×¢Òâµ½ÁËÒ»¸öÎÊÌ⣺ÔÚ»ÏßµÄʱºò£¬Èç¹ûµ±Ç°µÄ»±ÊÊÇÐéÏߵϰ£¬ÐéÏߵIJ»Á¬Ðø²¿·Öʵ¼ÊÉÏÊÇÓɰ×É«×é³ÉµÄ£¬µ±ÐéÏß»Ôڷǰ×É«µÄ±³¾°ÉϵÄʱºòÕâÒ»µãÏÔµÃÌØ±ðÃ÷ÏÔ¡£Êµ¼ÊÉÏ£¬¿ÉÒÔÑ¡ÔñÕâЩ²»Á¬Ðø²¿·ÖµÄÑÕÉ«£¬ÓÃÒÔϵÄÓï¾ä¾Í¿ÉÒÔ×öµ½ÕâÒ»µã£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetBkColor£»hDC£»dwColor
µ÷Óúó²»Á¬ÐøµÄ²¿·Ö¾Í½«ÓÃdwColorÖ¸¶¨µÄÑÕÉ«»æ»¡£
µ«ÊǸıäÑÕɫҲ²¢²»ÊÇΩһµÄÑ¡Ôñ£¬GDIÔÊÐíÕⲿ·Ö²¢²»»æ»ÈκÎÑÕÉ«£¬Ò²¾ÍÊÇ¿ÉÒÔÊÇ¡°Í¸Ã÷¡±µÄ£¬ÓÃÏÂÃæµÄµ÷ÓÿÉÒÔ½«Ä£Ê½ÔÚ͸Ã÷ºÍ·Ç͸Ã÷Ö®¼äÇл»£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetBkMode£»hDC£»OPAQUE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£»·Ç͸Ã÷ģʽ
¡¡¡¡¡¡¡¡invoke¡¡¡¡SetBkMode£»hDC£»TRANSPARENT¡¡¡¡¡¡£»Í¸Ã÷ģʽ
Á½ÖÖģʽÒÔ¼°»æ»ÑÕÉ«²»µ¥Ó°ÏìÐéÏߵĿÕ϶²¿·Ö£¬Í¬ÑùÒ²Ó°ÏìCreateHatchBrushº¯Êý´´½¨µÄ»Ë¢£¬ÒòΪÕâÖֻˢʹÓü¸ÖÖÓÉÏßÌõ¹¹³ÉµÄͼ°¸£¬µ±ÓÃÕâÖֻˢÌî³äÒ»¸öÇøÓòµÄʱºò£¬ÏßÌõͼ°¸µÄ¿Õ϶²¿·ÖͬÑùÊÜSetBkColorº¯ÊýºÍSetBkModeº¯ÊýµÄÓ°Ïì¡£
2¡£¡¡»æÖƱ߽ç¿òºÍÌî³äÇøÓò
»æÖƱ߽ç¿òºÍÌî³äÇøÓòÆäʵÊÇͬһ¼þÊÂÇé¡£Èç¹ûµ±Ç°»±ÊÊÇNULL_PENµÄ»°£¬»³öÀ´µÄÊÇûÓбßÏßµÄÌî³äÇøÓò£»Èç¹ûµ±Ç°»Ë¢ÊÇNULL_BRUSHµÄ»°£¬ÄÇôֻÓбßÏß¶ø²»»áÌî³ä£»Èç¹ûµ±Ç°»Ë¢¼È²»ÊÇNULL_PENÒ²²»ÊÇNULL_BRUSH£¬ÄÇô»³öÀ´µÄͼÐμÈÓбßÏßÒ²ÊÇÌî³äµÄ¡£
»æÖÆÇøÓòµÄº¯ÊýÓл¾ØÐεÄRectangle£¬»Ô²½Ç¾ØÐεÄRoundRect£¬»¶à±ßÐεÄPolygon£¬»ÏÒµÄChord£¬»Ô²±ýµÄPieºÍ»ÍÖÔ²µÄEllipse¡£ÕâЩº¯ÊýµÄʹÓÃЧ¹û¼ûÈç7¡£4Ëùʾ¡£
±í7¡£4¡¡¡¡Ìî³äº¯ÊýµÄ¹¦ÄÜ
º¯