Declare Function DeleteDC Lib \²ÎÊýºÜ¼òµ¥£ºhdc--½«ÒªÉ¾³ýµÄÉ豸³¡¾°¡£
¸Ãº¯Êýɾ³ýרÓÃÉ豸³¡¾°»òÐÅÏ¢³¡¾°£¬ÊÍ·ÅËùÓÐÏà¹Ø´°¿Ú×ÊÔ´¡£²»Òª½«ËüÓÃÓÚGetDCº¯ÊýÈ¡»ØµÄÉ豸³¡¾°¡£ÈôÓжÔÏó±»Ñ¡ÈëÉ豸³¡¾°£¬ÔòÔÚµ÷Óñ¾º¯ÊýǰӦ½«ËüÃÇÑ¡³ö¡£Îª´Ë£¬¿É½«³õʼ¶ÔÏó»ØÑ¡ÈëDC£¬Ò²¿ÉÓÃSaveDC£¬ RestoreDCº¯Êý¶Ô»Ø¸´DCΪÆä´´½¨Ê±µÄ״̬¡£×¢£ºÔÚvbÀïʹÓ㬲»Òª½«ËüÓÃÓÚÓÉvb hdcÊôÐÔ»ñÈ¡µÄÉ豸³¡¾°¾ä±ú -----------------------------------
CreateCompatibleBitmapº¯Êý£º´´½¨1·ùÓëÉ豸ÓйصÄλͼ ¸Ãº¯Êý´´½¨Ò»·ùÓëÉ豸ÓйØÎ»Í¼£¬ËüÓëÖ¸¶¨µÄÉ豸³¡¾°¼æÈÝ ÉùÃ÷£º
Declare Function CreateCompatibleBitmap Lib \As Long, ByVal nHeight As Long) As Long µ÷ÓÃÈ磺
nWidth = Picture1.Width \\ Screen.TwipsPerPixelX nHeight = Picture1.Height \\ Screen.TwipsPerPixelY
hBitmap = CreateCompatibleBitmap(Picture1.hdc, nWidth, nHeight) º¯Êý·µ»ØÖµÎªÎ»Í¼µÄ¾ä±ú¡£ ²ÎÊý£º
hdc£ºÉ豸³¡¾°µÄ¾ä±ú
nWidth£ºÎ»Í¼¿í¶È£¬ÒÔÏñËØÎªµ¥Î» nHeight£ºÎ»Í¼¸ß¶È£¬ÒÔÏñËØÎªµ¥Î»
Ò»µ©Î»Í¼²»ÔÙÐèÒª£¬ÒªÓÃdeleteObjectº¯ÊýÊÍ·ÅËüËùÕ¼ÓõÄ×ÊÔ´¡£ ---------------------------------------------------- SelectObjectº¯Êý£ºÑ¡ÔñÔÚÉ豸³¡¾°ÖÐÑ¡ÈëijÀàÐÍGDI¶ÔÏó
ÿ¸öÉ豸³¡¾°¶¼¿ÉÄÜÓÐÑ¡ÈëÆäÖеÄͼÐζÔÏ󡣯äÖаüÀ¨Î»Í¼¡¢Ë¢×Ó¡¢×ÖÌå¡¢»±ÊÒÔ¼°ÇøÓòµÈµÈ¡£Ò»´ÎÑ¡ÈëÉ豸³¡¾°µÄÖ»ÄÜÓÐÒ»¸ö¶ÔÏó¡£Ñ¡¶¨µÄ¶ÔÏó»áÔÚÉ豸³¡¾°µÄ»æÍ¼²Ù×÷ÖÐʹÓá£ÀýÈ磬µ±Ç°Ñ¡¶¨µÄ»±Ê¾ö¶¨ÁËÔÚÉ豸³¡¾°ÖÐÃè»æµÄÏß¶ÎÑÕÉ«¼°Ñùʽ ¡£ ÉùÃ÷£º
Declare Function SelectObject Lib \ByVal hObject As Long) As Long
º¯Êý·µ»ØÖµÎªÑ¡ÈëhdcÉ豸³¡¾°µÄhObjectÀàÐ͵ÄÒ»¸ö¶ÔÏóµÄ¾ä±ú£¬Áã±íʾ³ö´í¡£Èç¹ûÑ¡¶¨µÄ¶ÔÏóÊÇÒ»¸öÇøÓò£¨ÈçÓÉCreateEllipticRgnÍÖÔ²ÇøÓò£©£¬½á¹û¾ÍÊÇÏÂÁг£ÊýÖ®Ò»£ºSIMPLEREGION£¬ COMPLEXREGION »ò NULLREGION ¶ÔÇøÓò½øÐÐÃèÊö£¬ GDI_ERROR ±íʾ³ö´í ²ÎÊý£ºhdc--Ò»¸öÉ豸³¡¾°µÄ¾ä±ú
hObject --Ò»¸ö»±Ê¡¢Î»Í¼¡¢Ë¢×Ó¡¢×ÖÌå»òÇøÓòµÄ¾ä±ú
×¢£º·µ»ØÖµÍ¨³£ÓÃÓÚ»ñµÃÑ¡ÈëDCµÄ¶ÔÏóµÄÔʼֵ¡£»æÍ¼²Ù×÷Íê³Éºó£¬ÔʼµÄ¶ÔÏóͨ³£Ñ¡»ØÉ豸³¡¾°¡£ÔÚÇå³ýÒ»¸öÉ豸³¡¾°Ç°£¬Îñ±Ø×¢Òâ»Ö¸´ÔʼµÄ¶ÔÏó¡£
²åÈë·ûº¯Êý
---------------------------------------------------------------------- ´´½¨Ò»¸ö²åÈë·û:CreateCaretº¯Êý
ͨ³£Êǵ±Ò»¸ö±à¼Àà¿Ø¼þ¾ßÓн¹µãºó£¬¾ÍÓвåÈë·û£¬ÔÚVBÖжÔӦΪGotFocusʼþ£¬Ò²¾ÍÊÇ´´½¨²åÈë·ûµÄʱ»úËÆºõÓ¦ÔÚ´ËʼþÖС£²åÈë·ûÒ»°ãÊÇÒ»¸ù¶ÌÊúÏߣ¬Ò²¿ÉÒÔÊÇÒ»·ùλͼ¡£×÷ÓÃÊÇÌáʾÎÄ×ֵIJåÈëλÖá£ÉùÃ÷£º
Declare Function CreateCaret Lib \ByVal nWidth As Long, ByVal nHeight As Long) As Long µ÷ÓÃÈ磺
CreateCaret Picture1.hwnd,0,2,14
µ±´´½¨Ò»¸ö²åÈë·ûʱ£¬»áɾ³ý¸Ã´°¿ÚÔÓеIJåÈë·û¡£Ð´´½¨µÄ²åÈë·ûÒªÓÃSetCaretPosº¯ÊýÉèÖúÃλÖã¬ÔÙÓÃShowCaretº¯Êý²ÅÄÜÏÔʾ³öÀ´£¬²ÎÊýÈçÏ£º hwnd £ºLong£¬ÒªÔÚÆäÖд´½¨²åÈë·ûµÄÄǸö´°¿ÚµÄ¾ä±ú
hBitmap Long£¬Èç¹ûÖ¸¶¨Ò»·ùλͼ×÷²åÈë·û£¬ÔòΪλͼµÄ¾ä±ú¡£Èç¹û²»Ö¸¶¨Î»Í¼×÷²åÈë·û£¬Ôò¿ÉÒÔÊÇ0£¨ºÚÉ«²åÈë·û£©»ò1£¨»ÒÉ«²åÈë·û£©£»´Ëʱ²åÈë·û¿Éͨ¹ýnWidthºÍnHeight²ÎÊý´´½¨¡£ nWidth Long£¬²åÈë·ûµÄ¿í¶È£¨²ÉÓÃÂß¼µ¥Î»£©£¬Èç2¡£ nHeight Long£¬²åÈë·ûµÄ¸ß¶È£¬Èç20¡£ ---------------------------------------- Ö¸¶¨²åÈë·ûµÄλÖãºSetCaretPosº¯Êý
Declare Function SetCaretPos Lib \y As Long) As Long
²ÎÊýx,yΪ²åÈë·ûÔÚ¿Í»§Çø×ø±êϵͳÖеÄX£¬YλÖã¬×¢ÒâÊÇÒÔ¿Í»§Çø×ø±êΪ׼µÄ£¬ÀýÈç²åÈë·ûÊÇForm1µÄ£¬ÄÇô¾ÍÒÔ´°Ìåform1µÄ×ø±êϵͳÀ´¶ÈÁ¿£¬¿´ÆäScaleModeÊôÐÔÖ¸¶¨ÁËʲôµ¥Î»£¬Èçç¾£¬ÏóËØ£¬ÉõÖÁ×Ô¶¨ÒåµÄµ¥Î»³¤¶ÈµÈ¡£µ÷ÓÃÈ磺 SetCaretPos 100,100
---------------------------------------------- ÏÔʾ´´½¨µÄ²åÈë·û£ºShowCaretº¯Êý ÒªÓøú¯Êý²ÅÄÜÏÔʾ²åÈë·û£¬ÉùÃ÷£º
Declare Function ShowCaret Lib \²ÎÊý¼òµ¥£¬Ö»ÒªÖ¸¶¨ÒªÏÔʾ²åÈë·ûµÄ´°¿Ú¾ä±ú¼´¿É£¬È磺ShowCaret Picture1.hwnd. -------------------------------------------------- Òþ²Ø²åÈë·û£ºHideCaretº¯Êý Òþ²ØÖ¸¶¨´°¿ÚÖеIJåÈë·û£¬ÉùÃ÷£º
Declare Function HideCaret Lib \²ÎÊýΪҪÒþ²Ø²åÈë·ûµÄ´°¿Ú¾ä±ú¡£µ÷ÓÃÈ磺HideCaret Picture1.hwnd.
×¢£ºÕë¶Ô²åÈë·ûµÄÏÔʾ£¬windowsά»¤×ÅÒ»¸öÄÚ²¿¼ÆÊýÆ÷£»ÀàËÆÓÚShowCursorº¯ÊýʹÓõÄÄǸö¡£ËùÒÔ¶ÔHideCaret ºÍ ShowCaretµÄµ÷ÓñØÐë½øÐÐÒ»·¬È¨ºâ£¬×îºÃ³É¶ÔʹÓᣠ---------------------------------------------- »ñµÃ´´½¨µÄ²åÈë·ûÔڸô°¿ÚÖеÄλÖãºGetCaretPosº¯Êý ÉùÃ÷£º
Declare Function GetCaretPos Lib \
²ÎÊýΪһ¸öPOINTAPI½á¹¹£¬¼´Î»ÖÃ×ø±êµÄx,yÖµ£¬ÕâЩֵ²ÉÓòåÈë·ûËùÔÚ´°¿ÚµÄ¿Í»§×ø±ê±íʾ£¬²»ÊÇÏÞ¶¨ÎªÏóËØ¡£µ÷ÓÃÈ磺 Dim lxn as POINTAPI GetCaretPos lxn Print lxn.x,lxn.y
ÐÂÔöº¯Êý
´ò¿ª»ò´´½¨Îļþ¡¢É豸¡¢Í¨Ñ¶¶Ë¿ÚµÈ£ºCreateFileAº¯Êý