| ¸Ä±ä ListIndex¶ø²»·¢Éú Click ʼþ |
ÔÚÐÞ¸Ä Combo »ò Listview µÄListIndex ʱ£¬ »á·¢Éú Click ʼþ£¬ ÏÂÃæµÄº¯Êý¿ÉÒÔ×èÖ¹¸Ãʼþ¡£ ÉùÃ÷£º Private Declare Function SendMessage Lib _ "user32" Alias "SendMessageA" (ByVal _ hWnd As Long, ByVal wMsg As Long, ByVal _ wParam As Long, lParam As Any) As Long Const CB_GETCURSEL = &H147 Const CB_SETCURSEL = &H14E Const LB_SETCURSEL = &H186 Const LB_GETCURSEL = &H188 º¯Êý£º Public Function SetListIndex(lst As Control, _ ByVal NewIndex As Long) As Long ¡¡ If TypeOf lst Is ListBox Then Call SendMessage(lst.hWnd, _ LB_SETCURSEL, NewIndex, 0&) SetListIndex = SendMessage(lst.hWnd, _ LB_GETCURSEL, NewIndex, 0&) ElseIf TypeOf lst Is ComboBox Then Call SendMessage(lst.hWnd, _ CB_SETCURSEL, NewIndex, 0&) SetListIndex = SendMessage(lst.hWnd, _ CB_GETCURSEL, NewIndex, 0&) End If End Function
|
| µ÷Õû Combo ÏÂÀ²¿·ÖµÄ¿í¶È |
ÉùÃ÷£º Private Declare Function SendMessage Lib _ "USER32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal Msg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long Private Const CB_GETDROPPEDWIDTH = &H15F Private Const CB_SETDROPPEDWIDTH = &H160 Private Const CB_ERR = -1 º¯Êý£º ' È¡µÃ Combo ÏÂÀµÄ¿í¶È ' ¿ÉÒÔÀûÓøú¯Êý±ÈÀý·Å´ó»òËõС¿í¶È Public Function GetDropdownWidth(cboHwnd As Long) As Long Dim lRetVal As Long lRetVal = SendMessage(cboHwnd, CB_GETDROPPEDWIDTH, 0, 0) If lRetVal <> CB_ERR Then GetDropdownWidth = lRetVal 'µ¥Î»Îª pixels Else GetDropdownWidth = 0 End If End Function 'ÉèÖà Combo ÏÂÀµÄ¿í¶È 'µ¥Î»Îª pixels Public Function SetDropdownWidth(cboHwnd As _ Long, NewWidthPixel As Long) As Boolean Dim lRetVal As Long lRetVal = SendMessage(cboHwnd, _ CB_SETDROPPEDWIDTH, NewWidthPixel, 0) If lRetVal <> CB_ERR Then SetDropdownWidth = True Else SetDropdownWidth = False End If End Function
|
| ComboµÄ×Ô¶¯²éѯ¼¼Êõ |
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Const CB_FINDSTRING = &H14C Private Sub Combo1_Change() Dim iStart As Integer Dim sString As String Static iLeftOff As Integer iStart = 1 iStart = Combo1.SelStart If iLeftOff <> 0 Then Combo1.SelStart = iLeftOff iStart = iLeftOff End If sString = CStr(Left(Combo1.Text, iStart)) Combo1.ListIndex = SendMessage(Combo1.hwnd, _ B_FINDSTRING, -1, ByVal CStr(Left( _ ombo1.Text, iStart))) ¡¡ If Combo1.ListIndex = -1 Then iLeftOff = Len(sString) combo1.Text = sString End If Combo1.SelStart = iStart iLeftOff = 0 End Sub ¾²Ì¬±äÁ¿ iLeftOff Ö¸¶¨ÁË×Ö·û³¤¶È¡£
|
| ×Ô¶¯Ñ¡Ôñ Text µÄÄÚÈÝ |
ÔÚʹÓà VFP µÄÓ¦ÓýøÐмÈëʱ£¬Ã¿½øÈëÒ»¸ö¼Èë¿ò£¬¾Í×Ô¶¯Ñ¡Ôñ¸Ã¿òÖеÄËùÓÐÄÚÈÝ¡£ÀûÓÃÒÔϵĴúÂ룬Ҳ¿ÉʵÏÖÀàËÆµÄ¹¦ÄÜ¡£ Private Sub MyTextBox_GotFocus() AutoSelect MyTextBox End Sub ¡¡ Sub AutoSelect(SelObject As Control) SelObject.SelStart = 0 If TypeOf SelObject Is MaskEdBox Then SelObject.SelLength = Len(SelObject.FormattedText) Else If TypeOf SelObject Is TextBox Then SelObject.SelLength = Len(SelObject.Text) End If End If End Sub
|
| ²¶×½ MouseExit ʼþ |
MouseDown¡¢MouseUp¡¢MouseMove¡£VB ËÆºõÌṩÁËºÜºÃµÄ Mouse ʼþ¡£µ«ºÃÏó»¹È±ÉÙʲô£¡¶Ô£¡»¹²î MouseExit£¨Êó±êÒÆ³ö£©Ê¼þ¡£ÔÚ VB ÖУ¬ÎÒÃÇÒª²¶×½ MouseExit ʼþ£¬±ØÐëÓà API º¯Êý£º Private Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long Private Declare Function ReleaseCapture Lib "user32" () As Long È»ºó£¬ÎÒÃÇ¿ÉÒÔÔڿؼþ£¨ÒÔ Picture1 ΪÀý£©µÄ MouseMove ʼþÉϼÓÉÏÒÔÏ´úÂ룺 Dim MouseExit As Boolean MouseOver = (0 <= X) And (X <="Picture1.Width)" And (0 <="Y)" And (Y <="Picture1.Height)<Br"> If MouseExit Then ........ SetCapture Picture1.hWnd Else ........ ReleaseCapture End If
|
| ÈçºÎÈÃÎı¾¿òÊäÈëÍêºó,Ö±½ÓÌøÈëÏÂÒ»ÐÐ? |
ÎÒÃÇÔÚ±àÖÆ³ÌÐòµÄʱºò£¬ÌرðÊÇÊý¾Ý¿âÈí¼þ£¬¾³£»áÓöµ½ÕâÑùÒ»¸öÎÊÌ⣺ÔÚÎı¾¿òÖÐÊäÈëÍêºó£¬Óû§Ï°¹ßÐԵİ´Ï»سµ¼ü¡£µ«ÊÇϵͳ¡°àÖ¡±µÄÒ»Éù£¬²¢Ã»ÓÐÏóÏëÏóÄÇÑùÌøÈëÏÂÒ»ÐлòÕ߯äËûµÄʲô¡£ÄÇôÄܲ»ÄÜÈóÌÐòÔÚÊäÈëÍêºó¸ÉÆäËûµÄÊÂÄØ£¿ÊÔÒ»ÊÔÏÂÃæµÄ´úÂë°É¡£ Sub Text1_keyPress(KeyAscii As Integer) ¡¡ If KeyAscii=13 Then SendKeys"{tab}" End If End Sub
|
| ÈçºÎÇ¿ÖÆÎļþ¶Ô»°¿òÔٴζÁÈ¡ÕýÈ·µÄ´ÅÅÌ? |
Èç¹û¹¹ÔìÁËÒ»¸öÒÔͨÓöԻ°¿òΪģÐ͵ļòµ¥¶Ô»°¿ò(ͨ³£Ó¦Ê¹ÓÃͨÓöԻ°¿òµÄOCX),»á·¢ÏÖÔÙ´ÎÑ¡ÔñÈíÅÌÇý¶¯Æ÷²¢²»Êµ¼Ê.ÔٴζÁÅÌ,¸Ä±äµ½CÅÌ,²¢ÔÙ´ÎÑ¡ÔñAÅÌ.Ö»ÊÇʹËü¶ÁÐÂÈíÅÌÖеÄĿ¼. ΪÁ˽â¾öÕâ¸öÎÊÌâ,ÔÚÒ»¸ö°´Å¥µÄ´úÂë¶ÎÖмÓÈëÒÔÏ´úÂë: drive1.refresh dir1.refresh file1.refresh
|
VBµÄOPEN¶Ô»°¿ò¿Ø¼þͼʾ¹¦ÄÜÀ©³ä °²»Õ Áõ³É |
Visual Basic For Windows£¨VB£©ÌṩÁ˷ḻµÄ¿Ø¼þ£¬µ«ÆäÌṩµÄ¹«ÓöԻ°¿ò¿Ø¼þÔÚ´ò¿ªÎļþʱ£¨ÀýÈ磪£®BmpºÍ£ª£®PcxµÈ£©²»ÄÜÏÔʾÎļþÄÚÈݼ´Í¼Ïñ£¬±¾Îĸø³öÁËÒ»¸öʵÀý£¬¿ÉÒÔÄ£ÄâһЩͼÐÎÈí¼þ°üÔÚ´ò¿ªÎļþµÄͬʱÏÔʾͼÏñ£¬Ä£ÄâºÍÀ©³äOPEN¿Ø¼þ¹¦ÄÜ¡£ ΪģÄâµÄÀ©³äOPEN¹¦ÄÜ£¬ÏÂÃæ¸ø³öÁËÒ»¸öÍêÕûµÄVB³ÌÐò£¬ÊµÏÖ·½·¨ÈçÏ£º Ò»¡¢½¨Á¢´°Ìå Ê×ÏȽ¨Á¢Ò»¸ö´°Ì壨´°ÌåÃûΪOPNFILE£©£¬´°ÌåÉϰüº¬Çý¶¯Æ÷ÁÐ±í¡¢Ä¿Â¼ÁÐ±í¡¢ÎļþÁÐ±í¡¢Á½¸öÃüÁî°´Å¥£¨È·ÈÏ¡¢È¡Ïû£©ºÍÏÔʾӰÏñµÄ¿Ø¼þ£¨picture»òimage£©£¬ÏÂÃæÊÇÕâ6¸ö¿Ø¼þµÄ½¨Á¢·½·¨ºÍÓйØÊôÐԵĸı䡣 1¡¢DirvelistBoxÇý¶¯Æ÷ÁÐ±í¿Ø¼þ Ë«»÷Çý¶¯Æ÷ÁÐ±í¿Ø¼þ£¬ÔÚ´°ÌåÉϵ÷×¼¿Ø¼þµÄλÖ㬿ؼþÃû³ÆÎª¡°Drive1¡±¡£ 2¡¢DirlistBoxĿ¼ÁÐ±í¿Ø¼þ Ë«»÷Ŀ¼ÁÐ±í¿Ø¼þ£¬ÔÚ´°ÌåÉϵ÷×¼¿Ø¼þµÄλÖ㬿ؼþÃû³ÆÎª¡°Dirl¡± 3¡¢FilelistBoxÎļþÁÐ±í¿Ø¼þ Ë«»÷ÎļþÁÐ±í¿Ø¼þ£¬ÔÚ´°ÌåÉϵ÷×¼¿Ø¼þµÄλÖúͳߴ磬¿Ø¼þÃû³ÆÎª¡°Filel¡±£¬Ð޸ġ°Pattern¡±ÊôÐÔΪ¡°*.bmp, *.pcx¡±¡£ 4¡¢Command ButtomÃüÁî°´Å¥¿Ø¼þ Ë«»÷ÃüÁî°´Å¥¿Ø¼þ£¬½¨Á¢ÃüÁî°´Å¥£¬µÚÒ»¸öÈ¡ÃûΪCommand1£¬ÐÞ¸ÄCaptionÊôÐÔΪ¡°È·ÈÏ¡±£¬µÚ¶þ¸öÈ¡ÃûΪCommand2£¬ÐÞ¸ÄCaptionÊôÐÔΪ¡°È¡Ïû¡±¡£ 5¡¢ÏÔʾӰÏñµÄ¿Ø¼þ ¼È¿ÉÒÔÑ¡picture¿Ø¼þ£¬Ò²¿ÉÑ¡image¿Ø¼þÏÔʾͼÏñ£¬ÒÔimage¿Ø¼þΪÀý¡£Ë«»÷image¿Ø¼þ£¬µ÷×¼¾ØÐοòµÄ´óСºÍλÖã¬È¡ÃûΪimagel£¬ÉèÖÃstrtchÊôÐÔ¡£strech£½falseʱ£¬Í¼ÐÎÒÔԳߴçÏÔʾ¡£ ¶þ¡¢Ê¼þ¹ý³ÌµÄ½¨Á¢ 1¡¢Çý¶¯Æ÷¸ü¸Äʼþ¹ý³Ì Sub Drive£change£¨£© ¢ÙDirl£®Path£½Drivel£®Drive ¢ÚChDrive Drivel£®Drive End Sub ÆäÖТٵ±Çý¶¯Æ÷·¢Éú¸ü¸Äʱ£¬¸Ä±äĿ¼·¾¶£»¢Ú¸ü¸Ä·¾¶¡£ 2¡¢Ä¿Â¼¸ü¸Äʼþ¹ý³Ì Sub Dirl change£¨£© Filel£®Path£½Dirl£®path End Sub ¸Ãʼþ¹ý³ÌÊǶÔĿ¼·¢Éú¸ü¸Äʱ£¬×÷³öÎļþ·¾¶¸ü¸ÄµÄÏìÓ¦¡£ 3¡¢ÎļþÁÐ±íµ¥»÷ʼþ Sub Filel£click£¨£© Imagel£®picture£½loadpicture£¨Filel.path£«¡±£Ü¡±£«Filel.FileName£© End Sub µ¥»÷ÈÎһͼÐÎÎļþÃûʱ£¬ÔÚimage¿Ø¼þ¿òÉÏÏÔʾͼÏñ¡£ 4¡¢ÃüÁî°´Å¥¿Ø¼þ Sub Command1£click£¨£© F1¡ç£½Filel£®path£«¡±£Ü¡±£«FileName End End Sub Sub Comª²mand2£click£¨£© F1¡ç£½¡± ¡± End Sub F1¡çΪѡÔñÎļþÃû³Æ£¬¹©Èí¼þʹÓã¬ÈôÓû§µ¥»÷¡°È¡Ïû¡±°´Å¥£¬F1¡çΪ¿Õ´®¡£ µ¥»÷Çý¶¯Æ÷Ãû¿ÉÒԸıäÇý¶¯Æ÷£¬µ¥»÷Ŀ¼ÁбíÖÐijһĿ¼¿ÉÒÔ¸ü¸ÄĿ¼£¬µ¥»÷ijһͼÐÎÎļþ¿ÉÒÔÏÔʾͼÐΣ¬ÔÚÎļþÁбíÖа´¡°¡ü¡±»ò¡°¡ý¡±¼ü£¬¿ÉÒÔËæ×ÅÎļþÃûµÄ±ä»¯£¬Í¼Ïñ¿òÖеÄͼÐÎÒ²ËæÖ®·¢Éú¸ü¸Ä¡£ F1¡ç¿ÉÒÔ¹©Ó¦ÓóÌÐòµ÷Óã¬ÆäÖаüº¬Çý¶¯Æ÷Ãû¡¢Ä¿Â¼ºÍÎļþÃû¡£
|
VBÍø¸ñÖÐÊäÈëÊý¾Ý ɽ¶« ÖÜÇì±ó |
VISUAL BASICÌṩµÄÍø¸ñ¿ØÖÆ£¨Grid£©Ö÷ÒªÊÇÓÃÀ´Ö±¹ÛµØÊä³öÊý¾Ý£¬µ«²»ÄÜÊäÈëÊý¾Ý£¬Ê¹ÓÃÆðÀ´ºÜ²»·½±ã¡£Äܲ»ÄÜÏòÍø¸ñÖÐÊäÈëÊý¾ÝÄØ£¿±ÊÕßÌá³öÁËÁ½ÖÖ½â¾ö·½·¨£¬¹©´ó¼Ò²Î¿¼£º ·½·¨Ò»£º ¸ÄÐ´Íø¸ñµÄKeyPressʼþ£¬ÔÚÿ´ÎÓкϷ¨×Ö·ûÊäÈëʱ£¬°ÑGridµÄTextÏîºÍÊäÈë×Ö·ûÁ¬½Ó¡£ÕâÖÖ·½·¨È±µãÊÇ£ºÒ»´úÂë½Ï¸´ÔÓ£¬ÐèÒª´¦Àí¸÷ÖÖASCII×Ö·ûÐÅÏ¢£»¶þÊÇͨ¹ý±à³ÌÖ»ÄÜʵÏÖºÜÉٵı༹¦ÄÜ£¬ÈçÓÃÍ˸ñ¼üɾ³ýǰһ×Ö·û£¬ÓÃDel¼üɾ³ýËùÓÐ×Ö·û£»ÈýÊÇÕâÖÖ·½·¨²»ÄÜÊäÈ뺺×Ö£¬Ê¹ÓÃÆðÀ´Êܵ½ºÜ´óµÄÏÞÖÆ¡£ ·½·¨¶þ£º ÀûÓÃÒ»Îı¾¿ò×÷Ϊ»º³å£¬ÊµÏֱ༹¦ÄÜ¡£µ±Íø¸ñ¸Ä±äÐÐÁÐʱ£¬°ÑÍø¸ñµ±Ç°ÐÐÁеÄÄÚÈÝ´«µÝ¸øÎı¾¿ò£»µ±Íø¸ñÖÐÓÐASCII×Ö·û²úÉúʱ£¬°ÑÊäÈë½¹µãÉèÖÃΪÎı¾¿ò£¬²¢°ÑÊäÈëµÄASCII×Ö·ûË͸øÎı¾¿ò£»µ±±à¼ÍêÎı¾¿òµÄÄÚÈÝʱ£¬°´Enter¼ü»òTAB¼ü£¬°ÑÎı¾¿òµÄÄÚÈÝË͸øÍø¸ñµÄµ±Ç°ÐÐÁУ¬²¢°ÑÊäÈë½¹µãÉèÖÃÎªÍø¸ñ¡£ÈçϳÌÐòËùʾ£¨ÆäÖÐTextlΪÎı¾¿ò£¬LabellΪ±êÇ©£¬GridlÎªÍø¸ñ£©£º Option Explicit Const EnterAsc£½13 Const TabAsc£½9 Private Sub Form£Load£¨£© Labell£®Caption£½¡±ÇëÊäÈ롱 End Sub Private Sub Gridl£KeyPress£¨KeyAscii As Integer£© Text1£®StFocus Textl£®SelStart£½0 If KeyAscii £¼£¾ EnterAsc And KeyAscii £¼£¾ TabAsc Then SendKeys Chr £¨KeyAscii£© End IF End Sub Private Sub Gridl£RowColChange£¨£© Textl£®Text£½Grid1£®Text End Sub Private Sub Text1£KeyPress£¨KeyAscii As Integer£© If KeyAscii£½EnterAsc Then Grid1£®SetFocus KeyAscii£½0 End If End Sub Private Sub Text1£LostFocus£¨£© Grid1£®Text£½Text1£®Text End Sub
|
Visual Basic ÖÐÎı¾¿ò´¦Àí¼¼Çɼ¯ÝÍ ÁõÇ¿ |
ÔÚVisual BasicÖУ¬Îı¾¿ò£¨TextBox£©ÊÇ×î³£ÓõĿؼþ£¬ÊìÁ·ÔËÓÃÎı¾¿òÊÇ¿ª·¢³ö¸ßÖÊÁ¿µÄÓ¦ÓóÌÐòµÄ»ù´¡¡£±ÊÕßÔÚ´ÓÊÂÓ¦ÓóÌÐò¿ª·¢ÖУ¬ÃþË÷³öÓйØÎı¾¿òµÄÓ¦Óü¼ÇÉ£¬Ð´³öÀ´ÓëVB°®ºÃÕß¹²Ïí¡£ 1¡¢ÉèÖÃÖ»¶ÁÎı¾¿ò¡£ ÓÐЩʱºòÔÚ´°¿ÚÏÔʾһ¶ÎÐÅÏ¢£¬µ«ÓÖ²»Ï£ÍûÓû§È¥¸Ä±äËü£¬ÔõÑùʵÏÖÎı¾µÄÖ»¶ÁÄØ£¿Ê×ÏÈ£¬ÎÒÃÇ¿ÉÒÔÀûÓñêÇ©¿ò£¨ label £©µÄÖ»¶ÁÊôÐÔ£¬ÒÔ±êÇ©À´´úÌæÎı¾¿òÒÔʵÏÖÖ»¶ÁÊôÐÔ£¬µ«Ò²¿ÉÒÔÓÃС³ÌÐòʵÏÖÕæÕýµÄÎı¾¿òµÄÖ»¶Á¡£ Sub Text1_KeyPress (keyascii As Integer) keyascii = 0 End Sub »òÕßÒ²¿ÉÒÔÓÃsendkey·½·¨Ê¹Îı¾¿òʧȥ½¹µã£¬ÈçÒÔϳÌÐò£º Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer) SendKeys "{tab}" End Sub 2¡¢ÏÞ¶¨Îı¾¿òµÄÊäÈëÄÚÈݺ͸ñʽ¡£ ÒÔϳÌÐò¿ÉÒÔʵÏÖÏÞ¶¨Îı¾¿òÖ»ÄÜÊäÈëÊý×Ö£º Sub Text1_KeyPress (keyascii As Integer) If keyascii <48 Or keyascii> 57 Then Beep Beep johny@nease.net keyascii = 0 End If End Sub ÈôÏëÏÞ¶¨Îı¾¿òÊäÈë¸ñʽ£¬¿ÉÒÔʹÓÃVBµÄFORMATº¯Êý£¬Ò²¿ÉÒÔʹÓÃרҵ°æµÄÆÁ±Î¿Ø¼þ(Masked Edit)£¬Í¨¹ýÉ趨ÆÁ±Î¿Ø¼þµÄMaskÊôÐÔ¿ÉÒÔ¶ÔÎı¾¿òµÄÊäÈë¸ñʽ×÷¾«È·¿ØÖÆ¡£ ¡¡ 3¡¢ÎªTextBox ´´½¨¿ì½Ý¼ü¡£ VB¹æ¶¨£¬Ìí¼ÓÔÚ´°ÌåÉϵĿؼþ¾ùÔÚÆäTabindex ÊôÐÔÖмÇÔØÆä¼ÓÔØË³Ðò£¬³ÌÐòÔËÐÐʱ½¹µã°´Tabindex ÊôÐԹ涨µÄ˳ÐòÔڿؼþ¼äÌø×ª¡£¶øÎªÁ˼ò»¯²Ù×÷£¬¿ÉVBÖÐΪÈκξßÓÐ captionµÄÊôÐԵĿØÖÆ´´½¨¿ì½Ý¼ü£¬Õâͨ¹ýcaption ÊôÐÔÖÐÔÚÏë×÷Ϊ¿ì½Ý¼üµÄ×Öĸǰ¼Ó&ºÅʵÏÖ¡£µ«ÓÐÒ»¸öÎÊÌâÖµµÃ×¢Ò⣬¶øÀàËÆÎı¾¿òÕâÑùµÄ¿Ø¼þÎÞ caption ÕâÑùµÄÊôÐÔ£¬Õâʱ¿É½«±êÇ©ÓëÎı¾¿òͬʱʹÓá£Îª lable´´½¨¿ì½Ý¼ü£¬±êÇ© Tabindex ÊôÐÔÉèÖñÈÎı¾¿òС1£¬ÓÖÒòΪlabel ²»ÄܽÓÊÕ°´µã£¬½¹µã»á×Ô¶¯ÌøÖÁÎı¾¿ò¡£ÕâÏ൱ÓÚΪÎı¾¿ò´´½¨ÁË¿ì½Ý¼ü¡£¾ßÌå²½ÖèÈçÏ£º £¨1£© Ê×ÏÈ»æÖƱêÇ©£¬ÔÙ»æÖÆÎı¾¿ò¡£»òËæÒâ»æÖÆ¸÷ÖÖ¿ØÖÆ£¬½«±êÇ© Tabindex ÊôÐÔÉèÖñÈÎı¾¿òС1 £¨2£© ÔÚ±êÇ©µÄcaption ÊôÐÔÖÐʹÓá°&¡±ºÅÉ趨¿ì½Ý¼ü ÕâÑù¾ÍÏ൱ÓÚΪÎı¾¿òÉ趨ÁË¿ì½Ý¼ü£¬µ±Ä㰴ϱêÇ©¿òµÄ¿ì½Ý¼üʱ£¬½¹µã¾Í»áÌøÖÁÎı¾¿òÉÏ¡£ ¡¡ 4¡¢ÔÚÉè¼ÆÊ±ÊµÏÖÎı¾¿ò»»ÐС£ ¶ÔÓÚÎı¾¿ò£¬ÔÚÉè¼ÆÊ±properties ´°¿Ú²»ÄÜÊäÈë»»Ðзû£¬µ«¿ÉÒÔÔÙ³ÌÐòÖ´ÐÐʱÓôúÂëÀ´»»ÐУ¬¼´Ê¹Óà ASCII×Ö·ûµÄ13ºÍ10£¬ÈçÏÂÁÐС³ÌÐò¾Í¿É½«Á½ÐÐÎı¾·ÅÈëÎı¾¿ò£º Sub form_load( ) NL=chr(13)+chr(10) text1.text=¡°my name is ¡±& NL & ¡° liu qiang¡± End sub ¡¡ 5¡¢´´½¨¿ÚÁîÎı¾¿ò¡£ ´´½¨¿ÚÁîÎı¾¿ò¿ÉÓÃÉèÖÃÊôÐԵķ½·¨£¬Ò²¿ÉÒÔͨ¹ýµ÷ÓÃWINDOWSµÄAPIÓ¦Óú¯Êý½Ó¿ÚÀ´ÊµÏÖ¡£Ê×ÏÈ£¬Îı¾¿òµÄÊôÐÔ PasswordcharºÍmaxlength ¿ÉÓÃÀ´ÉèÖÿÚÁî¿ò¡£ÆäÖÐ Passwordchar Ö¸¶¨Îı¾¿òÏÔʾµÄ×Ö·û£¬ÈçÖ¸¶¨¡°*¡±£¬ÔòÔÚÎı¾¿òÄÚÏÔʾ¡°*¡±£¬MaxlengthÈ·¶¨Îı¾¿òÖÐÄÜÊäÈ뼸¸ö×Ö·û¡£³¬¹ýMaxlengthÒÔºó£¬Îı¾¿ò·¢³ö¾¯¸æÉù£¬²»ÄܽÓÊÕ¸ü¶àµÄ×Ö·û¡£ÈôʹÓÃWINDOWSÓ¦Óú¯Êý½Ó¿Ú£¬¿ÉÓÃGetWindowLong¡¢SetWindowsLongºÍSendMessageµÈ½Ó¿Úº¯ÊýÀ´ÊµÏÖ£¬ÓÐÐËȤµÄ¶ÁÕ߿ɲéÔÄWindows APIº¯ÊýÊÖ²á»òVBµÄÁª»ú°ïÖúÎļþ£¬ÕâÀï¾Í²»Ò»Ò»×¸ÊöÁË¡£
|
·ÀÖ¹Îı¾¿Ø¼þÖеIJ¿·Ö¹ö¶¯ Ì· ÎÌ |
Windows APIµÄSendMessageº¯Êý¿ÉÒÔÓÃÀ´ÏòVisualBasic¿Ø¼þÖз¢ËÍÏûÏ¢£¬ÀýÈçÏòÎı¾¿ò¿Ø¼þÉÏ·¢ËÍÏûÏ¢¡£±¾ÎĽéÉÜÈçºÎÀûÓøú¯Êý·ÀÖ¹Îı¾¿ò¿Ø¼þÖеIJ¿·ÖÎı¾¹ö¶¯£¬¼´¸Ã¿Ø¼þÖв»Äܹö¶¯µÄ²¿·Ö²»Äܱ»Óû§¿´¼û¡£ ·¢ËÍÏûÏ¢µ½Îı¾¿ò¿Ø¼þ Visual BasicÖеÄÎı¾¿ò¿Ø¼þ¾ÍÊÇÒ»¸ö×îС»¯µÄ×Ö´¦Àí³ÌÐò¡£µ±¸ÃÎı¾¿Ø¼þµÄMultiLineÊôÐÔ±»ÉèÖÃΪTrueµÄʱºò£¬ÔòÎı¾¿ÉÒÔ×Ô¶¯»»ÐУ»µ±ÔÚÎı¾¿ò¿Ø¼þÖмüÈëÁËÐí¶àÎı¾Ê±£¬¿Ø¼þÖеÄÎı¾»áÏòÉϹö¶¯¡£ÕâʱÎı¾¾Í±äµÃ¿´²»µ½ÁË£¬µ«ÕâЩÎı¾Êµ¼ÊÉÏÈÔÈ»ÔڿؼþÖСª¡ªËüÃDz¢Ã»Óб»É¾³ý¡£ Windows APIµÄSendMessageº¯Êý¿ÉÒÔÓÃÀ´·ÀÖ¹Îı¾¿ò¿Ø¼þÖеÄÎı¾¹ö¶¯Òò¶ø³¬³öÎÒÃǵÄÊÓÏß¡£µ±´´½¨¸ÃÎı¾¿ò¿Ø¼þʱ£¬ËüµÄ¿Í»§ÇøÓò¸ñʽ»¯ÎªÒ»¸ö¾ØÐΣ¨¸ÃÇøÓò¾ÍÊǼüÈëÎı¾µÄµØ·½£©£¬¿ÉÒÔ¸ø¸Ã¿Ø¼þ·¢ËÍEM_SETRECTNPÏûÏ¢£¬¶Ô¸Ã¾ØÐÎÇøÓò½øÐÐÏÞÖÆ£¬ÒÔÔÚÎı¾¿òµÄ¿Í»§ÇøÓòÖÐÖ¸¶¨Ò»¸öÌØ¶¨ÇøÓò¡£ ÔÚÏÂÃæµÄÑùÀý³ÌÐòÖУ¬ÎÒÃÇÏ£ÍûÎı¾¿Ø¼þµÄºóÒ»°ëÔ·â²»¶¯µØ±£³ÖÍêÕû£¬¼´²»Ï£ÍûÎı¾¹ö¶¯¶ø³¬³öÊÓÏß¡£¿ÉÒÔ´ÓÎı¾¿ò¿Ø¼þµÄHeightÊôÐÔÖÐÌáÈ¡³öËüµÄ¸ß¶È£¬²¢½«¸ÃÖµ³ýÒÔ2£¬µÃµ½¸ÃÎı¾¿ò¿Ø¼þºóÒ»°ëµÄ×ø±ê¡£È»ºó½«¸Ã½á¹û´«µÝ¸øSendMessageº¯Êý£¬¸æËßEM_SETRECTNP·ÀÖ¹¸Ã¾ØÐÎÇøÓò¹ö¶¯¡£ ÓÐЩ³ÌÐòÔ±¿ÉÄÜ»áÏ£ÍûʹÓÃEM_SETRECTÏûÏ¢´úÌæEM_SETRECTNPÏûÏ¢¡£µ«ÊÇ£¬Ê¹ÓÃEM_SETRECTÏûÏ¢»áÍ£Ö¹Windows¶Ô¸Ã¸ñʽ»¯¾ØÐÎÇøÓòÖеÄÎı¾µÄÖØÐ»æÖÆ£¬µ¼ÖÂÎı¾¿ò¿Ø¼þÖеÄÎı¾»á¿´²»µ½¡£ ¡¡ ÑùÀý³ÌÐò ¸Ã³ÌÐòÏÔʾÁËÈçºÎÁÙʱ¶³½áÒ»¸öÎı¾¿ò¿Ø¼þÖеÄÌØ¶¨²¿·Ö£¬¸Ã²¿·Ö°üº¬µÄÎı¾²»Äܹö¶¯£¬Òò¶ø²»»á³¬³öÊÓÏßÖ®Íâ¡£ 1.ÔÚVisualBasicÖпªÊ¼Ò»¸öÐµĹ¤³Ì£¬²ÉÓÃȱʡµÄ·½·¨½¨Á¢Form1¡£ 2.½«Èçϳ£Á¿ºÍÉùÃ÷Óï¾äÌí¼Óµ½Form1µÄͨÓÃÉùÃ÷²¿·ÖÖУ¨×¢Òâ¸ÃÉùÃ÷Óï¾äÐèÒªÊéдÔÚÒ»ÐÐÄÚ£©£º Private Declare Function SendMessage Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long Const WM_USER = &H400 Const EM_SETRECTNP = WM_USER + 4 Const EM_SETRECT = WM_USER + 3 ¶ÔÓÚ32λ»·¾³ÏÂʹÓÃVisual Basic5.0µÄÓû§£¬ÐèÒª½«ÈçÏÂÉùÃ÷Óï¾äÌí¼Óµ½Form1µÄͨÓÃÉùÃ÷²¿·ÖÖУº Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Const EM_SETRECTNP = &HB4 Const EM_SETRECT = &HB3 3.½«ÈçÏ´úÂëÌí¼Óµ½Form1µÄForm_LoadʼþÖУº Private Sub Form_Load() Text1.Text = " Õâ ÊÇ ÎÒ ÃÇ Ï£ Íû ÏÔ Ê¾ ³ö À´ µÄ µÚ Ò» ¶Î" Text1.Text = Text1.Text & " Ëü λ ÓÚ ÎÄ ±¾ ¿ò ¿Ø ¼þ ÖÐ" Text1.Text = Text1.Text & Chr$(13) & Chr$(10) & " Õâ ÊÇ µÚ ¶þ ¶Î£¬ ÎÒ ÃÇ" Text1.Text = Text1.Text & " Ï£ Íû ½« Ö® ¶³ ½á ÒÔ Ê¹ ÎÄ ±¾ ²» ÄÜ ¹ö ¶¯ " End Sub 4. ½«ÈçÏ´úÂëÌí¼Óµ½Form1µÄClickʼþÖУº Private Sub Form_Click() Dim R As RECT Dim X As Long ScaleMode = 3 R.Left = 0 R.Top = 0 R.Right = Text1.Width R.Bottom = Text1.Height / 2 X = SendMessage(Text1.hWnd, EM_SETRECTNP, 0, R) End Sub 5.´´½¨Ò»¸öеÄÄ£¿é¡£²ÉÓÃȱʡµÄ·½·¨½¨Á¢Module1.Bas¡£ 6.½«ÈçÏÂTYPE½á¹¹Ìí¼Óµ½Module1.BasÖУº Type RECT Left As Integer Top As Integer Right As Integer Bottom As Integer End Type ¶ÔÓÚ32λ»·¾³ÏÂʹÓÃVisual Basic 5.0µÄÓû§£¬ÐèÒª½«ÈçÏÂTYPE½á¹¹Ìí¼Óµ½Module1.BasÖУº Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type 7.ÔÚForm1ÉÏÌí¼ÓÒ»¸öÎı¾¿ò¿Ø¼þ£¬²ÉÓÃȱʡµÄ·½·¨½¨Á¢Text1£¬½«ÆäMultiLineÊôÐÔÉèÖÃΪTrue¡£ °´ÏÂF5À´Ö´ÐиóÌÐò£¬ÎÒÃÇ¿ÉÒÔ¿´µ½Îı¾¿òÏÔʾÔÚForm1ÉÏ¡£ÔÚ´°ÌåÉϵ¥»÷Ò»´ÎÊó±ê£¬½«ÐµÄÎı¾¼üÈëµ½¸ÃÎı¾¿ò¿Ø¼þÖС£ÕâʱÎÒÃÇ¿ÉÒÔ×¢Òâµ½£¬µ±ÎÒÃÇÔÚÎı¾¿ò¿Ø¼þµÄ¿ªÍ·´¦¼üÈëеÄÎı¾Ê±£¬ÔÚÎı¾¿ò¿Ø¼þϰ벿·ÖµÄÎı¾²»»á¹ö¶¯¡£ Èç¹ûÎÒÃǽ«EM_SETRECTÏûÏ¢Ìæ´úEM_SETRECTNPÏûÏ¢·¢Ë͸øÎı¾¿ò£¬ÔÙ´ÎÔËÐиóÌÐò£¬ÕâʱÎÒÃǻᷢÏÖ£¬Îı¾¿òµÄϰ벿·ÖÏÔʾ²»³öÀ´£¬¾¡¹Üʵ¼ÊÉÏÎı¾ÈÔÈ»ÊÇ´æ´¢ÔڿؼþÖеġ£
|
·ÀÖ¹Óû§±à¼Îı¾¿ò¿Ø¼þÖеÄÄÚÈÝ Ì· ÎÌ |
Visual BasicÖеÄÎı¾¿ò¿Ø¼þÔÊÐíÓû§ÔÚÆäÖмüÈëÎı¾£¬ÒÔ±ãÔÚ³ÌÐòÖÐʹÓá£Ïà·´£¬³ÌÐòÔ±¿ÉÄÜ»áÏ£ÍûÏÔʾһЩÎı¾µ«²»Ï£ÍûÓû§±à¼¸ÃÎı¾¡£±¾ÎĽéÉÜÁËÈçºÎ´´½¨Ö»¶ÁµÄÎı¾¿ò¿Ø¼þµÄÄÚÈÝ¡£ ʹһ¸öÎı¾¿ò¿Ø¼þÖ»¶Á ÔÚVisual BasicÖУ¬Èç¹ûÎı¾¿ò¿Ø¼þµÄMultiLineÊôÐÔÉèÖÃΪTrue£¬Îı¾½«»á×Ô¶¯µØ»»Ðе½ÏÂÒ»ÐС£ÁíÍ⣬Èç¹ûÎı¾¿ò¿Ø¼þµÄScrollBarsÊôÐÔÉèÖÃΪ3-Both£¨»òÕß1-Vertical£¬»òÕß2-Horizontal£©£¬Óû§»¹Äܹ»¹ö¶¯¿Ø¼þÖеÄÄÚÈÝ¡£ ³ÌÐòÔ±ÒªÏëʵÏÖÎı¾¿ò¿Ø¼þÖеÄÎı¾²»¿É±à¼£¬¿É½«Îı¾¿ò¿Ø¼þÖеÄÄÚÈÝÉèÖÃΪֻ¶Á״̬£¬Õâ¿ÉÒÔͨ¹ýʹÓÃMicrosoft Windows Ó¦ÓóÌÐò±à³Ì½Ó¿Ú£¨API£©µÄSendMessageº¯ÊýÀ´ÊµÏÖ¡£SendMessageº¯Êý¿ÉÒÔÓÃÀ´·¢ËÍÒ»¸öEM_SETREADONLYÏûÏ¢µ½Îı¾¿ò¿Ø¼þÖУ¬Õ⽫ʹÎı¾¿ò¿Ø¼þ±äΪֻ¶Á¡£ ÒªÔÚ³ÌÐòÖÐʹÓøÃSendMessageº¯Êý£¬ÐèÒª½«ÈçϵÄÉùÃ÷Óï¾ä°üº¬ÔÚÏîÄ¿µÄͨÓÃÉùÃ÷²¿·ÖÖУ¨×¢Òâ¸ÃÉùÃ÷Óï¾äÐèÒªÊéдÔÚÒ»ÐÐÄÚ£©£º Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long ¸ÃSendMessage º¯ÊýÐèÒª4¸ö²ÎÊý£¬ÈçÏÂËùʾ£º hwndÒ»¸ö³¤ÕûÊýÖµ£¬Ëü°üº¬Îı¾¿ò¿Ø¼þµÄ¾ä±ú¡£ wMsgÒ»¸ö³¤ÕûÊýÖµ£¬Ëü°üº¬±»·¢Ë͵ÄÏûÏ¢£¬ÔÚÕâ¸öÀý×ÓÀÊÇEM_SETREADONLY¡£ wParamÒ»¸öÕûÊýÖµ£¬Èç¹ûËüΪTrue£¬Ôò¿Ø¼þ±»ÉèÖÃÖ»¶Á±ê¼Ç£¬Èç¹ûËüΪFalse£¬Ôòɾ³ý¿Ø¼þµÄÖ»¶Á±ê¼Ç¡£ lParamÒ»¸ö³¤ÕûÊýÖµ£¬ËüÓ¦¸Ã±»ÉèÖÃΪ0£¨EM_SETREADONLY²»Ê¹ÓÃËü£©¡£ ÔÚ³ÌÐòÔËÐÐÁË´ËSendMessageº¯ÊýÖ®ºó£¬½«·µ»ØÒ»¸ö³¤ÕûÊýÖµ£¬Ö¸Ã÷µ÷Óóɹ¦£¨·µ»ØÖµ·Ç0£©»òÊÇʧ°Ü£¨·µ»ØÖµÎª0£©¡£ ÑùÀý³ÌÐò ¸Ã³ÌÐòÏÔʾÁËÈçºÎ·ÀÖ¹Óû§±à¼Ò»¸öÎı¾¿ò¿Ø¼þÖеÄÄÚÈÝ¡£ 1.ÔÚVisual Basic ÖпªÊ¼Ò»¸öÐµĹ¤³Ì£¬²ÉÓÃȱʡµÄ·½·¨½¨Á¢Form1¡£ 2.½«Èçϵij£Á¿ºÍÉùÃ÷Óï¾äÌí¼Óµ½Form1µÄͨÓÃÉùÃ÷²¿·ÖÖУ¨×¢Òâ¸ÃÉùÃ÷Óï¾äÐèÒªÊéдÔÚÒ»ÐÐÄÚ£©£º Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long Const WM_USER = &H400 Const EM_SETREADONLY = (WM_USER + 31) 3.ÔÚForm1ÉÏÌí¼ÓÒ»¸öÎı¾¿ò¿Ø¼þ£¬²ÉÓÃȱʡµÄ·½·¨½¨Á¢Text1¡£½«ÆäMultiLineÊôÐÔÉèÖÃΪTrue£¬²¢ÇÒ½«ËüµÄScrollBarsÊôÐÔÉèÖÃΪ3-Both¡£ 4.ÔÚForm1ÉÏÌí¼ÓÒ»¸öÃüÁî°´Å¥¿Ø¼þ£¬²ÉÓÃȱʡµÄ·½·¨½¨Á¢Command1¡£ 5.½«ÈçϵĴúÂëÌí¼Óµ½Command1µÄµ¥»÷ʼþÖУº Private Sub Command1_Click() Dim RetVal As Long RetVal = SendMessage(Text1.hwnd, EM_SETREADONLY, True, ByVal 0&) End Sub ͨ¹ý°´ÏÂF5¼üÀ´Ö´ÐÐÑùÀý³ÌÐò¡£ÔÚÎı¾¿ò¿Ø¼þÖмüÈëһЩÎı¾£¬¿ÉÒÔʹÓÃˮƽºÍ´¹Ö±¹ö¶¯ÌõÀ´¹ö¶¯Îı¾£¬»¹¿ÉÒԸıäÎı¾µÄÄÚÈÝ¡£µ¥»÷ÃüÁî°´Å¥£¬Óû§ÈÔÈ»¿ÉÒÔʹÓùö¶¯Ìõ»òÊǹâ±ê¼üÀ´²é¿´Îı¾¿ò¿Ø¼þµÄÄÚÈÝ£¬µ«ÊDz»Äܱà¼Ëü¡£¡¡
|
ÇÉÓÃVisual BasicµÄTIMER¿Ø¼þ Çൺ Ö£º£²¨ |
Visual BasicÌṩһ¸öTimer¿Ø¼þ£¬Æä±¾ÖÊÉÏÊÇÒ»¸ö¾ßÓмä¸ôʱ¼äÉèÖÃËù´¥·¢µÄʱ¼ä³ÌÐò£¬Ê¹ÎÒÃÇ¿ÉÒÔ½«ÆäÒþ²ØÔÚϵͳÖУ¬ÒÔijһʱ¼ä¼ä¸ô´¥·¢Ïà¹Ø³ÌÐò¡£Áé»îµØÔËÓÃËü¿ÉÒÔÈ¡µÃºÜÇÉÃîµÄЧ¹û¡£ ÏÂÃæ£¬ÎÒÃǾÙÒ»¸öÀý×Ó¡£ ÎÒÃÇ¿ÉÒÔÔÚ½çÃæÉè¼ÆÖÐÉè¼Æ³öÕâÑùÒ»ÖÖЧ¹û£ºÒ»ÐÐÎÄ×ÖÔÚ´°ÌåÖÐ×Ô×óÏòÓÒÖð½¥¹ö¶¯£¬´ÓÓұߡ°¹ö¡±³ö´°ÌåµÄÎÄ×Ö£¬ÓÖÔÚ×ó±ßÖð½¥³öÏÖ¡£Èç´ËÑ»·ÏÂÈ¥¡£ÀàËÆµçÊÓÉϵĹö¶¯ÐÅÏ¢¡£ÕâÑù¿ÉʹÄãÉè¼ÆµÄÈí¼þÏԵúÜÉú¶¯£¬¼«Ò×ÒýÆðÓû§µÄÐËȤ ¡£Æäʵ£¬Ê¹ÓÃVisual BasicµÄTimer¿Ø¼þ¾Í¿ÉºÜÈÝÒ×µØÊµÏÖËü¡£ Ê×ÏÈ£¬ÎÒÃÇÔÚ´°ÌåÖÐÉèÖÃÁ½¸öLabel¿Ø¼þLabel1¡¢Label2¡£ÕâÁ½¸ö¿Ø¼þÖгýLeftÊôÐÔÍ⣬ÆäËûÊôÐÔÉèÖóÉÍêȫһÑù¡£ÕâÖ÷ÒªÊÇΪÁËʵÏÖÑ»·¹ö¶¯µÄЧ¹û¡£ËüÃǵÄCaptionÊôÐÔÉèÖÃΪҪ¹ö¶¯ÏÔʾµÄÎÄ×Ö¡£ÁíÍâÔÙµ÷ÕûºÃÆä×ÖÌå¡¢´óСºÍÑÕÉ«µÈ¡£ÔÚForm£Load¹ý³ÌÖÐÉèÖÃLabel2£®Left£½£6240£¨´°Ìå¿í¶È£©£¬Label1£®Left£½0¡£ÕâÑù¿É±£Ö¤Laª²bel1µÄÒ»²¿·Ö¡°¹ö¡±³ö´°Ì壬ÔòLabel2µÄÒ»²¿·Ö¾Í½øÈë´°Ìå¡£¶øÐγÉÑ»·¹ö¶¯ÔÚ´°ÌåÖÐÉèÖÃ?/FONT>Timer¿Ø¼þ¡£Timer¿Ø¼þµÄIntervalÊôÐÔ¾ö¶¨¹ö¶¯µÄËÙ¶È£¬µ¥Î»ÊǺÁÃë¡£ÀýÈ磬ÎÒÃÇÉèÖóÉ300£¬Ôòÿ¸ô0£®3Ãë¹ö¶¯Ò»´Î¡£È»ºó£¬ÔÚTimer1£Timer£¨£©¹ý³ÌÖмÓÈëÈçϳÌÐò£º Private Sub Timer1£Timer£¨£© Label1£®Left£½Label1£®Left£«50 Label2£®Left£½Label2£®Left£«50 If Label1£®Left£¾£½6240 Then Label1£®Left£½£6240 End If If Label2£®Left£¾£½6240 Then Label2£®Left£½6240 End If End Sub ¹ö¶¯Ð§¹û¾ÍÐγÉÁË£¬¸ÐÐËȤµÄ¶ÁÕß¿ÉÒÔÊÔÊÔ¿´¡£Ö»ÒªÁé»îÔËÓÃTimer¿Ø¼þ£¬ÎÒÃÇ»¹¿ÉÒÔÉè¼Æ³ö¸üÓÐȤµÄЧ¹û¡£ÈçÓÃTimer¿Ø¼þ¿ØÖư´Å¥¿Ø¼þµÄVisibleÊôÐÔ£¬ÐγÉÉÁ˸°´Å¥¡£ÓÃTimer¿Ø¼þ¿ØÖÆÏÔʾ²»Í¬µÄͼÏó£¬Ðγɼòµ¥µÄ¶¯»¡£
|
ÈçºÎʹVBµÄÍø¸ñ¿Ø¼þ¾ßÓÐÊäÈ빦ÄÜ ºÓ±± Íõ´äÈÙ ÍõÈ«º£ |
ÎÒÃÇÔÚʹÓÃVisual Basic for Windows¿ª·¢Ê±£¬¾³£Óõ½Íø¸ñ¿Ø¼þ£¨Grid.vbx£©£¬ÒòΪ´Ë¿Ø¼þ¿ÉÒÔÓÃÀ´×÷ÀàËÆÓÚµç×Ó±í¸ñÐÎʽµÄÊä³ö±í£¬ÇÒ±à³Ì¼òµ¥£¬µ«ÔÚ´ËÍø¸ñ¿Ø¼þÖ»ÓÐÊä³ö¹¦ÄÜ£¬¶ø²»ÄÜÖ±½ÓÔÚÍø¸ñÉÏÊäÈ룬Õâ¸øÊ¹ÓÃÕß´øÀ´Ò»Ð©²»±ã¡£ÈçºÎÔÚÖ´ÐÐʱÏòÍøÂç¿Ø¼þÖÐÊäÈëÊý¾Ý£¬ÈËÃÇʹÓÃÁËһЩ·½·¨£¬µ«´ó¶¼Ê¹ÓÃÒ»Îı¾¿Ø¼þ×÷Öмäת»»£¬¼´½«ÓûÊäÈëµÄÐÅÏ¢ÏÈÊäÈëµ½¸ÃÎı¾¿Ø¼þ£¬È»ºó½«Îı¾¿Ø¼þµÄTEXTÊôÐÔ¸³¸øÍø¸ñµÄTEXTÊôÐÔ£¬ÕâÖÖ·½·¨¾¡¹Ü½â¾öÁËÏòÍø¸ñÊäÈëÊý¾ÝÎÊÌ⣬µ«Ôö¼ÓÁËÒ»Îı¾¿ò£¬¶Ô½çÃæÓÐЩ²»ÃÀ¹Û£¬Ð޸IJ¿·ÖÊý×Ö²»·½±ã£¬ÇÒÓ°ÏìËÙ¶È£¬ÄÇô£¬ÈçºÎÖ±½ÓÏòÍø¸ñÊäÈëÊý¾ÝÄØ£¿ ±¾ÎĽ«½â¾öÖ±½ÓÏòÍø¸ñÊäÈëÊý¾ÝÎÊÌ⣬»ù±¾Ë¼ÏëÊÇ£ºÊ¹ÓÃÍø¸ñ¿Ø¼þKeyPressʼþ£¬´Ó¼üÅÌÉϽÓÊÕËù»÷¼üλµÄKeyAsciiÖµ£¬ÔÙÓÉChr¡ç£¨£©»òChr£¨£©º¯Êýת»»³É×Ö·û£¬È»ºó¶Á³öÍø¸ñµ¥ÔªµÄµ±Ç°TextÖµÓëÓɼüÅ̽ÓÊÕµ½µÄ×Ö·ûÏà¼Ó£¬×é³ÉеÄ×Ö·û´®£¬ÔÙ¸³¸ø¸Ãµ¥ÔªµÄTextÊôÐÔ£¬¼´Grid£®Text£½Grid£®Text£«Chr¡ç£¨KeyAscii£©¡£³ÌÐòÇåµ¥ÈçÏ£º ³ÌÐòÖж¨ÒåÁËÁ½¸öForm¼¶±äÁ¿WgridCol£¥ºÍWgridRow£¥¡£ Sub Grid£KeyPress£¨KeyAscii as Integer£© Grid£®Col£½WgridCol£¥ Grid£®Row£½WgridRow£¥ if KeyAscii£½8Then £àkeyascii£½8ΪÍ˸ñɾ³ý¼ü if Grid£®Text£¼£¾¡±¡±Then Grid£®text£½Mid¡ç£¨Grid£®text£¬ 1£¬Len£¨Grid£®text£©£1£©¡®É¾³ý×îºóÒ»¸ö×Ö·û Else Grid£®text£½Grid£®text£«Chr¡ç£¨KeyAscii£© End if End Sub Sub Grid£RowColChange£¨£© Wgrid£®Col£¥£½Grid£®Col Wgrid£®Row£¥£½Grid£®Row End Sub ÕâÑù¾Í¿ÉÒÔʵÏÖ¶ÔÍø¸ñµÄÈÎÒâÊäÈ룬¿ÉÒÔÊäÈë×Ö·û¡¢Êý×ֵȵȡ£ÓÉÓÚÊý×Ö0µ½9µÄAsciiֵΪ48µ½57£¬Ð¡ÊýµãAsciiµÄֵΪ46£¬ËùÒÔ¿ÉÒÔÊäÈëÈÎÒâʵÊý¡£ÈôÄúÏë·ÀÖ¹Óû§ÊäÈë³ýÊý×Ö¡¢Ð¡ÊýµãÒÔÍâµÄÈÎºÎÆäËû×Ö·û£¬¿É¶ÔÀ´×ÔÓÚ¼üÅ̵ÄAsciiÖµ½øÐÐÅжϣ¬ÓÐÌõ¼þµØ½ÓÊÕ£¬¾ÍʵÏÖÁ˽öÊäÈëÊýÖµ×Ö·û¡£Í¬ÀíÒ²¿ÉÒÔÏÞÖÆÖ»ÊäÈë×Öĸ×Ö·û¡£ ¸ù¾ÝÕâÖÖ˼Ï룬Ҳ¿ÉÒÔ¶ÔVBÖÐÒ»Çв»¾ßÓÐÊäÈ빦ÄÜ£¬µ«¾ßÓÐKeyAscii»òÕßKeyDownʼþµÄ¿Ø¼þ½øÐÐÖ±½ÓÊäÈ룬Èç±êÇ©LabelµÈ¡£
|
ÔÚVBÖÐʹÓÃÊý¾Ý´°ÌåÉè¼ÆÆ÷²å¼þ ³¤É³ ÀîµÂÕ |
·²Ê¹ÓùýVB4ÒÔÉϰ汾µÄÓû§¶¼»á·¢ÏÖ£¬ÓëVB3Ïà±È£¬ËüÌṩÁËÒ»¸ö³ÆÖ®Îª²å¼þµÄÐÂÌØÕ÷£¬Ò»¸ö²å¼þʵ¼ÊÉÏÊÇÒ»¸öOLE·þÎñÆ÷£¬ÓÃÓÚÀ©Õ¹VB¿ª·¢»·¾³£¬ÔöÇ¿VBµÄ¹¦ÄÜ¡£ÎÒÃÇ¿ÉÒÔʹÓòå¼þΪVB²Ëµ¥Ôö¼Ó¶¨ÖÆÏ¿É¹ÜÀíµ±Ç°¼¤»î´°Ìå¼°¿Ø¼þ£¬²¢ÏìÓ¦¶àÖÖÎļþ¿ØÖÆÊ¼þ¡£VBÔÚSAMPLESĿ¼µÄALIGN¡¢DATAWIZºÍSPY×ÓĿ¼Ï¾Ͱüº¬ÁËÈý¸öÕâÑùµÄ²å¼þÓ¦ÓóÌÐò¡£ ÕâÀïÎÒÃÇ×ÅÖØÌÖÂÛDATAWIZϵÄÊý¾Ý´°ÌåÉè¼ÆÆ÷²å¼þ¡£ 1£®Êý¾Ý´°ÌåÉè¼ÆÆ÷²å¼þµÄÒýÈë ͨ³££¬ÎÒÃÇÔÚʹÓÃVBÊý¾Ý¿Ø¼þÉè¼ÆÊý¾Ý´°Ìåʱ£¬´óÁ¿µÄʱ¼ä¶¼»¨ÔÚ´°ÌåµÄ¿ÉÊÓ»¯Éè¼Æ¹ý³ÌÉÏ£¬Èç±êÇ©ºÍÊý¾Ý×°¶©¿Ø¼þµÄ½¨Á¢ºÍ¶ÔÆë¶¨Î»¡£ÎÒÃÇÉèÏëÒªÊÇÄܸù¾ÝÊý¾Ý¿â½á¹¹×Ô¶¯Éú³ÉÊý¾Ý´°Ì壬Äǽ«ÊÇÒ»¼þ·Ç³£ÁîÈËÓä¿ìµÄÊÂÇé¡£Ëæ×ÅVB4µÄÍÆ³ö£¬ÎÒÃǽ«»á¾ªÏ²µØ·¢ÏÖ£¬Ëü²»½öÌṩÁËʵÏÖ²å¼þµÄ¹¦ÄÜ£¬¶øÇÒ°üº¬ÁËÒ»¸öʵÓõÄÊý¾Ý´°ÌåÉè¼ÆÆ÷£¨Data Form Designer£©²å¼þ¡£ÀûÓøòå¼þ˲¼ä¼´¿ÉÉú³ÉʹÓÃÊý¾Ý¿Ø¼þµÄ¼òµ¥Êý¾Ý´°Ìå¡£µ«ÊÇÓÉÓڸô°ÌåÉè¼ÆÆ÷Ö»ÊÇÒ»¸öËæVB·¢ÐеÄʾÀýÓ¦ÓóÌÐò£¬ÎÒÃDZØÐëÊ×ÏÈÔØÈë¸ÃÎļþ£¬Éú³ÉVBµÄÒ»¸ö²å¼þ£¬ÔÙ°²×°¸Ã²å¼þ²ÅÄÜʹÓá£ËùÒÔVBµÄÊý¾Ý´°ÌåÉè¼ÆÆ÷¿ÉÄÜ»¹²»¹ãΪÈËÖª£¬ÏÂÃæ½«Ëü½éÉܸøVBµÄʹÓÃÕߣ¬Ï£ÍûÄÜΪËûÃÇÉè¼ÆÊý¾Ý´°ÌåÌṩ°ïÖú¡£ 2£®ÔØÈëÊý¾Ý´°ÌåÉè¼ÆÆ÷ʾÀýÎļþ Èç¹ûÊý¾Ý´°ÌåÉè¼ÆÆ÷ûÓгöÏÖÔÚ¿ÉÓòå¼þµÄÁбíÖУ¬Ôò±ØÐëÔØÈëËü£¬Æä²½ÖèÊÇ£º ¡ñÑ¡ÔñFile£üOpen Project²Ëµ¥ÃüÁ´ò¿ª£ÜVb£ÜSamples£ÜDatawiz£ÜDfd£®VbpÏîÄ¿Îļþ ¡ñÑ¡ÔñFile£üMake EXE FileÃüÁî´´½¨Ò»¸ö¿ÉÖ´ÐÐÎļþ ¡ñÔËÐиóÌÐò£¬Êý¾Ý´°ÌåÉè¼ÆÆ÷×Ô¶¯¼ÓÈëµ½ÏÂÒ»²½ÖÐҪʹÓõĿÉÓòå¼þµ½ÁбíÖÐ 3£®°²×°Êý¾Ý´°ÌåÉè¼ÆÆ÷²å¼þ °²×°Êý¾Ý´°ÌåÉè¼ÆÆ÷²å¼þÊÇͨ¹ý²å¼þ¹ÜÀíÆ÷Íê³ÉµÄ£¬Æä¹ý³ÌÊÇ£º ¡ñÑ¡ÔñAdd£Ins£üAdd£In Manager²Ëµ¥ÃüÁî ¡ñѡȡData Form Designer£¬¼´Êý¾Ý´°ÌåÉè¼ÆÆ÷ ¡ñµ¥»÷OK£¬ÔòÊý¾Ý´°ÌåÉè¼ÆÆ÷³öÏÖÔÚAdd£Ins²Ëµ¥ÖÐ 4£®Ê¹ÓÃÊý¾Ý´°ÌåÉè¼ÆÆ÷ ͨ¹ý¼¸¸ö¼òµ¥µÄ²½Öè¾Í¿É´´½¨Ò»¸ö²é¿´²¢±à¼¿âµÄʾÀýÓ¦ÓóÌÐò£º ¡ñÑ¡ÔñAdd£Ins£üData Form Deª²signer²Ëµ¥ÃüÁµ¯³öÒ»¸öÊý¾Ý´°ÌåÉè¼ÆÆ÷´°¿Ú ¡ñÊäÈë´°ÌåÃû³Æ ¡ñѡȡһ¸öÊý¾Ý¿âÀàÐÍ ¡ñµ¥»÷Open Database´ò¿ªÒ»¸öÊý¾Ý¿â ¡ñ´ÓRecordSourceÁбíÖÐѡȡÏàÓ¦±í ¡ñ´ÓAvailable ColumnsÖÐѡȡ²¿·Ö»òÈ«²¿×Ö¶ÎÖÁIncluded ColumnsÖÐ ¡ñµ¥»÷Build the Form°´Å¥£¬²úÉúËùÐèÒªµÄÊý¾Ý´°Ìå ¡ñÊý¾Ý´°Ì彨Á¢Íê±Ï£¬µ¥»÷Close°´Å¥ ¡ñÑ¡ÔñTools£üOptionsÃüÁ¸Ã´°ÌåÉèÖÃΪÆô¶¯´°Ìå ¡ñÔËÐиÃÓ¦ÓóÌÐò 5£®Êý¾Ý´°ÌåÉè¼ÆÆ÷Íê³ÉµÄ¹¤×÷ Êý¾Ý´°ÌåÉè¼ÆÆ÷Ϊ³ÌÐò¿ª·¢Õß´´½¨µÄ¿ÉÊÓ´°Ìå°üÀ¨ÒÔÏµĹ¤×÷£º ¡ñÔÚ´°ÌåÉÏÔö¼ÓÒ»¸öÊý¾Ý¿Ø¼þ£¬²¢ÎªÆäÉèÖÃConnect£¬DatabaseNameºÍRecordSourceÊôÐÔ ¡ñ¶ÔÓÚ±íÖÐËùÑ¡µÄÊý¾Ý¿â×ֶΣ¬Ôö¼ÓÒ»¸öÓÐ×Ö¶ÎÃûµÄ±êÇ©ºÍÏàÓ¦µÄ×°¶©¿Ø¼þ£¬×°¶©¿Ø¼þµÄÀàÐÍÈ¡¾öÓÚ×ֶεÄÊý¾ÝÀàÐÍ£º
|
|
×Ö¶ÎÊý¾ÝÀàÐÍ |
|
×°¶©¿Ø¼þÀàÐÍ |
|
|
|
×Ö·û´®¡¢ÈÕÆÚºÍÊýÖµ |
|
Îı¾¿ò |
|
|
|
²¼¶û |
|
¼ì²é¿ò |
|
|
|
MemoÓò |
|
¶àÐÐÎı¾¿ò |
|
|
|
¶þ½øÖÆÊý¾Ý |
|
OLE°üÈÝÆ÷ |
|
|
¡ñÔö¼ÓËĸöÃüÁî°´Å¥£ºÔö¼Ó¡¢É¾³ý¡¢Ë¢Ð¡¢¸üк͹رգ¬ÒÔÖ´Ðв»Í¬µÄÊý¾Ý·ÃÎʹ¦ÄÜ ÎªÃüÁî°´Å¥ºÍÊý¾Ý¿Ø¼þÔö¼Ó¼òµ¥µÄ³ÌÐò´úÂëºÍ×¢ÊÍ˵Ã÷ µ±È»£¬Ê¹ÓÃÊý¾Ý´°ÌåÉè¼ÆÆ÷²úÉúµÄÊý¾Ý·ÃÎÊ´°ÌåÊǷdz£¼òµ¥µÄ£¬µ«Õâ¸ö¼òµ¥µÄ´°Ìå¿ÉÒÔ×÷ΪÔÚÓ¦ÓóÌÐòÖн¨Á¢¸ü¸´ÔÓµÄÊý¾Ý·ÃÎʹ¦ÄܵĿò¼Ü½á¹¹¡£
|
| ÔÚVBÖÐÓö¨Ê±¿Ø¼þʵÏÖ³¤¶¨Ê±²Ù×÷ |
Timer¿Ø¼þ¿ÉÓÃÀ´ÔÚÒ»¶¨Ê±¼ä¼ä¸ôÖ´ÐвÙ×÷£¬È»¶ø£¬Ò»¸öTimer¿Ø¼þµÄʱ¼ä¼ä¸ôȡֵ×î´óΪ64.767ºÁÃ룬ÕâÒâζ׿´Ê¹×µÄʱ¼ä¼ä¸ôÒ²²»±ÈÒ»·ÖÖÓ³¤¶àÉÙ£¨´óÔ¼64.8Ã룩£¬Ò²¾ÍÊÇ˵һ¸öTimer¿Ø¼þÖ»ÄÜÏìÓ¦´óÔ¼Ò»·ÖÖÓÖ®ÄÚµÄʼþ¡£Èç¹ûÒªÏìÓ¦³¤Ê±¼äµÄʼþ£¬ÀýÈ磬Ҫ¿ª·¢Ò»¸öѧϰϵͳµÄ×ÔÎÒ²âÊÔ»ò¿¼ÊÔ¹ý³Ì£¬ÐèÒªÏÞÖÆÒ»¸ö¿¼ÊÔʱ¼ä£¬Ò»°ã¶¼ÔÚ£±£°¡«£±£µ£°·ÖÖÓ£¬¿ªÊ¼×Ô¶¯¼ÆÊ±£¬Ê±¼äµ½±¨¾¯¿¼ÊÔ½áÊø¡£ÔòÐè¶à¸öTimer¿Ø¼þÅäºÏʹÓã¬ÕâÑù×öÏԵüȷ±ËöÓÖ²»ÊµÓá£Æäʵ£¬¿ÉÒÔÖ»ÓÃÒ»¸öTimer¿Ø¼þ£¬ÔÚÆäTimer¹ý³ÌÖÐʹÓÃÒ»¸ö¼ÆÊýÆ÷£¬´Ó¶øÏìÓ¦ÈÎÒⳤʱ¼ä¼ä¸ôµÄʼþ¡£ ÏÂÃæÊÇÒ»¸ö¶¨Ê±ÊµÀýµÄ²¿·Ö´úÂ룺
|
|
¿Ø ¼þ |
|
Êô ÐÔ¡¡¡¡¡¡¡¡ |
|
ÉèÖõÄÖµ |
|
|
|
Label1 |
|
Caption |
|
¡åÇëÊäÈëÏÞ¶¨Ê±¼ä£¨·ÖÖÓ£©£º¡å |
|
|
|
Text1 |
|
Text |
|
¡å¡å |
|
|
|
Command1 |
|
Caption |
|
¡åÈ·ÈÏ¡å |
|
|
|
Timer1 |
|
Interval |
|
£¶£°£°£°£° |
|
|
|
|
|
Enabled |
|
False |
|
|
ÔÚ´°ÌåͨÓÃÄ£¿éGeneralÀïÉùÃ÷£Î¡¢£ÔÁ½¸ö±äÁ¿£¬£Î×÷Ϊ¼ÆÊýÆ÷£¬£ÔÓÃÀ´´æ·ÅÏÞ¶¨Ê±¼ä¡£ DIM¡¡£Î¡¡AS¡¡Integer DIM¡¡£Ô¡¡AS¡¡String Command1£¡¡Click¡¡£¨¡¡¡¡£© £Ô£½Text1.Text Timer1.Enabled£½True¡¡ ¡¡¡¡End Sub Timer1£¡¡Timer£¨¡¡¡¡£© £Î£½£Î£«£± if ¡¡n£½val(T)¡¡Then ¡¡¡¡Beep ¡¡¡¡ Timer£±.Enabled£½False ¡¡¡¡ End if End Sub ½«¶¨Ê±Æ÷µÄIntervalÊôÐÔÖµÉèΪ£¶£°£°£°£°£¬Ê¹µÃ¼ÆÊýÆ÷ÿ·ÖÖÓ¼Ó£±£¬µ±È»Ò²¿ÉÒÔÉèÖÃΪÆäËûµÄÖµ£¬È磱£°£°£°£¬ÕâÑù¾ÍʹµÃ¼ÆÊýÆ÷ÿÃëÖÓ¼Ó£±£¬µ«ÕâÑùÒªÀ˷ѽ϶àµÄϵͳʱ¼ä¡£
|
| ´¦Àí¶à¸ö¾ßÓÐÏàͬҪÇóµÄ¿Ø¼þ |
ÎÒÃÇÍùÍùÓÐʱÐèÒª´¦Àí¶à¸ö¾ßÓÐÏàÍ¬ÌØÐԵĿؼþ£¬È磺°Ñ 100 ¸ö Text ¼° Label µÄÄÚÈÝ¼ÓÆðÀ´¡£Õâʱ£¬ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæµÄ¼¼ÇÉ£º 1.Èç¹ûÊÇͬһÖÖÀàÐ͵Ŀؼþ£¬ÎÒÃÇ¿ÉÒÔʹÓÿؼþ×é´ïµ½Ä¿±ê¡£ 2.Èç¹û²»ÊÇͬһÀàÐͿؼþ£¬¿Ø¼þ×é¾ÍÎÞ·¨Ê¹Óã¬Õâʱ£¬ÎÒÃÇ»¹¿ÉÒÔÀûÓÿؼþµÄ Tag ÐÔ£¬ÎÒÃÇ¿ÉÒÔ°Ñÿ¸ö¿Ø¼þÉèÖÃÒ»¸ö Tag ±êÖ¾¡£ÔÚ³ÌÐòÖУ¬ÎÒÃÇ¿ÉÒÔÓÃÏÂÃæ´úÂëÀ´²ì¿´ÊÇ·ñÊÇÎÒÃÇÐèÒªµÄ¿Ø¼þ£º For i=0 To Controls.Count-1 If Controls(i).Tag = "MyTag" Then ...... Next i
|
| ÊäÈëÏÞÖÆÈ·ÈÏ |
ÔÚijЩӦÓóÌÐòÖУ¬ÎÒÃÇÐèÒªÏÞÖÆÔÚÎı¾¿ò»òÆäËüһЩ¿Ø¼þÖÐÖ»ÄÜÊäÈëÊý×Ö»òÒ»Ð©ÌØ¶¨µÄ×Ö·û£¬ÏÖÔÚÎÒÃÇ¿ÉÒÔͨ¹ýÏÂÃæµÄÒ»¸öº¯ÊýÀ´ÊµÏִ˹¦ÄÜ£º Function ValiText(KeyIn As Integer, ValidateString As String, Editable As Boolean) As Integer Dim ValidateList As String Dim KeyOut As Integer If Editable = True Then ValidateList = UCase(ValidateString) & Chr(8) Else ValidateList = UCase(ValidateString) End If If InStr(1, ValidateList, UCase(Chr(KeyIn)), 1) > 0 Then KeyOut = KeyIn Else KeyOut = 0 Beep End If ValiText = KeyOut End Function ÔÚ¹¤³ÌÖмÓÈë´Ëº¯Êýºó£¬Äã¾Í¿ÉÒÔʹÓÃËüÁË¡£·½·¨£ºÔÚÐèÒªÏÞÖÆÊäÈëµÄ¿Ø¼þµÄ KeyPress ¼ÓÈëÒÔÏ´úÂ룺 KeyAscii=ValiText(Keyascii, "0123456789/-",True) ÏÖÔÚÄã¾Í¿ÉÒÔ¹ýÂǵôÄ㲻ϣÍûµÄ×Ö·ûÁË¡£ÔÚ´ËÀýÖУ¬ÎÒÃÇÖ»½ÓÊܵڶþ¸ö²ÎÊýÌṩµÄ×Ö·û£¬¼´£º"0123456789/-" ¶ø´Ëº¯ÊýµÄµÚÈý¸ö²ÎÊý¾Í¾ö¶¨ÁËÄÜ·ñʹÓà [Backspace] ¼ü¡£×îºóÖµµÃÒ»ÌáµÄÊǴ˺¯Êý¶Ô´óСдÊDz»Ãô¸ÐµÄ¡£
|
| ÈçºÎÈÃTextBoxµÄÊäÈë¾ß±¸overwrite(¸²¸Ç)µÄ¹¦ÄÜ£¿ |
ÎÒ ÃÇ ÔÚ TextBox ÖÐ Ëù Êä Èë µÄ ×Ö ·û £¬ Ò» ÂÉ »á ±» TextBox ÊÇ ÊÓ ÎªÔÚ ¹â ±ê ´¦ ²å Èë (insert)РµÄ ×Ö ·û £¬ Èç ¹û Ïë ÒÔ Êä Èë µÄ ×Ö ·û overwrite(¸Çµô ) Êä Èë ¹â ±ê Ëù ÔÚ Î» Öà µÄ ×Ö ·û £¬ ¿É ÒÔ ÔÚ TextBox µÄ KeyPress Îï¼þ ³Ì Ðò ÖР׫ д ÒÔ Ï ³Ì Ðò £º Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii <> vbKeyBack And KeyAscii <> vbKeyReturn Then Text1.SelLength = 1 ' ½« Text1 ÊäÈë¹â±êλÖõÄ×Ö·û±ä³É¡¸±»Ñ¡È¡µÄ×Ö·û¡¹ Text1.SelText = Chr(KeyAscii) ' ¡¸±»Ñ¡È¡µÄ×Ö·û¡¹È¡´ú³ÉΪ¡¸ÊäÈëµÄ×Ö·û¡¹ KeyAscii = 0 ' ½«´ËÒ»×Ö·ûÍ̵ô£¬²»ÔÙ´«¸ø TextBox End If End Sub
|
| Èç ºÎ ¼Æ Ëã TextBox Ö® ÖÐ µÄ ÐÐ Êý |
¶à ÐÐ µÄ TextBox ÊÇ ÒÔ vbCr+vbLf Á½ ¸ö ×Ö ·û À´ ¶Ï ÐÐ µÄ £¬ Òò ´Ë ¼ì²é Õâ Á½ ¸ö ×Ö ·û µÄ ³ö ÏÖ ´Î Êý ¾Í ¿É ÒÔ Öª µÀ TextBox µÄ ÐÐ Êý £¬ µ«Èç ¹û TextBox Ö® ÖÐ µÄ ×Ê ÁÏ ºÜ ¶à £¬ ¼ì ²é ÐÐ Êý µÄ Ö´ ÐРЧ ÄÜ ¾Í µÍÁË Ò» µã ¡£ Ϊ ÁË Ìá Éý Ö´ ÐРЧ ÄÜ £¬ ¿É Ö± ½Ó µ÷ Óà Windows API£¬ Ê× ÏÈ ÔÚ Form µÄ (Ò» °ã ) Éù Ã÷ ÒÔ Ï µÄ ³£ Êý ¼° API£º Const EM_GETLINECOUNT = &HBA Private Declare Function SendMessageBynum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long ¶ø µ÷ Óà µÄ ·½ ·¨ Èç Ï £º ret = SendMessageBynum(Text1.hwnd, EM_GETLINECOUNT, 0, 0&) Ôò ´« »Ø Öµ ret ¼´ µÈ ÓÚ TextBox µÄ ÐÐ Êý ¡£
|
| ÈçºÎÔÚÊäÈë¹â±ê½øÈëTextBoxʱ£¬½«Õû¸öTextBoxµÄÄÚÈݱä³É·´°×£¿ |
Àû Óà GetFocus Ê ¼þ (·¢ Éú ÓÚ Êä Èë ÓÎ±ê ½ø Èë TextBox ʱ )¡¢ SelStart Êô ÐÔ (±íʾ ±» Ñ¡ È¡ Çø µÄ Æð ʼ λ Öà )¡¢ ¼° SelLength Êô ÐÔ (±í ʾ ±» Ñ¡ È¡ Çø µÄ ³¤ ¶È )£¬ ³Ì Ðò Èç Ï £º Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub
|
|
ÔÚº¬ÓÐ¾í¶¯ÖáµÄ TextBox ÖУ¬ ÈçºÎÒÔ³ÌÐò¿ØÖÆ TextBox µÄ¾í¶¯£¿ ´«ËÍ EM_LINESCROLL ÐÅÏ¢¸ø TextBox ¿ØÖÆÎļþ£¬·½·¨Êǵ÷Óà SendMessage API º¯Êý£¬Ï¸½ÚÈçÏ£º 1. API µÄÉùÃ÷£º Const EM_LINESCROLL = &HB6 Private Declare Function SendMessageBynum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long ×¢£ºÈç¹ûÒÔÉϵÄÉùÃ÷·ÅÔÚ¡¸Ò»°ãÄ£¿é¡¹µ×Ï£¬ Ó¦ÔÚ Const ֮ǰ¼ÓÉÏ Public ±£Áô×Ö£¬ ²¢ÇÒ½« Declare ֮ǰµÄ Private ±£Áô×ÖÈ¥µô¡£ 2. µ÷Ó÷¶Àý£º ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 0, 1 ) ' ϾíÒ»ÐÐ ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 0, -1 ) ' ÉϾíÒ»ÐÐ ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 1, 0) ' ÓÒ¾íÒ»ÁÐ ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, -1, 0) ' ×ó¾íÒ»ÁÐ ret = SendMessageBynum(Text1.hwnd, EM_LINESCROLL, 1, 1 ) ' ϾíÒ»ÐÐÇÒÓÒ¾íÒ»ÁÐ ×¢£ºÒÔÉ쵀 Text1 Ϊ TextBox µÄÃû³Æ¡£
|
| ÀûÓà timeGetTime ¸ü¾«×¼µØ¼ÆËãʱ¼ä²î¡£ |
ÎÒÏëÿ 0.005 Ãë×öijһ¼þ¹¤×÷£¬ ËùÒÔ׫дÁËÒÔϳÌÐò£º Dim tm1 As Single Do tm1 = Timer While Timer - tm1 <0.005 ' µÈÓÚ 0.005 Ãë DoEvents Wend ...×öijһ¼þ¹¤×÷ Loop µ«Êµ¼ÊÉÏ£¬ ÔÚ While Ñ»·ÀïÃæ£¬ Timer º¯Êý¼¸ºõÿ´Î¶¼µÃµ½ÏàͬµÄʱ¼ä£¬Ö»ÓдóÔ¼¸ôÁË 0.05Ãë²Å»áµÃµ½²»Í¬µÄʱ¼ä£¬ Ò²¾ÍÊÇ˵ Timer µÄ׼ȷÐÔÖ»ÓÐ 0.05 Ã룬 µ«ÎÒÏ£Íû½øÐеŤ×÷È´ÊÇÿ 0.005 ÃëÒ»´Î£¬ ¸ÃÔõô°ìÄØ£¿
¿ÉÒÔ¸ÄÓà Windows API µÄ timeGetTime º¯Êý£¬ ´ËÒ»º¯Êý»á´«»Ø Windows ¿ª»úÒÔÀ´Ëù¾¹ýµÄʱ¼ä£¬Ê±¼äµ¥Î»ÊÇ 1/1000 Ã룬 ¾ÙÀýÀ´Ëµ£¬ ¿ª»ú¾¹ý 2 ·ÖÖÓ£¬ Ôò´«»ØÖµµÈÓÚ 2*60*1000£¬ timeGetTime µÄÓŵãÊÇʱ¼ä¿ÉÒÔ¾«È·µ½ 1/1000 Ã룬 ËùÒÔ¿ÉÒÔÓÃÀ´½â¾öÉÏÊöµÄÎÊÌ⣬ϸ½ÚÈçÏ£º 1. API µÄÉùÃ÷£º Private Declare Function timeGetTime Lib "winmm.dll" Alias "timeGetTime" () As Long ×¢£ºÈç¹ûÒÔÉϵÄÉùÃ÷·ÅÔÚ¡¸Ò»°ãÄ£¿é¡¹µ×Ï£¬ Ó¦½« Declare ֮ǰµÄ Private ±£Áô×ÖÈ¥µô¡£ 2. ³ÌÐò·¶Àý£º Dim tm1 As Long Do tm1 = timeGetTime While timeGetTime - tm1 <5 ' µÈÓÚ 5/1000="0.005" Ãë DoEvents Wend ...×öijһ¼þ¹¤×÷ Loop
|
| ¿ìËÙ¶ÁÈ¡ TextBox µÚ N ÐеÄ×ÊÁÏ |
TextBox ÊÇÒÔ vbCr+vbLf Ϊ·ÖÐзûºÅ£¬ Èç¹ûÎÒÃÇÒªÖðÒ»¶ÁÈ¡ TextBox ÿһÐУ¬ÎÞ·ÇÊÇѰÕÒ vbCr+vbLf µÄËùÔÚλÖ㬠ȻºóÈ¡³öÿһÐеÄ×Ö´®£¬ ²»¹ýÕâ¸ö·½·¨ÕæµÄ²»¿ì£¬¶øÇÒÈç¹ûÎÒÃÇÒª¶ÁÈ¡µÚ N ÐÐ×ÊÁÏ£¬ »¹ÊÇÒª´ÓµÚ 1¡¢2¡¢©©N-1 ÐÐÖðÒ»¶ÁÆð£¬ ʵÔÚÂé·³¡£ »¹ºÃ Windows API ÌṩÓжÁÈ¡ TextBox µÚ N ÐеŦÄÜ£¬ ϸ½ÚÈçÏ£º 1. API µÄÉùÃ÷£º Const EM_GETLINE = &HC4 Const EM_LINELENGTH = &HC1 Const EM_LINEINDEX = &HBB Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Sub RtlMoveMemory Lib "KERNEL32" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long) ×¢£ºÈç¹ûÒÔÉϵÄÉùÃ÷·ÅÔÚ¡¸Ò»°ãÄ£¿é¡¹µ×Ï£¬ Ó¦ÔÚ Const ֮ǰ¼ÓÉÏ Public ±£Áô×Ö£¬ ²¢ÇÒ½« Private ±£Áô×ÖÈ¥µô¡£ 2. ³ÌÐò·¶Àý£º Sub TB_GetLine(ByVal hWnd As Long, ByVal whichLine As Long, Line As String) Dim length As Long, bArr() As Byte, bArr2() As Byte, lc As Long lc = SendMessage(hWnd, EM_LINEINDEX, whichLine, ByVal 0&) length = SendMessage(hWnd, EM_LINELENGTH, lc, ByVal 0&) If length > 0 Then ReDim bArr(length + 1) As Byte, bArr2(length - 1) As Byte Call RtlMoveMemory(bArr(0), length, 2) Call SendMessage(hWnd, EM_GETLINE, whichLine, bArr(0)) Call RtlMoveMemory(bArr2(0), bArr(0), length) Line = StrConv(bArr2, vbUnicode) Else Line = "" End If End Sub ' ¼ÙÉèÒª¶ÁÈ¡ Text1 µÚ 5 ÐеÄ×ÊÁÏ Dim S As String Call TB_GetLine( Text1.hWnd, 5, S ) ' ´«»ØÖµ S ¼´µÈÓÚµ½ 5 ÐеÄ×ÊÁÏ ×¢£ºTextBox µÄÐдÎÊÇ´Ó 0 ÆðËã¡£
|
| ÔÚ ListBox Ö®ÖУ¬ ÈçºÎ¼ì²âÊó±êËùÔÚλÖõÄÑ¡Ï |
ÎÒÃÇ¿ÉÒÔÀûÓà ListIndex ÊôÐÔµÃÖª ListBox µÄÑ¡Ï µ«Êǵ±Êó±êÒÆµ½Ä³Ò»¸öÑ¡ÏîÉÏÃæ(µ«»¹Ã»ÓÐѡȡ)£¬ÈçºÎµÃÖª´ËһѡÏîÄØ£¿·½·¨ÊÇ¶Ô ListBox Ëͳö LB_ITEMFROMPOINT ÐÅÏ¢£¬ ϸ½ÚÈçÏ£º 1. API µÄÉùÃ÷£º Const LB_ITEMFROMPOINT = &H1A9 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long ×¢£ºÈç¹ûÒÔÉϵÄÉùÃ÷·ÅÔÚ¡¸Ò»°ãÄ£¿é¡¹µ×Ï£¬ Ó¦ÔÚ Const ֮ǰ¼ÓÉÏ Public ±£Áô×Ö£¬ ²¢ÇÒ½« Private ±£Áô×ÖÈ¥µô¡£ 2. µ÷ÓÃÀý£º(ÔÚ±íµ¥Éϲ¼ÖÃÒ»¸ö TextBox ¼°Ò»¸ö ListBox£¬ È»ºóÀûÓà MouseMove ʼþ³ÌÐòÀ´¼ì²âÊó±êËùÔÚλÖõÄÑ¡Ïî) Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim pos As Long, idx As Long pos = X / Screen.TwipsPerPixelX + Y / Screen.TwipsPerPixelY * 65536 idx = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal pos) ' idx ¼´µÈÓÚÊó±êËùÔÚλÖõÄÑ¡Ïî If Idx <65536 Then Text1.Text="List1.List(idx)<Br"> End Sub
|
| ÔÚ RichTextBox Ö®ÖУ¬ ÈçºÎ½«±»Ñ¡È¡µÄÄÚÈÝ(°üº¬ÎÄ×Ö¼°Í¼Æ¬) ¸´ÖƵ½¼ôÌù²¾£¿ |
Èç¹û²»ÊÇд³ÌÐò£¬ ÄÇô¾ÍÊǰ´Ï¼üÅÌ Ctrl+C¡£ µ±Ê¹ÓÃÕß°´Ï Ctrl+C ʱ£¬ RichTextBox »á¶Ô×Ô¼ºËͳö WM_COPY µÄÐÅÏ¢£¬ ¶ø½Ó×Å RichTextBox µÄ´°¿Ú³ÌÐòÊÕµ½´ËÒ»ÐÅϢʱ£¬ ±ã»á½«±»Ñ¡È¡µÄÄÚÈÝ(°üº¬ÎÄ×Ö¼°Í¼Æ¬)¸´ÖƵ½¼ôÌù²¾&127;¡£ ËùÒÔÈç¹ûÏëÒª½« RichTextBox Öб»Ñ¡È¡µÄÄÚÈݸ´ÖƵ½¼ôÌù²¾£¬ Ö»Òª¶Ô RichTextBox Ëͳö WM_COPY ÐÅÏ¢¼´¿É£¬ ÒÔÏÂÊdzÌÐò׫дÉϵÄϸ½Ú: 1. API º¯ÊýµÄÉùÃ÷ʽ: Const WM_PASTE = &H302 Const WM_CUT = &H300 Const WM_COPY = &H301 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long ×¢£ºÈç¹ûÒÔÉϵÄÉùÃ÷·ÅÔÚ¡¸Ò»°ãÄ£¿é¡¹µ×Ï£¬ Ó¦ÔÚ Const ֮ǰ¼ÓÉÏ Public ±£Áô×Ö£¬ ²¢ÇÒ½« Private ±£Áô×ÖÈ¥µô¡£ 2. µ÷ÓÃÀý: SendMessage RichTextBox1.hWnd, WM_COPY, 0, ByVal 0&
|
¡¡
ÖÆ×÷½¥±äµÄ´°¿Ú±³¾°É« Îâ±ó |
¡¡¡¡ÔÚÐí¶àWindowsÈí¼þµÄ°²×°³ÌÐòÖУ¬Ê±³£¿ÉÒÔ¿´µ½ÒÔijÖÖÑÕÉ«ÓÉdzÖÁÉîµÄ½¥±äΪ±³¾°µÄ´°¿Ú¡£Ê¹ÓÃVBÖÆ×÷ÕâÀà´°¿ÚµÄ·½·¨Óв»ÉÙ£¬¶øÍ¨¹ýµ÷ÓÃAPIº¯Êý»æÖƽ¥±äµÄ´°¿Ú±³¾°É«£¬ËƺõÊÇÒ»Öּȼòµ¥ÓÖ½ÚÊ¡×ÊÔ´µÄ·½·¨¡£ ¡¡¡¡Ê×ÏÈ£¬ÔÚmoduleÎļþÖмÓÈëÏÂÁÐÉùÃ÷Óï¾ä£º ¡¡¡¡Declare Function CreateSolidBrush Lib"GDI"(ByVal crColor As Long) As Integer ¡¡¡¡Declare Function FillRect Lib"USER"(ByVal hDC As Integer£¬lpRect As RECT£¬ByVal hBrush As Integer)As Integer ¡¡¡¡Declare Function DeleteObject Lib"GDI"(ByVal hObject As Integer)As Integer ¡¡¡¡Type RECT ¡¡¡¡left As Integer ¡¡¡¡ top As Integer ¡¡¡¡ right As Integer ¡¡¡¡ bottom As Integer ¡¡¡¡EndType ¡¡¡¡È»ºó£¬ÔÚ´°¿ÚµÄPaintʼþÖмÓÈëÏÂÁдúÂ룺 ¡¡¡¡Private Sub Form_Paint() ¡¡¡¡Dim Color As Integer ¡¡¡¡Dim hBrush As Integer ¡¡¡¡Dim OldMode As Integer ¡¡¡¡Dim RetVal As Integer ¡¡¡¡Dim StepSize As Integer ¡¡¡¡Dim X As Integer ¡¡¡¡Dim FillArea As RECT ¡¡¡¡OldMode%=Me.ScaleMode ¡¡¡¡Me.ScaleMode=3 ¡¡¡¡StepSize%=1+Me.ScaleHeight/80 ¡¡¡¡Color%=255 ¡¡¡¡FillArea.left=0 ¡¡¡¡FillArea.right=Me.ScaleWidth ¡¡¡¡FillArea.top=0 ¡¡¡¡FillArea.bottom=StepSize% ¡¡¡¡For X%=1 To 80 ¡¡¡¡hBrush%=CreateSolidBrush (RGB(0,0,Color%)) ¡¡ ¡¡RetVal%=FillRect(Me.hDC,FillArea,hBrush%) ¡¡¡¡ RetVal%=DeleteObject(hBrush%) ¡¡¡¡Color%=Color%-4 ¡¡ ¡¡If Color% <0 Then Color%="0<Br"> ¡¡¡¡ FillArea.top=FillArea.bottom ¡¡¡¡FillArea.bottom=FillArea.bottom+StepSize% ¡¡¡¡Next ¡¡¡¡Me.ScaleMode=OldMode% ¡¡¡¡EndSub ¡¡¡¡°´F5ÔËÐУ¬¾Í»á³öÏÖÒ»¸öÒÔ´ÓÉÏÖÁÏ¡¢ÓÉdzÖÁÉîµÄ½¥±äÀ¶É«Îª±³¾°µÄ´°¿Ú¡£¶ÔÉÏÊö´úÂëÉԼӸ͝£¬±ã¿ÉÖÆ×÷³ö¸÷ÖÖÑÕÉ«ºÍˮƽ·½ÏòµÄ½¥±ä±³¾°¡£
|
| ÈçºÎÔÚVBºÍDelphiÖпìËÙʵÏÖÁ¢Ì廯´°¿ÚÏÔʾ |
ÔÚVBºÍDelphiÖУ¬ÎÒÃÇ¿ÉÒԺܷ½±ãµØ´´½¨¾ßÓÐÁ¢Ì廯¹Û¸ÐµÄ´°¿Ú£¬ÕâÒ²ÊǽüÁ½ÄêÀ´£¬Win3.XÖнÏΪÁ÷ÐеÄÏÔʾ·½Ê½¡£Ðí¶àרҵ»¯µÄÈí¼þ¶¼²ÉÓÃÁËÕâÖÖÁ¢Ì廯µÄ´°¿ÚºÍÏàÓ¦µÄ¿Ø¼þ£¬´ïµ½ÁËÉÍÐÄÔÃÄ¿µÄЧ¹û¡£ÏÂÃæÎÒÃÇÀ´Ì¸Ì¸ÈçºÎÔÚĿǰ×îÁ÷ÐеÄÁ½ÖÖWin±à³ÌÓïÑÔÖÐʵÏÖÕâÑùµÄЧ¹û¡£ Æäʵ£¬ÎÞÂÛÊÇVB»¹ÊÇDelphi£¬ÒªÊµÏÖÕâÖÖЧ¹û¶¼½ÏΪÈÝÒ×£¬ÔÚ±à³ÌÖУ¬²¢²»ÐèÒªµ÷ÓÃÍⲿµÄDLL£¬ÔÚ³ÌÐòÔËÐÐʱ£¬»á×Ô¶¯µ÷ÓÃCTL3dV2.dll¡£ ÎÒÃÇÏÈÀ´¿´¿´ÈçºÎÔÚVBÖÐʵÏÖ£º 1.н¨Ò»¸ö´°¿Ú¡£ 2.ÔÚ´°¿ÚformµÄÊôÐÔÁбíÖÐÓÐÒ»ÏîAuto3DÊôÐÔ£¬È±Ê¡ÖµÎªfalse£¬½«ÆäÉèÖÃΪtrue¡£ËüÊÇ¿ØÖÆVBÖÐÊÇ·ñÏÔʾÁ¢Ìå´°¿ÚµÄÖØÒªÊôÐÔ¡£ 3.ÔÚformµÄÊôÐÔÁбíÖл¹ÓÐÒ»ÏîBorderStyleÊôÐÔ£¬ÕâÊÇ¿ØÖÆ´°¿ÚµÄ±ß¿òÏÔʾÀàÐÍ£¬½«ÆäÉèÖÃΪ3£Fixed Double¡£ 4.ÏÖÔÚ¿ÉÒÔÔËÐÐÕâ¸ö³ÌÐòÁË£¬Ä㽫»á¿´µ½Á¢Ìå´°¿Ú³öÏÖ¡£ ½«Auto3DÊôÐÔÉèÖÃΪtrue£¬»¹ÓÐÒ»¸öºÜºÃµÄ¸±×÷Óã¬ÄǾÍÊÇÔÚÕâ¸ö´°¿ÚÉϵÄText¡¢Frame¡¢CheckBox¡¢OptionButtonºÍListBox¶¼×Ô¶¯¾ßÓÐÁËÁ¢ÌåЧ¹û¡£ ÔÚDelphiÖÐʵÏÖËÆºõÏԵøü¼ÓÈÝÒ׺ÍÖ±¹Û£º 1.н¨Ò»¸ö´°¿Ú¡£ 2.ÔÚ´°¿ÚformµÄÊôÐÔÁбíÖÐÓÐÒ»ÏîBorderStyleÊôÐÔ£¬ËüµÄȱʡֵΪbsSizeable£¬±íʾ±ß½ç¿ÉÒÔÈÎÒâµ÷Õû£¬½«ÆäÖØÐÂÉèÖÃΪbsDialog¡£ 3.ÔËÐгÌÐò£¬Äã»á·¢ÏÖÁ¢Ìå´°¿Ú³öÏÖÁË¡£(¿´À´£¬DelphiÖн«ÕâÖÖÁ¢Ì廯´°¿Ú³ÆÎª¡°¶Ô»°´°¿Ú¡±£¬È·ÊµÈç´Ë£¬±ÈÈçÔÚWordÖУ¬¶Ô»°´°¿Ú¶¼ÊÇÕâÖÖÁ¢Ì廯µÄÏÔʾ£¬¶øÖ÷´°¿ÚÈÔÈ»ÊÇÒ»°ãµÄ·ç¸ñ¡£) ÓëVBÖеÄAuto3DÀàËÆ£¬ÔÚDelphiÖÐÓÐÒ»¸öÊôÐÔΪCtl3D£¬½«ÆäÉèÖÃΪtrue£¬½«Ê¹ËùÓÐÔÚÕâ¸ö´°¿ÚÉϵĿؼþ¾ßÓÐÁ¢Ìå¹Û¸Ð£¬²¢ÇÒÕâÖֱ仯ÊÇÁ¢¿Ì·´Ó³µÄ£¬¶ø²»ÏóVBÖÐÔÚÔËÐÐʱ²ÅÄÜ¿´µ½¡£ ÔÚDelphiµÄ´°¿ÚformÖУ¬Ä㻹¿ÉÒÔͨ¹ýÉèÖÃFormStyleÊôÐÔΪfsStayOntopÀ´Çá¶øÒ×¾ÙµÄʵÏÖ¡°ÓÀÔ¶¸¡ÔÚÆäËû´°¿Ú¡±ÉϵÄЧ¹û¡£ÖøÃûµÄ¡°ÒëÁÖ¡±Win°æ±¾¾ÍÊÇÓÃDelphiдµÄ£¬ËüÆäÖоÍÓÐÒ»¸ö¡°ÓÀÔ¶ÔÚ×îÉÏÃæ¡±µÄ¹¦ÄÜ£¬¾ÍÊÇÕâÑùʵÏֵġ£
|
| ÓÃVisual BasicÉè¼Æ¸üºÃµÄÓû§½çÃæ |
ÓÐʱÔÚÒ»¸ö´°¿ÚÖгöÏֽ϶àµÄ¿ØÖƼþʱ£¬Èç¹ûÄÜÏòµ¼Ê½µØ½¨ÒéÓû§ÏÂÒ»²½¸Ã×öʲô£¬²»Ê§ÎªÉϲߡ£ ÔÚVisual BasicµÄ³ÌÐòÉè¼ÆÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃÓï¾ä£ºObject.SetFaocusʹÎÒÃÇÏ£ÍûµÄ¿Ø¼þµÃµ½ÊäÈë½¹µã£¬¾Ù¸öÀý×Ó£ºÔÚForm1ÖÐÎÒÃǼÓÈëÒ»¸ö°´Å¥Command1ºÍÒ»¸öÎı¾ÊäÈëText1£¬Ë«»÷°´Å¥¿Ø¼þ£¬È»ºó¼üÈëÈçÏ´úÂ룺 Text1.SetFocus ÔÙ°´F5ÔËÐгÌÐò£¬Äú¾Í»á¿´µ½Ò»µ¥»÷°´Å¥£¬Îı¾¿ò»áÁ¢¼´È¡µÃÊäÈë½¹µã¡£ÁíÍ⣬ÎÒÃÇ»¹¿ÉÒÔʹÓÃÓï¾ä£ºSendkeys "{TAB}"ʹÏÂÒ»¸ö¿Ø¼þ»ñµÃ½¹µã£¬µ«ÎÒÃÇÐèÒªÔÚÉè¼ÆÊ±È·¶¨¸÷¿Ø¼þµÄIndexÖµ¡£(ÔÚProperties´°¿ÚÖÐ)Èÿؼþ×Ô¼º¸ÐÖª×Ô¼ºµÄ¹¤×÷ÒÑÍê³É£¬¶øÖ÷¶¯½«½¹µãÈóö£¬»áʹÓû§¾õµÃÓ¦ÓóÌÐòºÜ´ÏÃ÷£¬Ò²¼õÉÙÁËÓû§³ö´íµÄ»ú»á¡£ ¿ÉÊǵ±½¹µãÇл»µÄÁ½¸ö¿Ø¼þÏà¸ôÓÐÒ»¶¨¾àÀëʱ£¬ÉÏÊöµÄ·½·¨ÓÐʱҲ²»×ãÒÔÒýÆðÓû§µÄ×¢Ò⣬ÄÇôһÖֺõĽâ¾ö·½·¨Êǽ«Êó±ê¼ýÍ·Ò²ÒÆµ½¿Ø¼þÉÏ¡£¿Éϧ£¬VB²¢²»Ö§³ÖÊó±êÒÆ¶¯£¬ÄÇÎÒÃǾÍÇóÖúAPIº¯Êý£¬APIº¯ÊýSetCursorPos¿ÉÈÃÎÒÃÇÈçÔ¸¡£ ÏÂÃæÊÇ×Ó³ÌÐòMoveCursorOn£¬Ëü¿ÉÈÃÊó±êÒÆ¶¯µ½Ö¸¶¨¿Ø¼þÉÏ·½¡£ ÏÂÁдúÂëÇë·ÅÔÚdeclarations¶ÎÖУº ¡¡ Type PoinTAPI x As Integer y As Integer End Type Declare Sub SetCursorPos Lib "User"(Byval x As Integer,Byval y As Integer) Declare Sub ClientToScreen Lib "User"(Byval hwnd As Integer,IpPoint As PointAPI) Declare Function GetParent Lib "User"(Byval hwnd As Integer)As Integer È»ºó½¨Á¢Ò»¸öеÄ×Ó³ÌÐò(ALT£«N¡úN¡ú¼üÈë×Ó³ÌÐòÃûMoveCursorOn)£¬ÏÂÃæÊÇ×Ó³ÌÐòµÄ´úÂ룺 Sub MoveCursorOn(source As Control) Dim Pt As PoinTAPI Dim hparent As Integer p.x=(Source.Left£«Source.Width/2)/Screen.Twipsperpixel) p.y=(Source.Top£«Source.Height/2)/Screen.Twipsperpixel) hparent=GetParent(source.hwnd) ClientToScreen hparent pt SetCursorPos pt.x pt.y End Sub ʹÓøÃ×Ó³ÌÐòºÜÈÝÒ×£¬ÀýÈçÎÒÃÇÏë°ÑÊó±êÒÆ¶¯µ½°´Å¥Command1ÉÏ£¬¾Í¿ÉʹÓÃÓï¾ä Move Cursor On Command1 Äú»á¿´µ½Êó±ê¼ýÍ·ÒѾָ×Ű´Å¥Command1¡£ ÐèҪ˵Ã÷µÄÊÇ£¬Ç§Íò²»ÒªÀÄÓøÃ×Ó³ÌÐò¡£ÈÃÊó±ê×Ô¼ºÂúÆÁÂÒ·É£¬ÎÒÃǵÄÓû§»á¸Ðµ½Ê§È¥¶ÔÓ¦ÓóÌÐòµÄ¿ØÖÆ£¬ÕâÊÇÎ¥·´ÎÒÃǵijõÖԵġ£ ÔÚÓÐÊý¸öÊäÈë¿òµÄ´°¿ÚÖÐ(ÕâÔÚÊý¾Ý¿âÓ¦ÓóÌÐòÖÐÊǺܵäÐ͵Ä)£¬µ±Óû§Íê³ÉµÚÒ»¸öÊäÈë¿òµÄÊäÈëºó£¬×ܰ®Ï°¹ßÐԵļÓÒ»¸ö»Ø³µ£¬Ï£ÍûÊäÈë½¹µãÂäµ½ÏÂÒ»¸öÊäÈë¿òÖÐ(DOSÖдó¶àÊýÓ¦ÓóÌÐòÊÇÈç´Ë)£¬¿ÉÍùÍùÊÂÓëԸΥ£¬ÕâÒ»»Ø³µÈ´´¥·¢ÁËÓµÓÐDefaultÌØÐԵİ´Å¥£¬½á¹û²»ÊǹرÕÁ˵±Ç°´°¿Ú¾ÍÊÇÓֱijöÁíÒ»´°¿Ú¡£Óû§Õö´óÑÛ¾¦¿´×ÅÆÁÄ»£¬¡°ß×£¿£¡ÎÒµ½µ××öÁËʲô£¿¡±ÕâÊÇWindowsÐÂÓû§¾³£Óöµ½µÄÊÂÇé¡£ ½â¾öËüÆäʵºÜÈÝÒ×£¬Ö»ÐèÔÚÊäÈë¿òµÄKeyPressʼþÖмÓÈëÈçÏ´úÂ룺 IF KeyASCII=13 Then KeyASCII=0 Sendkeys "{TAB}" END IF ÕâÑù£¬µ±Óû§ÔÚÕâ¸öÊäÈë¿òÖмüÈëEnterʱ£¬¾ÍÏó¼üÈëTAB¼üʱ£¬½¹µã±»ÒƵ½ÏÂÒ»¿Ø¼þÉÏ¡£µ«Ðè×¢Ò⣬ÕâÖÖ·½·¨²»ÊÊÓÃÓÚ¶àÐеÄTextBox£¬¼´TextBoxµÄMultiLineÌØÐÔÉèΪTrueʱ£¬ÒòΪÕâʱµÄ»Ø³µ¼üÊÇÆð»»ÐеÄ×÷Óá£
|
| ÀûÓÃVBÈýÎ¬Ãæ°å¿Ø¼þÉè¼ÆÁ÷¶¯Ìõ |
VBÌṩÁËÒ»¸öÈýÎ¬Ãæ°å¿Ø¼þ£¬ÀûÓÃÕâ¸ö¿Ø¼þ¿ÉÉè¼ÆÍ¼ÐÎЧ¹ûµÄÁ¢Ìå½çÃæ£¬´Ó¶øÊ¹Ó¦ÓóÌÐòµÄ½ØÃæÏԵøüÉú¶¯¡¢ÃÀ¹Û£¬¸Ã¿Ø¼þ»¹¿ÉÒÔÉèÖø÷ÖÖÐÎʽµÄ±³¾°£¬È»ºóÔÚ±³¾°ÉÏÏÔʾ¸÷ÖÖÐÎʽµÄ×Ö·û£¬ÁîÈ˸ÐÐËȤµÄÊÇ£¬Ê¹ÓÃÈýÎ¬Ãæ°å¿Ø¼þ£¬»¹¿ÉÉè¼ÆÎÒÃǾ³£ÔÚ°²×°³ÌÐòÖп´µ½µÄ±íʾ°²×°½ø¶ÈµÄÁ÷¶¯Ìõ£¬²¢¿ÉÏÔʾ½ø³ÌµÄÁ÷¶¯Ìõ£¬²¢¿ÉÏÔʾ½ø³Ì°Ù·Ö±È£¬¸Ä±äÁ÷¶¯ÌõµÄÑÕÉ«µÈ¡£ ¡¡ Ò»£® ½éÉÜÊôÐÔ FloodColor: È·¶¨Á÷¶¯ÌõµÄÑÕÉ«£¬È±Ê¡ÎªÀ¶É«¡£ FloodPercent: ÏÔʾµ±Ç°¹ý³ÌÈçÁ÷¶¯Ìõ½øÐеİٷֱȣ¬²ÎÊý¸Ä±äʱÏÔʾµÄ°Ù·ÖÊýºÍÁ÷¶¯ÌõµÄÃæ»ý¸Ä±ä£¬ÉèΪһÕûÐÍÖµ£¬È¡Öµ·¶Î§ÊÇ0~100¡£ FloodShowpct: ¾ö¶¨ÊÇ·ñÔÚÈýÎ¬Ãæ°å¿Ø¼þÉÏÏÔʾ°Ù·Ö±È£¬ÊÇÒ»¸öÂß¼Öµ¡£ÎªTureʱÏÔʾ£¬ÎªFalseʱ²»ÏÔʾ¡£ FloodType: ±íʾÓû§¶ÔÈýÎ¬Ãæ°å¿Ø¼þµÄʹÓ÷½Ê½¡£¿ÉȡֵÓÐ6¸ö£¬ÈçÏÂËùʾ£º 0 ȱʡÉèÖà 1 ±íʾÁ÷¶¯Ìõ·½Ïò´Ó×óµ½ÓÒ 2 ±íʾÁ÷¶¯Ìõ·½Ïò´ÓÓÒµ½×ó 3 ±íʾÁ÷¶¯Ìõ·½Ïò´ÓÉϵ½Ï 4 ±íʾÁ÷¶¯Ìõ·½Ïò´Óϵ½ÉÏ 5 ±íʾʹÓÃÖ¸¶¨µÄÑÕÉ«´ÓÔ²ÐÄÏòÍâ»Ô² ¡¡ ¶þ£® Á÷¶¯ÌõÉè¼Æ Èç¹ûÔÚWindows 3.xÏ£¬¹¤¾ßÏäÖв»´æÔÚÈýÎ¬Ãæ°å¿Ø¼þ£¬¿ÉÑ¡ÔñFile²Ëµ¥ÖеÄ"Add File¡" ½øÐÐÌí¼Ó£¬ÔÚµ¯³öµÄ¶Ô»°¿òÖÐÕÒµ½Windows\SystemĿ¼£¬È»ºóÑ¡¶¨Threed.vbxÎļþ¼´¿É£¬Èç¹ûʹÓÃVB 4.0£¬ÐèÔÚTools²Ëµ¥ÖÐÑ¡ÔñCustom ControlÃüÁѡ¶¨Sheridan 3d ControlsÏ°´OK°´Å¦£¬¿ÉÔÚ¹¤¾ßÏäÖÐÔö¼ÓÈýÎ¬Ãæ°å¿Ø¼þ¡£ Æô¶¯VB £¬ÔÚ´°ÌåÖлһˮƽ·½ÏòµÄ³¤·½ÐÎÈýÎ¬Ãæ°å¿Ø¼þ£¬°´F4£¬ÔÚÊôÐÔ´°¿ÚÖÐÉèÖÃÆäNameΪP3d¡¢BevellnnerΪ2-Raised¡¢FloodTypeΪ1¡¢FloodshowPctΪTrue,ÔÙÔÚ´°ÌåÖлһ¸ö°´Å¦Command1£¬Ë«»÷¸Ã°´Å¦£¬¼üÈëÏÂÃæµÄ´úÂ룺 ¡¡ Sub Command1_Click() P3d.floodpercent=0 For N%=1 To 100 If N%>100 Then Exit sub End If P3d.FloodPercent=N% Next N% End Sub °´F5£¬ÔËÐиóÌÐò£¬µã»÷Command°´Å¦£¬¼´¿É¿´µ½Á÷¶¯ÌõЧ¹û¡£
|
| ÀûÓÃVBµÄͼƬ¿òʵÏÖÆÁÄ»µÄ¹ö¶¯ |
¶ÔÓÚѧϰʹÓÃVBÀ´±à³ÌµÄµçÄÔ°®ºÃÕßÀ´Ëµ£¬¿ÉÄÜ»áÓöµ½ÕâÑùÒ»¸öÎÊÌ⣺¾ÍÊÇÈçºÎʵÏÖÆÁÄ»µÄ¹ö¶¯£¬ÒòΪµ±ÒªÏÔʾµÄÄÚÈݳ¬³öÁËÆÁÄ»µÄ´óСºó£¬ÀûÓÃVBËùÌṩµÄ´¹Ö±¹ö¶¯ÌõºÍˮƽ¹ö¶¯ÌõµÈ¿Ø¼þÊDz»¿ÉÄÜÖ±½ÓʵÏÖÕâÒ»ÌØÊâÏÔʾ¹¦Äܵġ£ÄÇôÓÐûÓÐÆäËüµÄ°ì·¨ÄØ?´ð°¸Êǿ϶¨µÄ¡£ÎÒÃÇÖªµÀVBµÄͼƬ¿òÊÇÓÃÀ´ÏÔʾͼÐε쬵«Ëü»¹ÓÐÐí¶àÆäËüÓÃ;£¬±ÈÈç¿ÉÒÔÓÃÀ´´´½¨Ò»Ð©¶¯»Í¼Ðεȡ£Æäʵ¶ÔÓÚÉÏÃæµÄÎÊÌâÎÒÃÇÒ²¿ÉÒÔÀûÓÃͼƬ¿òÀ´ÇÉÃîµØ½â¾ö¡£·½·¨ÈçÏ£º Ê×ÏÈ£¬µ¥»÷¹¤¾ß¿òÖеÄͼƬ¿ò(Picture Box)¿Ø¼þºÍÃüÁî°´Å¥¿Ø¼þ£¬ÔÚ´°Ìå(Form1)ÉϽ¨Á¢Í¼Æ¬¿ò¶ÔÏóPicture1ºÍÃüÁî°´Å¥¶ÔÏóCommand1£¬½«ÃüÁî°´Å¥µÄCaptionÊôÐÔÉèÖÃΪ"Í˳ö"£¬Picture1µÄ´óСÉèÖÃΪÏÔÊ¾ÇøÓòµÄ´óС£¬ÔÙµ¥»÷¹¤¾ß¿òÖеÄͼƬ¿ò¿Ø¼þ£¬ÔÚPicture1ÉϽ¨Á¢ÁíÒ»¸öͼƬ¿ò¶ÔÏóPicture2£¬½«ËüµÄLeftºÍTopÊôÐÔÉèÖÃΪ0¡£ÓÃÎı¾¿ò£¬±êÇ©¿òµÈÆäËü¿Ø¼þ»òµ¼ÈëÒ»·ùͼÏóÔÚPicture2ÉÏÉ趨¾ßÌåµÄÏÔʾÄÚÈÝ£¬µ±È»Picture2µÄ´óСһ¶¨ÒªÏȵ÷Õûµ½ÄÜÈ«²¿ÈÝÄÉËùÓÐÒªÏÔʾµÄÄÚÈÝ£¬×îºóµ¥»÷¹¤¾ß¿òÖеĴ¹Ö±¹ö¶¯Ìõ¿Ø¼þºÍˮƽ¹ö¶¯Ìõ¿Ø¼þ£¬ÔÚ´°Ìå(Form1)ÉÏ·Ö±ð½¨Á¢´¹Ö±¹ö¶¯Ìõ¶ÔÏóVScroll1ºÍˮƽ¹ö¶¯Ìõ¶ÔÏóHScroll1£¬²¢ÉèÖúÃËüÃǵÄÊôÐÔ¡£ÖÁ´ËÔÚ´°Ìå(Form1)ÉϵÄËùÓÐÉèÖù¤×÷¾ÍÍê³ÉÁË£¬ÏÂÃæÊǾßÌåµÄ³ÌÐò´úÂ룺 Private Sub VScroll1_Change() Picture2.Top= -VScroll1.Value End Sub Private Sub Hscroll1_Change() Picture2.Left= -HScroll1.Value End Sub Private Sub Command1_Click() End End Sub ÔËÐгÌÐò£¬µ±°´ÏºᡢÊú¹ö¶¯Ìõʱ£¬¾ÍÄÜʹÏÔʾÄÚÈÝʵÏÖ×óÓÒ¡¢ÉÏϵĹö¶¯¡£´Ë·½·¨¼òµ¥Ò×ÐУ¬ÓÐÐËȤµÄÅóÓѲ»·ÁÊÔÒ»ÊÔ¡£
|
VBÖÐÒõÓ°×ÖÌåµÄʵÏÖ Ì«Ô ºú½¨Ãñ |
Visual BasicȷʵÊÇÒ»Öֺܲ»´íµÄÓ¦ÓóÌÐò¿ª·¢¹¤¾ß¡£±ÊÕßÔÚʹÓÃÖУ¬Ò²È·Êµ¸Ðµ½ÓÃVBÉè¼Æ³ÌÐò£¬Ðí¶à·½·¨µÄʵÏÖÊÇÄÇôµÄ¼òµ¥¡£ÓÐʱ£¬½ö½öÐèÒª¼¸ÌõÓï¾ä£¬¾Í¿ÉʵÏÖÒ»ÖÖ·½·¨¡¢Ð§¹û»ò¹¦ÄÜ¡£ÏÂÃæ¾Í½éÉÜһϣ¬ÒõÓ°×ÖÌåÔÚVBÖеÄʵÏÖ¡£³ÌÐòÈçÏ£º Private Sub Form£Click£¨£© CurrentX£½700 CurrentY£½1000 FontSize£½30 ForeColor£½QBColor£¨8£© Print¡±Software Weekly¡± CurrentX£½750 CurrentY£½1050 FontSize£½30 ForeColor£½QBColor£¨12£© Print¡±Softª²ware Weekly¡± End Sub ÔÚÊôÐÔ£¨properties£©´°¿ÚÖÐÉèÖãºAuto3DΪtrue FontѡһÖÖTrue Type×ÖÌå¡£ ¸Ã³ÌÐòÊǰѴúÂë¼Óµ½FormµÄClickʼþÖУ¬Í¨¹ýÏÈ´òÓ¡×ÖÌåµÄÒõÓ°²¿·Ö£¬ÔÙ´òÓ¡³ö×ÖÌ壬ÒÔʵÏÖÒõÓ°×ÖÌåЧ¹ûµÄ¡£ÊÔÔËÐиóÌÐò£¬µ¥»÷´°Ìåºó£¬¼´³ÊÏÖ³öÒõÓ°×ÖÌåSoftware Weekly¡£
|
ÔÚVBÖÐÖÆ×÷µ¥¶À³ÌÐò·âÃæµÄÁ½ÖÖ·½·¨ ÁÉÄþÌúÁë ½ðÓÀÌÎ |
ÕâÀïËùνµÄµ¥¶À·âÃæ£¬ÊÇÖ»¶ÀÁ¢Ó¦ÓóÌÐò´°¿Ú±¾ÉíµÄÒ»¸ö´°¿Ú£¬Õâ¸ö´°¿ÚÔÚ³ÌÐòÔËÐÐʱÊ×Ïȵ¯³öÆÁÄ»£¬ÓÃÓÚ×°ÊγÌÐò±¾Éí£¬»ò¼òµ¥µÄÑÝʾһϳÌÐòµÄÓÅÔ½ÐÔ¡£ÕâÑùµÄ·âÃæÔںܶàרҵµÄWINDOWS³ÌÐòÖоù´æÔÚ£¬ÔÚVBÖпÉÓÐÁ½ÖÖ¼òµ¥µÄ·½·¨ÊµÏÖÕâÒ»¹¦ÄÜ¡£ µÚÒ»ÖÖ·½·¨£º¶à´°Ìå±à³Ì·½·¨ ´Ë·½·¨ÊÇͨ³£²ÉÓõķ½·¨£¬¼´ÔÚ³ÌÐòÖд´½¨Á½¸ö»òÁ½¸öÒÔÉϵÄForm´°Ì壬°ÑÆäÖеÄÒ»¸ö×÷ΪרÃŵijÌÐò·âÃæÖÆ×÷³¡Ëù£¬¾ßÌå·½·¨£º 1¡¢´´½¨Ò»¸öÐÂÏîÄ¿Form1£¬²¢ÔÚ´Ë´°ÌåÄÚ°²·ÅCommand1ÃüÁî°´Å¥£¬ÔÚCommand1-Click()ʼþÖÐÊäÈë½áÊø³ÌÐò´úÂë¡°END¡±¡£ 2¡¢µ¥»÷²Ëµ¥µÄ¡°Insert"ÏîÄ¿£¬¼ÓÈëÒ»¸öд°ÌåForm1¡£ 3¡¢Ë«»÷Form1´°Ìå¿Õ°×´¦£¬ÔÚForm1-Load()ʼþÖÐÊäÈëÈçÏ´úÂ룬ÓÃÓÚÒþ²ØÖ÷´°ÌåForm1£¬Öõڶþ´°ÌåΪ×î´óģʽ£¬²¢ÔÚÔËÐгÌÐòÊ×ÏÈÏÔʾºÍ¶þ´°Ì壺 Private Sub Form-Load () ¡¯Òþ²ØÖ÷´°¿Ú Form1.Visible = 0 ¡¯´°¿Ú2×î´óģʽ Form2.WindowState =2 ¡¯ÏÔʾ´°¿Ú2 Form2.Show End Sub 4¡¢ ÔÚ´°ÌåForm2Öж¨ÒåÈ«³Ì±äÁ¿£º Dim strr1 As String Dim i As Integer 5¡¢ÔÚ´°ÌåForm2ÖзÅÈëÒ»¸öʱ¼ä¿Ø¼þTimer1¡£ 6¡¢ÔÚ´°ÌåForm2ÖеÄForm-Load ()ʼþÖÐÊäÈëÒÔÏ´úÂ룬ÓÃÓÚÔÚ´°Ìå2ÖÐÏÔʾͼÏñ£¬²¢ÖÃʱ¼ä¿Ø¼þƵÂÊ£º Private Sub Form-Load () Form2.Picture = LoadPicture("c:\windows\setup.bmp") Timer1.Interval = 10 i =0 End Sub 7¡¢ÔÚʱ¼ä¿Ø¼þTimer1- Timer1£¨£©Ê¼þÖнøÐгÌÐò·âÃæµÄÖÆ×÷¹¤×÷£¬ÑÝʾ¼òµ¥µÄ¶¯»£¬²¢¿ØÖƴ˶¯»ÔËÐÐÒ»¶Îʱ¼äºó×Ô¶¯Í£Ö¹£¬¹Ø±Õ³ÌÐò·âÃæ£¬·µ»Ø³ÌÐòÖ÷´°¿Ú£»ÏÂÃæµÄ´úÂëʵÏÖÔÚÒ»¸öͼƬÉÏËæ»úÏÔʾ×Ö·û´®£¬ÏÔʾ30´Î×Ö·û´®ºó×Ô¶¯Í˳ö¡£ Private Sub Timer1-Timer () Strr1 = "³ÌÐò·âÃæÑÝʾ¡° With Form2 .Font.Transparent =True ¡¯Í¸Ã÷ÏÔʾ×Ö·û .Font.Size = Rnd *30+10 ¡¯Ëæ»ú±ä»¯×ֺŠ.Font.Italic =True ¡¯Ð±ÌåÓÐЧ .ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256) ¡¯Ëæ»ú±ä»¯Ç°¾° .FontName =Screen.Fonts (Rnd*7+14) ¡¯Ëæ»ú±ä»¯×ÖÌå End With hh=Form2.TextHehght (strr1) ¡¯È¡×Ö·û´®¸ß¶È ww= Form2.TextWidth (strr1) ¡¯È¡×Ö·û´®¿í¶È x=Rnd * ( Form2.ScaleWidth-ww) ¡¯Ëæ»ú¸Ä±ä×ø±ê y=Rnd *( Form2.ScaleHeight-hh) Form2.Current X=x Form2.Current Y=y Form2.Print strr1 ¡¯ÏÔʾ×Ö·û i = i +1 ¡¯¼ÆÊý If i >30 Then Unload Me ¡¯¹Ø±Õ·âÃæ Form1.Show ¡¯µ÷ÈëÖ÷´°¿Ú Timer1.Enabled =False ¡¯¹Ø±Õʱ¼ä¿Ø¼þ End If End Sub ¡¡ 8¡¢ÎªÁËÄܹ»ÈËΪµØ¿ØÖƳÌÐò·âÃæµÄÍ£Áôʱ¼ä£¬¿ÉÔÚ´°ÌåForm2Êó±êµ¥»÷ʼþÖа²·ÅÍ˳ö·âÃæ´úÂ룺 Private Sub Form-Click () Unload Me Form1.Show Timer1.Enabled =False ¡¯¹Ø±Õʱ¼ä¿Ø¼þ End If End Sub ÖÁ´Ë¹¤×÷È«²¿Íê³É£¬µ±ÔËÐгÌÐòʱ£¬Ê×Ïȵ¯³ö³ÌÐò·âÃæ£¬·âÃæÉÏÏÔʾһ·ù¡¤BMPͼÏñ£¬Ö®ºóÔÚ´ËͼÏñÉϽøÐÐËæ»ú×Ö·û´®µÄÏÔʾ£¬×Ö·û´®µÄλÖá¢×ÖÌå¡¢×ֺš¢Ç°¾°É«µÈÖµ¶¼ÊÇËæ»ú±ä»¯µÄ£¬ÏÔʾ30´Îºó×Ô¶¯¹Ø±Õ·âÃæ·µ»ØÖ÷´°¿Ú£¬ÑÝʾ¹ý³ÌÖÐÓÃÊó±êµ¥»÷´°¿ÚÒ²»á·µ»ØÖ÷´°¿Ú£¬ÔÚÖ÷´°¿ÚÖа´Ï½áÊø°´Å¥Í˳ö³ÌÐò¡£¾ßÌå²Ù×÷ʱ»¹ÓкܶàÆäËü¼¼ÇÉ£¬±ÈÈç¿ÉÒÔÖõڶþ¸ö´°ÌåΪÖ÷´°Ì壬ÕâÑùÔËÐÐʱ¿É×Ô¶¯Ïȵ¯³ö³ÌÐò·âÃæ£¬¿ÉÊ¡ÂÔÒþ²Ø´°ÌåºÍµ÷Èë´°ÌåµÄ¹ý³Ì£¬ÁíÍâµÚ¶þ´°ÌåÒ²¿ÉÒÔÔÚ³ÌÐòÔËÐÐʱÓÉ´úÂ붯̬Éú³É£¬ÕâÑù±à³Ìʱ¸´ÔÓһЩ£¬µ«ÓÐÀûÓÚ³ÌÐò´úÂëµÄ¹ÜÀí£»³ÌÐò·âÃæµÄ¾ßÌåÖÆ×÷¹ý³Ì£¬ÓÐÐí¶à¶¯Ì¬Í¼Ïñ¿ØÖÆ·½·¨¿ÉÒÔʹÓã¬Ö»ÒªÁé»î¶¯ÓÃVBµÄ×÷ͼ·½·¨£¬ÔÙ¼ÓÉÏһЩ±ØÒªµÄAPIº¯ÊýµÄÅäºÏ£¬»áÖÆ×÷³öÀíÏëµÄ³ÌÐò·âÃæ¡£ ¡¡ µÚ¶þÖÖ·½·¨£ºÒþ²Ø¿Ø¼þ·½·¨ ¶à´°¿Ú±à³Ì´æÔÚ×ÅÒ»¶¨µÄ¸´ÔÓÐÔ£¬ÐèÒª¶Ô¶à¸ö´°ÌåµÄ¡¤FrmÎļþ½øÐйÜÀí£¬±àÂëʱ»¹ÐèҪƵ·±µØÔÚ¶à¸ö´°¿Ú¼ä½øÐÐת»»¡£Êµ¼ÊÉÏͨ¹ýÒ»¸ö´°ÌåÒ²¿ÉÒÔ±àÖÆ³öÀàËÆµÄ·âÃæÐ§¹û¡£»ù±¾ÔÀí¾ÍÊÇÔÚ³ÌÐòÔËÐÐʱÊ×ÏÈͨ¹ýVISIBLEÊôÐÔÒþ²ØÈ«²¿¿Ø¼þ£¬È»ºóÔÚÖ÷´°ÌåÄÚ½øÐгÌÐò·âÃæÉè¼ÆºÍÑÝʾ£¬ÑÓʱһ¶¨Ê±¼äÔÙ»Ö¸´ËùÓпؼþµÄÏÔʾ£¬¼´´ïµ½Á˶ÀÁ¢³ÌÐò·âÃæµÄÖÆ×÷¹ý³Ì¡£ÓÉÓÚ´°ÌåÄڵĿؼþºÜ¶à£¬ÖðÒ»Òþ²Ø»òÏÔʾ·Ç³£·±Ëö£¬¿É²ÉÓÃÈÝÆ÷¿Ø¼þ¼ò»¯²Ù×÷¹ý³Ì£¬¼´°Ñ¿Ø¼þÈ«²¿·Åµ½Frame1µÈ¿Ø¼þÉÏ£¬ÕâÑùÖ»ÒªÖ´ÐÐFrame1.Visible=0£¬¼´¿ÉʹÆäÉÏÃæµÄËùÓпؼþÒþ²ØÆðÀ´¡£ cÓÉÓÚ³ÌÐòֻɿ¼°Ò»¸ö´°Ì壬³ÌÐòÉè¼ÆµÄ´ó²¿·Ö¹¤×÷Ö»ÊDZàÂë¹ý³Ì£¬ËùÒÔ²»ÔÙ·Ö²½½éÉÜ¡£ÔÚ´°ÌåForm1Öа²·ÅÒ»¸öʱ¼ä¿Ø¼þTimer1 ºÍÒ»¸öÈÝÆ÷¿Ø¼þFrame1,ÔÙÔÚFrame1Éϰ²·ÅÒ»¸öÃüÁî°´Å¥Command1£¬¾ßÌå³ÌÐòÉè¼ÆÊ±¿É°ÑËùÓÐÖ÷³ÌÐò¹¤×÷¿Ø¼þ·ÅÔÚFrame1ÉÏ£»Ö®ºó°ÑÏÂÃæµÄ´úÂëÌîÈëÏàÓ¦µÄʼþÖ®Öм´¿ÉÍê³ÉÈ«²¿³ÌÐòÉè¼Æ¹¤×÷¡£ÔËÐд˳ÌÐòºóÊ×ÏÈÔÚÈ«ÆÁÄ»´°ÌåÄÚÏÔʾͼÏñ£¬²¢´Ó×óÉϽǿªÊ¼Öð½¥·Å´ó×Ö·û´®¡°³ÌÐò·âÃæÑÝʾ¡±£¬·Å´ó¹ý³ÌÖÐÑÕÉ«·¢Éúƽ»¬±ä»¯£¬ÐγÉÃÀÀöµÄÍÏβЧ¹û£¬Á¬ÐøÏÔʾ5´Îºó×Ô¶¯¹Ø±Õ·âÃæ£¬·µ»ØÖ÷³ÌÐò´°¿Ú£¬Í¬ÑùÁ¢¼´¹Ø±Õ³ÌÐò·âÃæ£¬·µ»ØÖ÷³ÌÐò´°¿Ú£¬µ¥»÷Ö÷´°ÌåÖеÄÃüÁî°´Å¥Í˳ö³ÌÐò¡£ ¡¯¶¨ÒåÈ«³Ì±äÁ¿ Dim i ,j As Integer ¡¯Í˳ö³ÌÐò°´Å¥ Private Sub Command1-Click () End End Sub ¡¯µ¥»÷´°Ì幨±Õ·âÃæ Private Sub Form-Click () Frame1.Visible =1 ¡¯»Ö¸´ÈÝÆ÷¿Ø¼þ timer1.Enabled =False ¡¯¹Ø±Õʱ¼ä¿Ø¼þ Form1.WindowState =0 ¡¯»Ö¸´È±Ê¡´°¿Úģʽ End Sub ¡¯×¼±¸¹¤×÷ Private Sub Form -Load () Form1.WindowState =2 ¡¯´°¿Ú×î´ó»¯ Frame1.Width =Form1.Width ¡¯µ÷ÕûÈÝÆ÷¿Ø¼þ³ß´ç Frame1.Height =Form1.Height Frame1.Top =0 ¡¯µ÷ÕûÈÝÆ÷¿Ø¼þλÖà Frame1.Left =0 Frame1.Visible =0 ¡¯Òþ²ØÈÝÆ÷¿Ø¼þ timer1.Interval =10 ¡¯ÖÃʱ¼äƵÂÊ Form1.Picture =LoadPicture ("c:\windows\setup.bmp") ¡¯×°ÈëͼÏñ Form1.ScaleMode=3 ¡¯ÖÃ×ø±ê¿Ì¶È Form1.FontName =¡°ºÚÌ塱 ¡¯ÖÃ×ÖÌåÃû³Æ End Sub ¡¯·âÃæÖÆ×÷ £¨¶¯»ÑÝʾ£© Private Sub timer1-Timer () Strr ="³ÌÐò·âÃæÑÝʾ" With Form1 ¡¯Í¸Ã÷ÏÔʾ .Font.Transparent =True .Font.Size = i + 1 ¡¯·Å´ó×ֺŠ.Font.Italic =True ¡¯Ð±ÌåÓÐЧ .ForeColor=RGB(i*3,56,256-i*3) ¡¯Æ½»¬±ä»¯ÑÕÉ« End With string =strr Form1.Current X=i ¡¯Á¬Ðø¸Ä±ä×ø±ê Form1.Current Y=i Form1.Print stringg ¡¯ÏÔʾ×Ö·û´® i = i +1 If i >72 Then ¡¯·Å´óµ½72ºÅ×Ö j =j +1 ¡¯Ñ»·¼ÆÊý i =0 Form1.Current X=72 Form1.Current Y=72 Form1.ForeColor =RGB(255,56,0) ¡¯ÖØÐÂÏÔʾһ´Î×Ö·û Form1.Print stringg End If If j =5 Then ¡¯¶¯»¼ÆÊý Frame1.Visible =1 ¡¯ÏÔʾÈÝÆ÷¿Ø¼þ timer1.Enabled =False ¡¯¹Ø±Õʱ¼ä¿Ø¼þ Form1.WindowState=0 ¡¯»Ö¸´´°¿Úģʽ End If End Sub ÒÔÉÏ·½·¨¼°³ÌÐòÔÚWINDOWS 95ϵͳÏ£¬ÔÚVB4.0»·¾³Ïµ÷ÊÔͨ¹ý¡£
|
ÓÃVBʵÏÖÈ«ÆÁĻͼÐνçÃæ¼°¶¯Ì¬¹¦ÄÜÌáʾ Íõ»ª ÕÅêÍ »ÆÈó·¢ |
Ò»¡¢ È«ÆÁĻͼÐνçÃæÉè¼Æ ͼÐνçÃæÊÇÏÖ´úÈí¼þÖÐÈË»ú½»»¥µÄÖ÷ÒªÊֶΡ£ÎªÁË×·Çó½çÃæµÄͳһºÍÃÀ¹Û£¬ÔÚÈí¼þ¿ª·Å¹ý³ÌÖУ¬Í¼ÐνçÃæ´ó¶à²ÉÓÃÈ«ÆÁÄ»¹¹Í¼·½Ê½¡£ÕâÊÇͨ¹ý½«´°ÌåµÄ±ß¿òÉèÖÃΪÎޱ߿ò£¨BorderStyle=None£©£¬½«´°ÌåÏÔʾģʽÉèÖÃΪ¼«´ó»¯£¨WindowState=Maximized£©À´ÊµÏֵġ£ µ±Ò»¸ö´°Ìå½çÃæµÄÉè¼ÆÖÐÒªÈÝÄɶàÕÅͼƬºÍ¶à¸ö¿ØÖÆÊ±£¬½«³öÏÖ´°ÌåÏÔʾËÙ¶ÈÃ÷ÏÔ±äÂýµÄÏÖÏó£¬ÑÏÖØÓ°ÏìÁ˳ÌÐòÔËÐеÄÁ÷³©ÐÔ¡£ÎªÁ˽â¾öÕâÒ»ÎÊÌ⣬ÔÚ¿ª·Å¹ý³ÌÖУ¬²ÉÓÃÁËÒ»ÖÖ½«¡¾½çÃæÉè¼Æ´°Ìå¡¿Ó롾¹¦ÄÜʵÏÖ´°Ìå¡¿·Ö¿ª´¦ÀíµÄ·½·¨¡£ ÔÚ¡¾½çÃæÉè¼Æ´°Ìå¡¿ÖУ¬Ê×ÏȰ´¹¦ÄܵÄÐèÒªºÍ½çÃæÉè¼ÆµÄ´´Ò⣬½«ËùÐèµÄ´óÁ¿Í¼Æ¬ºÍ¿ØÖÆÔÚÆÁÄ»Éϰ²Åźã¬Ñ¡ÔñÃÀ¹ÛµÄ×ÖÌå¡¢ÑÕÉ«¡¢ÏßÐÍ£¬¶ÔÆÁÄ»½çÃæ½øÐÐÉè¼Æ¡¢ÐÞÊμӹ¤£»È»ºóÔÚÆäÈ«ÆÁÄ»ÔËÐеÄ״̬Ï£¬ÀûÓüôÌù¼¼Êõ£¬½«ÕâÒ»Éè¼ÆÍê³ÉµÄͼÐνçÃæÈ«ÆÁÄ»¸´ÖƵ½¼ôÌù°åÉÏ£»½Ó׎«ÕâÒ»ÆÁĻӳÏó×÷ΪһÕÅͼƬճÌùÔÚ¡¾¹¦ÄÜʵÏÖ´°Ìå¡¿µÄ±³¾°ÉÏ¡£ÕâÑù£¬´ÓÍâ¹ÛÉÏ¿´£¬Á½¸ö´°ÌåµÄÐÎ×´ÍêÈ«Ïàͬ£¬¶øÔÚÆÁÄ»µÄÏÔʾËÙ¶ÈÉÏ£¬ºóÕßÃ÷ÏÔ¼Ó¿ì¡£Õâʱ£¬¡¾¹¦ÄÜʵÏÖ´°Ìå¡¿ÖеĿؼþÒѱä³ÉÒ»¸öÏóÕ÷ÐÔµÄͼ±ê£¬¶ÔËüµÄ²Ù×÷£¬¿ÉÔÚ¿ØÖÆÍ¼±êµÄ¶ÔӦλÖÃÉÏÉèÖÃÒ»¸öImage ÀàÐ͵ÄͼÏó¿ò£¬Í¨¹ý¶ÔͼÏó¿òµÄ²Ù×÷£¬À´´úÌæÔÏȶԿØÖƶÔÏóµÄ²Ù×÷¡£ ²ÉÓÃÕâÖÖ·½·¨£¬Ê¹´°Ìå½çÃæÉè¼ÆµÄÁé»îÐÔ´ó´óÔö¼Ó£¬¿ÉÒÔÈÎÒâ·¢»Ó£¬¶ø²»Óõ£ÐĿؼþ¡¢Í¼Æ¬Ì«¶à£¬Ó°Ïì´°ÌåµÄÏÔʾËÙ¶È¡£µ«²ÉÓÃÕâÖÖ·½·¨£¬½«²»¿É±ÜÃâµØÔö¼ÓÓ¦ÓóÌÐò±¾ÉíËùÕ¼µÄ´æ´¢ÈÝÁ¿£¬ÕâÊÇÒÔÈÝÁ¿»»È¡ËٶȱØÐ븶³öµÄ´ú¼Û¡£ ¶þ¡¢ ¶¯Ì¬¹¦ÄÜÌáʾÐÅÏ¢µÄʵÏÖ ÔÚÏÖ´úÈí¼þÉè¼ÆÖУ¬¶àÊý¹¦ÄÜͼ±ê¡¢°´Å¥¶¼ÔÚ½çÃæÉÏÖ±½ÓÈ·¶¨Æä¶ÔÓ¦µÄÃû³Æ£¬Í¬Ê±Ò²ÌṩÁ˶¯Ì¬ÌáʾµÄ¹¦ÄÜ£¬¼´µ±Êó±êÒÆÖÁijһ¿Ø¼þʱ£¬»òʹÊó±êµÄÐÎ×´ÓÃÒ»¾ßÓÐÏóÕ÷ÒâÒåµÄͼ±ê´úÌæ£¬»ò×Ô¶¯³öÏÖÒ»ÌõÎÄ×ÖÌáʾ£¬ÏÂÃæ½éÉÜÒ»ÏÂÈçºÎʵÏÖÕâÖÖÏȽøµÄÌáʾģʽ¡£ ¶¯Ì¬¸Ä±äÊó±êµÄͼÐÎÐÎ×´£¬ÊÇͨ¹ý¿Ø¼þµÄMousePointerÊôÐÔÉèÖÃΪ13£¨×Ô¶¨Ò壩£¬È»ºóÔÚMouseIeonÊôÐÔÖÐѡȡһICOͼ±êÎļþÀ´Íê³ÉµÄ£»¶¯Ì¬ÎÄ×ÖÌáʾ¹¦ÄÜÊÇÀûÓÿؼþµÄMouseMoveʼþÀ´ÊµÏֵģº½«¹¦ÄÜÌáʾ´¦Àí³ÌÐòÉè¼ÆÔÚ¶ÔÓ¦µÄMouseMoveʼþ¹ý³ÌÖУ¬µ±Êó±êÒÆ¶¯µ½¸Ã¿Ø¼þ·¶Î§ÇøÓòʱ£¬¼´¿É´¥·¢³ÌÐòÖ´ÐУ¬Íê³É¶¯Ì¬¹¦ÄÜÌáʾ£»ÎªÁË·ÀÖ¹´¦Àí³ÌÐò·´¸´´¥·¢£¬±ØÐëÉèÖÃÒ»¿ØÖÆ¿ª¹Ø£¬Ê¹´¦Àí³ÌÐòÖ»ÔÚÊó±êµÚÒ»´Î´¥·¢¸Ã¿Ø¼þÇøÓòʱ±»Ö´ÐУ»È¡Ïû¹¦ÄÜÌáʾµÄ´¦Àí³ÌÐòÉè¼ÆÔÚ´°ÌåµÄMouseMoveʼþÖУ¬ËµÃ÷³ÌÐòÈçÏ£º Dim FirstTouch As Boolean '·ÀÖ¹·´¸´´¥·¢´¦Àí³ÌÐòµÄ¿ØÖƱäÁ¿ Private Sub ControlObject- MouseMove () If FirstTouch Then FirstTouch =False 'ÏÔʾ¹¦ÄÜÌáʾ×Ö·û End Sub ¡¡ Private Sub Form- MouseMove () FirstTouch =True 'È¡Ïû¹¦ÄÜÌáʾ×Ö·û End Sub
|
| Visual Basic´°Ìå±³¾°»¨ÎƵÄʵÏÖ |
ÎÒÃÇÔÚ¿ª·¢Èí¼þ¹ý³ÌÖУ¬ÎªÌá¸ßÈí¼þµÄÉÌÆ·»¯³Ì¶È£¬¸Ð¾õµ½½çÃæµÄÃÀ¹Û³Ì¶ÈÊÇÒ»¸öÈí¼þÄÜ·ñ»ñµÃ³É¹¦µÄÒ»¸öÖØÒªÒòËØ£¬ÎÒÃÇ×ÐϸÑо¿ÁËһЩ³É¹¦µÄÉÌÆ·»¯Èí¼þ£¬´ÓÕâЩÈí¼þÉÏ¿ÉÒÔ¿´µ½,³ÌÐò´°¿Ú±³¾°ÄÜÏÔʾ³ö·Ç³£ÃÀÀöµÄ¡¢¸»ÓÐÁ¢Ìå¸ÐµÄ»¨ÎÆ¡£¶ø²ÉÓÃVisual Basic½øÐд°ÌåÉè¼Æ£¬ÈôÖ»°´ÕÕϵͳÌṩµÄ¹¦ÄÜ£¬Ö»ÄÜ´ÓÓÐÏ޵ļ¸ÖÖÑÕÉ«ÖÐÑ¡ÔñÒ»ÖÖÑÕÉ«»ò²ÉÓóÌÐò»æÖÆÒ»Ð©¼òµ¥µÄÏßÌõ¡£¶øÏëʵÏÖÁ¢Ìå¸ÐºÜÇ¿µÄÎÆÀíͼ°¸£¬Ò»°ãÖ»ÄܲÉÓô°ÌåµÄPICTUREÊôÐÔµ÷ÓÃλͼÎļþ£¬Ê¹ÓÃÕâÖÖ·½·¨ÊµÏÖÓÐÐí¶àȱµã ,ÆäÒ»ÊÇ´°Ìå´óСÊÜλͼ´óСµÄÏÞÖÆ£¬µ÷ÕûÆðÀ´Âé·³£¬²»¾ßÓÐͨÓÃÐÔºÍÁé»îÐÔ£»Æä¶þÊÇÀË·Ñ×ÊÔ´£¬ÒòΪ»¨ÎÆÍ¼°¸»ù±¾ÉÏÊÇÖØ¸´Í¼°¸£¬²ÉÓÃÓë´°ÌåͬÑù´óСµÄλͼÊÇÒ»ÖÖÀË·Ñ¡£ ÏÂÃæ½éÉÜÒ»ÖÖ´°Ìå±³¾°»¨ÎÆÊµÏֵķ½·¨¡£ÔÚ´°ÌåÉϽ¨Á¢Ò»¸öÍø¸ñ¿Ø¼þ£¬Éè¶¨Íø¸ñÐв»¿É¼û£¬È¥µô¹Ì¶¨Ðк͹̶¨ÁУ¬ÓóÌÐòʵÏÖÍø¸ñ¿Ø¼þÓë´°ÌåͬÑù´óС£¬²¢Ëæ´°Ìå´óСµÄ¸Ä±ä¶ø¸Ä±ä¡£È»ºóÉè¼ÆÒ»¸ö»¨ÎÆÍ¼°¸£¬ÐγÉBMPλͼÎļþ(±¾ÎijÌÐòʹÓÃÎļþPict1.bmp)£¬»òÕß´ÓÆäËüͼÏóÖнØÈ¡Ò»¶Îͼ°¸,Ò²¿ÉÒÔÀûÓÃWindowsϵͳÌṩµÄͼ°¸£¨Èçc:\windows\Tiles.bmp)£¬½«Æäµ÷ÈëPicture¿Ø¼þ¡£Éè¶¨Íø¸ñµÄÿ¸öµ¥ÔªÓë¸Ãͼ°¸´óСÏàͬ£¬Ê¹µ¥ÔªµÄÊýÁ¿ÕýºÃ¸²¸ÇÕû¸ö´°Ìå±³¾°£¬ÔÙ½«ËùÓе¥Ôª¾ùÏÔʾ¸Ãͼ°¸¡£Í¨¹ý×Ó³ÌÐòBackpict()ʵÏÖÒÔÉϹý³Ì£¬²»ÂÛͼ°¸´óС¡¢´°Ìå´óС£¬³ÌÐò¶¼ÄÜ×Ô¶¯µ÷ÕûÍø¸ñ¿Ø¼þ´óСºÍÍø¸ñµ¥Ôª´óС¼°µ¥ÔªÊýÁ¿¡£ ¸Ã³ÌÐòÔÚVisual Basic 5.0Éϵ÷ÊԳɹ¦¡£ 1.н¨´°ÌåForm1,ÊôÐÔÈçÏ£º Caption =¡°±³¾°»¨ÎƵÄʵÏÖ¡± Borderstyle=3(ÎÞ×î´ó¡¢×îС»¯°´Å¥£© 2.½¨Íø¸ñ¿Ø¼þGrid1,ËüµÄλÖúʹóС½«ÔÚ³ÌÐòÖÐÉèÖã¨ÓëForm1ͬÑù´ó£©,ÊôÐÔΪ£º Enabled = False£¨½¹µã²»»áÂäÔÚÍø¸ñ¿Ø¼þGrid1ÉÏ£© Fillstyle=1£¨¸Ä±äËùÓе¥ÔªTextÌØÐÔ£© Fixedcols=0£¨Î޹̶¨ÐУ© Fixedrows=0£¨Î޹̶¨ÁУ© Gridlines = False£¨Íø¸ñÐв»¿É¼û£©£¬ Visible = True 3.½¨Á¢Í¼Ïó¿Ø¼þPicture1,³ÌÐòÔËÐÐʱ½«±³¾°»¨ÎÆ»ù±¾Í¼°¸·ÅÈëÆäÖУ¬ÊôÐÔΪ Visible = False£¨²»¿É¼û£© Autosize = True£¨×Ô¶¯µ÷Õû´óС£© 4.¿Ø¼þÖмÓÈëSheridan 3D Controls,ѡȡÆäÖеÄÈýάÃüÁî°´Å¥SSCommand,½¨Á¢Á½¸ö°´Å¥ SSCommand1.Caption=¡°Í˳ö¡± SSCommand2.Caption=¡°¸ü»»±³¾°¡±£¨ÑÝʾ²»Í¬µÄ±³¾°Í¼°¸£© ËüÃǵÄÊôÐÔPicture¿Éµ÷ÓÃÓë±³¾°Ïàͬ»ò²»Í¬µÄͼ°¸£¬Èç¹ûʹÓÃÆÕͨµÄÃüÁî°´Å¥¿Ø¼þCommandÒ²¿É£¬Ö»ÊÇÃüÁî°´Å¥ÎÞ±³¾°Í¼°¸¡£ 5.½¨Á¢±³¾°Í¼°¸ÐγÉ×Ó³ÌÐò£º Dim pictfile As String 'λͼÎļþÃû Dim FILEPATH As String 'Îļþ·¾¶ Sub Backpict(pictfile) picture1.ScaleMode = 3 Form1.ScaleMode = 3 picture1.Picture = LoadPicture(pictfile) 'Íø¸ñ¿Ø¼þ¸²¸ÇÕû¸ö´°Ìå±³¾° grid1.Top = -1 grid1.Left = -1 grid1.Width = Width grid1.Height = Height grid1.Cols=Int(Form1.ScaleWidth/picture1.ScaleWidth) + 1 grid1.Rows=Int(Form1.ScaleHeight/picture1.ScaleHeight) + 1 'ËùÓе¥Ôª´óСµÈÓÚ»ù±¾Í¼°¸´óС For i = 0 To grid1.Cols - 1 For j = 0 To grid1.Rows - 1 grid1.ColWidth(i) = picture1.ScaleWidth * 15 grid1.RowHeight(j) = picture1.ScaleHeight * 15 Next j Next I ¡¡ 'Ñ¡¶¨ËùÓе¥Ôª grid1.SelStartCol = 0 grid1.SelStartRow = 0 grid1.SelEndCol = grid1.Cols - 1 grid1.SelEndRow = grid1.Rows - 1 grid1.Picture = Picture1.Picture End Sub ¡¡ 6.´°ÌåÖ÷³ÌÐò Private Sub Form_Load() Private Sub Form_Load() ¡¡ 'µÃµ½ÔËÐгÌÐò·¾¶Ãû£¬Â·¾¶Ãûºó´ø·´Ð±¸Ü If Right(App.Path, 1) <> "\" Then filePath = App.Path & "\" Else filePath = App.Path End If '´°Ìå³õʼÏÔʾÓÉTiles.bmp»ù±¾Í¼°¸×é³ÉµÄ±³¾° pictfile = "c:\windows\Tiles.bmp" backpict (pictfile) End Sub 7.Í˳ö³ÌÐòÃüÁî°´Å¥ Private Sub SSCommand1_Click() End End Sub 8.ÑÝʾ²»Í¬µÄµ×ÎÆÍ¼°¸ Private Sub SSCommand2_Click() ¡¡ 'Á½ÖÖ±³¾°Í¼°¸½»ÌæÑÝʾ If pictfile = filePath & "Pict1.bmp" Then pictfile = "c:\windows\Tiles.bmp" Else pictfile = filePath & "Pict1.bmp" End If Backpict (pictfile) End Sub
|
| VB±à³ÌµÄһЩÐĵà |
ÔÚ´óѧ×÷±ÏÒµÉè¼ÆµÄ¿ÎÌâÊDZàÖÆÒ»¸ö½ÌѧÈí¼þ£¬ËùÒÔºÜ×ÔÈ»µØºÍVBÕâÖÖÒ×ѧ¡¢Ò×¶®¡¢½çÃæÓÑºÃÆ¯ÁÁµÄÓïÑÔ´òÉÏÁ˽»µÀ¡£ÔÚ±àдµÄ¹ý³ÌÖе±È»Óöµ½ÁËÐí¶àµÄÎÊÌ⣬ÕâÀォһЩ¼òµ¥µÄС³ÌÐòдÏÂÀ´Óëϲ°®±à³ÌµÄÅóÓÑÃÇ·ÖÏí¡£ Ò»¡¢·âÃæ ·âÃæµÄÉè¼ÆÊÇÕâÑùµÄ£¬ÏȳöÏÖÒ»´°Ì壬ÉÏÃæÎªÄãϲ»¶µÄͼ°¸¡£È»ºó³öÏÖÒ»ËÒ´Ó×óÏòÓÒÐÐÊ»×ŵĴ¬¡£ÆÁÄ»ÉÏ·½´ÓÁ½²à·Ö±ðÒÆ¶¯³ö¡°»¶Ó¡±Á½¸ö×Ö¡£ ¾ßÌåµÄÖÆ×÷·½·¨ÊÇ£º°ÑÔ¤ÏÈÑ¡ºÃµÄ±³¾°Í¼°¸×°Èë·âÃæ´°ÌåÖУ¬´°ÌåÃüÃûΪCAI¡£ÔÙ·Ö±ðÔÚÈý¸öͼÏñ¿Ø¼þ(image)ÖÐ×°ÈëÔ¤ÏÈÖÆ×÷ºÃµÄλͼ¡°»¶¡±¡¢¡°Ó¡±ºÍ´¬ÐÍͼ°¸¡£È»ºó°ÑÈý¸öimage·ÅÖÃÔÚ³õʼλÖÃ(¼´ ͼ°¸¸ÕÔÚ´°Ìå³öÏÖʱµÄλÖÃ)£¬²¢°ÑËüÃǵĿÉÊÓÊôÐÔ¶¼ÉèÖÃΪ¡°false¡±¡£³ÌÐòÈçÏ£º Sub Form_load() cai.Show ¡äÏÔʾ·âÃæ´°Ìå Dim i ¡ä¶¨Òå±äÁ¿ image3.visible=True ¡ä´¬ÐÍͼÏñ¿Ø¼þ³öÏÖ a1: If image3.Left <6120 Then ¡ä6120Ϊ´¬Òƶ¯µ½ÆÁÄ»ÓұߵÄ×ø±ê,´ËÖµ¿ÉÒÔËæÐèҪѡȡ image3.Move image3.Left£«50 ¡äÒÆ¶¯´ËͼÏñ¿Ø¼þÈçÏÓÒÆ¶¯Âý,¿É¸Ä±äÒÆ¶¯Öµ Goto a1 End If image1.visible=True ¡ä¡°»¶¡±×Ö³öÏÖ a2: If image1.Left <2120 Then ¡ä2120Ϊ¡°»¶¡±×ÖÒÆ¶¯µ½ÆÁÄ»ÖмäµÄλÖà image1.Move image1.Left£«50 ¡äÒÆ¶¯´ËͼÏñ¿Ø¼þ Goto a2 End If image2.visible=True ¡ä¡°Ó¡±×Ö³öÏÖ a3: If image2.Left > 5420 Then ¡ä5420Ϊ¡°Ó¡±×ÖÒÆ¶¯µ½ÆÁÄ»ÖмäµÄλÖà image2.Move image2.Left£50 ¡äÒÆ¶¯´ËͼÏñ¿Ø¼þ Goto a3 End If For i=1 To 10000 ¡äʹ´°ÌåÔÝÍ£Ò»¶Îʱ¼äʱ¼ä³¤¶Ì¿Éͨ¹ý¸Ä±äÑ»·´ÎÊýʵÏÖ Next i menul.Show ¡äÏÔʾ³ÌÐòÖ÷´°Ìå Unload cai ¡äÐ¶ÔØ·âÃæ´°Ìå End Sub ¶þ¡¢¼òµ¥µÄ¡°¶¯»¡± µã»÷Ò»3D°´Å¥ºó£¬ÆÁÄ»±íÏÖ¹âÏ߯½ÐнøÈëÒ»²£Á§¹Ü£¬ÔÚ¹ÜÖÐÓÐһɢÉäÖÐÐÄ£¬ÓеĹâÏßÉäµ½´ËÖÐÐĺó·´Éäµ½¹ÜµÄ³õʼ¶Ë¡£³ÌÐòÈçÏ£º Sub Command3Dl_Click() Dim i, j, k, m, n ¡ä¶¨Òå±äÁ¿ For i=2080 To 5520 ¡äÏÔʾ³öÈýÌõÏß,Ö±µ½Í¼ÏñÖеÄÉ¢ÉäÖÐÐÄ´¦,ÑÕɫΪºÚÉ« Line(2080,2760)£(i,2760),RGB(0, 0, 0) Line(2080,2860)£(i,2860),RGB(0, 0, 0) Line(2080,2660)£(i,2660),RGB(0, 0, 0) Next i For j=5520 To 4800 Step£1 ¡ä·´Éä¹âÏßµÚÒ»´ÎÉäµ½¹Ü±ÚÉÏ Line(5520,2760)£(j,2760£(5520£j)£ª.33333333),RGB (255, 0, 0) ¡ä·´Éä¹âÏß,ÑÕɫΪºìÉ« Line(5520,2660)£(5520£«(5520£j),2660),RGB(0, 0, 0) Line(5520,2860)£(5520£«(5520£j),2860),RGB(0, 0, 0) ¡äûÓÐÓöµ½É¢ÉäÖÐÐĵÄÁ½Ìõ¹âÏß,ΪºÚÉ«,¼ÌÐøÇ°½ø Next j For k=4800 To 3360 Step£1 ¡ä·´Éä¹âÏßµÚ¶þ´ÎÉäµ½¹Ü±ÚÉÏ Line(4800,2520)£(k,2520£«(4800£k)£ª.33333333), RGB(255, 0, 0) ¡ä·´Éä¹âÏß,ÑÕɫΪºìÉ« Line(6240,2660)£(6240£«(4800£k),2660),RGB(0,0,0) Line(6240,2860)£(6240£«(4800£k),2860),RGB(0,0,0) ¡äûÓÐÓöµ½É¢ÉäÖÐÐĵÄÁ½Ìõ¹âÏß,ÑÕɫΪºÚÉ« Next k For m=3360 To 2080 Step£1 ¡ä·´Éä¹âÏßµÚÈý´ÎÉäµ½¹Ü±ÚÉÏ Line(3360,3000)£(m,3000£(3360£m)£ª.33333333), RGB(255, 0, 0) ¡ä·´Éä¹âÏß,ÑÕɫΪºìÉ« Next m End Sub Èý¡¢·âµ× ·âµ×µÄÉè¼ÆÊÇ£ºÏȳöÏÖÈ«ºÚµÄÆÁÄ»£¬È»ºó´ÓÉÏÖÁÏÂÖð½¥À³ö°×µ×ºì×ֵġ°ÔÙ¼û¡±µÄ×ÖÑù¡£ÏȰ´ÒªÇóÔÚ»°åÖÐ×öÒ»¸öBMPͼ£¬ÉÏÃæÐ´×Å¡°ÔÙ¼û¡±¡£È»ºóÔÚÒ»ÃûΪBYEµÄ´°ÌåÖмÓÈëÒ»¸öÈ«ÆÁ´óµÄPicturel, ½«BMPͼװÈë¡£³ÌÐòÈçÏ£º Sub Form_Load() Dim i ¡ä¶¨Òå±äÁ¿ bye.Show ¡ä·âµ×³öÏÖ Unload menu1 ¡äÐ¶ÔØÖ÷²Ëµ¥ al: If picture1.Height <7130 Then ¡ä7130ΪͼµÄ¸ß¶È picturel.Height=picture1.Height£«50 ¡äÏÂÀÆÁÄ» GoTo al End If For i=1 To 20000 ¡äʹ´°ÌåÔÝÍ£Ò»¶Îʱ¼ä Next i End ¡ä½áÊøËùÓвÙ×÷ End Sub
|
| ´¦Àí¹ý³ÌʱµÄÊó±êÏÔʾ |
ΪÈÃÄãµÄ³ÌÐò¸ü¼Óרҵһµã£¬ÎÒÃÇÍùÍùÐèÒªÔÚ³ÌÐò´¦Àí¹ý³ÌʱµÄÊó±êÐÎ×´ÏÔʾΪ¡°É³Â©¡±×´Ì¬¡£ÎÒÃÇÒ»°ãµÄ·½·¨ÊÇÔÚ×Ó³ÌÐòµÄ¿ªÊ¼¼°½áβ±à³ÌÀ´¸Ä±äÊó±êÐÎ×´£¬ÕâÑùÊ®·Ö·³ËöÇÒÈÝÒ×Íü¼Ç¡£ÎÒÃÇ»¹¿ÉÒÔÒÔÏÂÃæµÄ·½·¨À´ÊµÏÖÕâһĿ±ê£º 1¡¢´´½¨Ò»¸öÐÂÀ࣬ÃüÃûΪ£ºCHourGlass£» 2¡¢ÔÚ´ËÀàÖмÓÈëÒÔÏ´úÂ룺 Private Sub Class_Initialize() Screen.MousePointer = vbHourglass End Sub Private Sub Class_Terminate() Screen.MousePointer = vbDefault End Sub 3¡¢ÔÚ×Ó³ÌÐòµÄ¿ªÊ¼¼ÓÈëÏÂÃæ´úÂ룺 Dim MyHourGlass As CHourGlass Set MyHourGlass = New CHourGlass
|
| Office»òIE4·ç¸ñµÄToolBar |
ÓÃAPI ¿ÉÒÔÇáËɸıä ToolBar µÄ·ç¸ñ¡£ÐèÒª 4.70 »òÆäÒÔÉϰ汾µÄ comctl32.dll Ö§³Ö¡£ ÉùÃ÷£º Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Integer, ByVal lParam As Any) As Long Private Declare Function FindWindowEx Lib "user32" Alias _ "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 _ As Long, ByVal lpsz1 As String, ByVal lpsz2 As _ String) As Long Private Const WM_USER = &H400 Private Const TB_SETSTYLE = WM_USER + 56 Private Const TB_GETSTYLE = WM_USER + 57 Private Const TBSTYLE_FLAT = &H800 Private Const TBSTYLE_LIST = &H1000 º¯Êý£º ' tlbToolbarStyle : '1 Ϊ Office97 ·ç¸ñ '2 Ϊ IE4 ·ç¸ñ Public Sub ToolbarStyle(tlb As Toolbar, _ tlbToolbarStyle As Long) Dim lngStyle As Long Dim lngResult As Long Dim lngHWND As Long ' Find child window and get style bits lngHWND = FindWindowEx(tlb.hwnd, 0&, _ "ToolbarWindow32", vbNullString) lngStyle = SendMessage(lngHWND, _ TB_GETSTYLE, 0&, 0&) ' Use a case statement to get the effect Select Case tlbToolbarStyle Case 1: ' Creates an Office 97 like toolbar lngStyle = lngStyle Or TBSTYLE_FLAT Case 2: ' Creates an Explorer 4.0 like toolbar, ' with text to the right ' of the picture. You must provide text ' in order to get the effect. lngStyle = lngStyle Or TBSTYLE_FLAT _ Or TBSTYLE_LIST Case Else lngStyle = lngStyle Or TBSTYLE_FLAT End Select ' Use the API call to change the toolbar lngResult = SendMessage(lngHWND, _ TB_SETSTYLE, 0, lngStyle) ¡¡ ' Show the effects tlb.Refresh End Sub ÔÚ Form ×°Èëʱµ÷ÓÃ: Private Sub Form_Load() Call ToolbarStyle(Me.Toolbar1, 2) ' ¡ End Sub ¹ØÓÚToolBar ·ç¸ñµÄ˵Ã÷£º Office ·ç¸ñµÄ Toolbar ÊÇÖ¸ÔÚÊó±êÒÆ¶¯µ½ ICON ºó£¬»á³öÏֱ߿ò¡£ÈçÎÒÃÇÔÚ VB5 ÖÐÓõÄÒ»Ñù¡£¶øcomctlµÄToolBarÊÇûÓиÃЧ¹ûµÄ¡£ IE4 ·ç¸ñµÄ Toolbar ¿ÉÒÔÔÚICON ÏÂÃæ³öÏÖÎÄ×Ö£¬Èçͬ IE4 ÖеÄToolbar Ò»Ñù¡£(¿ÉÄÜÊÇ·´Ò»Ï¡¡ )
|
| ·ÅÒ»¸öComboµ½ToolbarÖÐ |
1. ·ÅÒ»¸ö ComboBox µ½±íµ¥. 2. ·ÅÒ»¸ö Toolbar?ÔÚ±íµ¥. 3. Ôö¼ÓÏÂÃæµÄ´úÂëµ½ Form1 : Private Sub Form_Load() Dim btn As Button Me.Show Set btn = Toolbar1.Buttons.Add() btn.Style = tbrSeparator Set btn = Toolbar1.Buttons.Add() btn.Style = tbrPlaceholder btn.Key = "ComboBox" btn.Width = 2000 With Combo1 .ZOrder 0 .Width = Toolbar1.Buttons("ComboBox").Width .Top = Toolbar1.Buttons("ComboBox").Top .Left = Toolbar1.Buttons("ComboBox").Left End With End Sub
|
| ÔÚVisual BasicÖÐÈçºÎÍ϶¯´°Ìå»ò¿Ø¼þ |
ÏÖÔÚµÄÐí¶àWindowsϵÄÓ¦ÓóÌÐò£¬¶¼²ÉÓÃÁËͼÐλ¯µÄ½çÃæ£¬ÀýÈ磺WINAMPµÈ£¡ÕâÑù×öµÄºÃ´¦ÊÇ¿ÉÒÔʹ³ÌÐò½çÃæ¸üƯÁÁÉú¶¯£¬¸ü¾ßÎüÒýÁ¦¡£µ«ÊÇÔÚÕâÑùµÄ½çÃæÏ¾Ͳ»ÄÜʹÓÃWindowsÔÀ´µÄ±êÌâÌõÁË£¬·ñÔò»áÓ°Ïì½çÃæµÄÃÀ¹ÛÐÔ¡£ÄÇôÔÚûÓбêÌâÌõµÄÇé¿öÏÂÈçºÎÓÃÊó±êÍ϶¯´°ÌåÄØ£¿»òÕßÍ϶¯ÆäËüµÄ¿Ø¼þÄØ£¿ Æäʵ£¬²ÉÓÃAPIº¯Êýµ÷ÓúÜÈÝÒ×ʵÏÖ£¬ÏÂÃæÎÒÃÇÒÔÍ϶¯´°Ìå(Form1)ΪÀýÀ´¾ßÌå½²Ò»ÏÂʵÏÖ·½·¨£º 1.н¨Á¢Ò»¸öÏîÄ¿£¬Ãû³ÆÎª£ºtest.vbp. 2. Ìî¼ÓÒ»¸öÄ£¿é£¬Ãû³ÆÎª£ºtest.bas,²¢ÇÒÔÚÉùÃ÷²¿·Ö¼ÓÈëÒÔÏ´úÂ룺 Declare Function ReleaseCapture Lib "user32" () As Long Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Const WM_SYSCOMMAND = &H112 Public Const SC_MOVE = &HF012 ÆäÖÐReleaseCaptureº¯ÊýÊÇÓÃÀ´ÊÍ·ÅÊó±ê²¶»ñµÄ£¬SendMessageº¯ÊýÊÇÒ»¸öÔÚWindowsAPIÖзdz£ÖØÒªµÄº¯Êý£¬ÔÚÕâÀïµÄ×÷ÓÃÊÇÓÃÀ´ÏòWindows·¢ËÍÒÆ¶¯´°ÌåµÄÏûÏ¢¡£WM_SYSCOMMANDÊÇÏòWindows·¢ËÍÏûÏ¢µÄ³£Á¿¡£SC_MOVEÊÇ¿ØÖÆÒƶ¯´°ÌåµÄ³£Á¿¡£Çë×¢Ò⣺ÕâÀïSC_MOVEµÄ¸³ÖµÒ»¶¨ÒªÊÇ&HF012£¬Ëü±íʾÊó±ê¶ÔÏó¡£ 3.ÔÚ´°ÌåµÄMouseDown¹ý³ÌÖмÓÈëÒÔÏ´úÂ룺 ReleaseCapture SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0 ÆäÖÐReleaseCaptureº¯ÊýÓÃÀ´ÊÍ·ÅÊó±ê²¶»ñ£¬SendMessageº¯ÊýÏòWindows·¢ËÍÒÆ¶¯´°ÌåµÄÏûÏ¢¡£ 4.±£´æ²¢ÔËÐгÌÐò£¬°´ÏÂÊó±ê£¬Äã»á·¢ÏÖ´°Ìå»áËæ×ÅÊó±êµÄÒÆ¶¯¶øÒƶ¯¡£¾ÍºÍÆäËüÖøÃûµÄÓ¦ÓóÌÐòÒ»Ñù¡£ ÒÔÉϽ²ÊöÁËÈçºÎÔÚVBÖÐÓÃÊó±êÍ϶¯´°Ì壬Æäʵ£¬¿Ø¼þµÄÍ϶¯µÄÔÀíÊÇÒ»ÑùµÄ¡£ ÀýÈçÒÔÏ´úÂë¿ÉÒÔʵÏÖͼƬ¿òµÄÍ϶¯£º ReleaseCapture SendMessage Picture1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0 Æäʵ£¬ÔËÓÃAPIº¯Êý¿ÉÒÔʵÏÖÐí¶àÄãÒâÏë²»µ½µÄ¹¦ÄÜ¡£Èç¹ûÐèÒª¸ü¶àÓйØVBµÄÆäËü¾ÑéÓë¼¼ÇÉ¡£½¨Òé·ÃÎÊhttp://vb2000.kstar.comÕ¾µã¡£
|
Í϶¯ÎÞϵͳ±ê×¼±êÌâÀ¸µÄ´°¿Ú Îâ±ó |
¡¡¡¡´ó¼ÒÖªµÀ£¬ÔÚVBÖпÉÒÔͨ¹ýÉèÖÃFormµÄÊôÐÔ£¬ÖÆ×÷ÎÞϵͳ±êÌâÀ¸µÄ´°¿Ú¡£¿ÉÊÇ£¬ÓÉÓÚʧȥÁËϵͳ±êÌâÀ¸£¬ÈçºÎʹÓÃÊó±êÍ϶¯´°¿Ú±ã³ÉÁËÒ»¸ö¼¬ÊÖµÄÎÊÌâ¡£Æäʵ£¬½èÖúAPIº¯ÊýReleaseCaptureºÍSendMessage£¬Õâ¸öÎÊÌâ±ã¿ÉÓÈжø½âÁË¡£ ¡¡¡¡Ê×ÏÈ£¬ÔÚmoduleÎļþÖмÓÈëÏÂÁÐÉùÃ÷Óï¾ä£º ¡¡¡¡Declare Sub ReleaseCapture Lib"User"() ¡¡¡¡Declare Function SendMessage Lib"User"(ByVal hWnd _ As Integer£¬ByVal wMsg As Integer£¬ByVal wParam As Integer£¬_lParam As Any)As Long ¡¡¡¡Public Const WM_SYSCOMMAND=&H112 ¡¡¡¡Public Const SC_MOVE=&HF010 ¡¡¡¡Public Const HTCAPTION=2 ¡¡¡¡È»ºó£¬ÔÚFormµÄMouseDownʼþÖмÓÈëÏÂÁдúÂ룺 ¡¡¡¡ReleaseCapture ¡¡¡¡Ret&=SendMessage(Me£®hWnd£¬WM_SYSCOMMAND£¬_SC_MOVE+HTCAPTION£¬0) ¡¡¡¡¡¡ ¡¡¡¡³ÌÐòÔËÐкó£¬Ö»Òªµ±¹â±êÂäÔÚFormÇøÓòʱ°´×¡Êó±ê×ó¼ü£¬±ã¿ÉÒÔÍ϶¯´°¿ÚÁË¡£ÔÚһЩҪÇóÉú¶¯»îÆÃµÄ½çÃæµÄ³ÌÐòÉè¼ÆÖУ¬¿ª·¢Õß³£³£Ï£Íû×ÔÖÆ·ç¸ñ¶ÀÌØµÄ±êÌâÀ¸£¬ÒÔÂú×ãÕû¸ö½çÃæµÄÒªÇó¡£Í¨¹ýÕâ¸ö·½·¨£¬¾Í¿ÉÒÔʹ×ÔÖÆµÄ±êÌâÀ¸´ïµ½ÂÒÕæµÄµØ²½¡£²»¹ý£¬ÓÃ×÷×ÔÖÆ±êÌâÀ¸µÄ¿Ø¼þ£¬±ØÐë¾ßÓÐMouseDownʼþÒÔ°Ú·ÅÉÏÊö´úÂë¡£
|
| ÒÆ¶¯Ã»ÓбêÌâÀ¸µÄ´°¿Ú |
ÎÒÃÇÒ»°ãÊÇÓÃÊó±ê°´×¡´°¿ÚµÄ±êÌâÀ¸£¬È»ºóÒÆ¶¯´°¿Ú£¬µ±´°¿ÚûÓбêÌâÀ¸Ê±£¬ÎÒÃÇ¿ÉÒÔÓÃÏÂÃæµÄ·½·¨À´Òƶ¯´°¿Ú£º ¡¡ ÔÚ BAS ÎļþÖÐÉùÃ÷£º Declare Function ReleaseCapture Lib "user32" () As Long Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long Public Const HTCAPTION = 2 Public Const WM_NCLBUTTONDOWN = &HA1 ¡¡ È»ºó£¬ÔÚ Form_MouseDown ʼþÖУº Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ReleaseCapture SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0& End Sub
|
| VB±à³ÌÖд°ÌåµÄ¿ØÖƼ¼ÇÉ |
ÔÚVisual BasicÖУ¬Ã¿¸öÓ¦ÓóÌÐò¶¼ÊÇ´Ó´°Ìå(Form)¿ªÊ¼µÄ£¬´°ÌåÊǹ¹³ÉÓû§½Ó¿ÚµÄËùÓпؼþµÄÈÝÆ÷¡£Â¼»îÔËÓô°ÌåµÄ¸÷ÏîÊôÐԺͲÙ×÷£¬¿ÉÒÔΪÓû§Éè¼Æ³öÉÍÐÄÔÃÄ¿µÄ²Ù×÷½çÃæ¡£ 1.´°ÌåÒÔµ±Ç°ÆÁÄ»·Ö±æÂÊÈ«ÆÁÏÔʾª¥ ÔÚÓ¦ÓóÌÐòµÄ±àÖÆµ÷ÊÔ¹ý³ÌÖУ¬ÓÃÓÚ¾³£Óõ½²Ëµ¥¡¢¹¤¾ßÌõºÍ¹¤¾ß¿òµÈ¸¨Öú¹¤¾ß£¬Ò»°ã²»½«´°ÌåÉèΪȫÆÁÏÔʾ£¬ÒÔ±ãÓÚ²Ù×÷£»ÁíÍ⣬µ±ÆÁÄ»·Ö±æÂʸıäʱ£¬´°Ìå¿ÉÄܲ»ÄÜÕý³£ÏÔʾ£¬¿ÉÒÔÔÚ´°ÌåµÄLoadʼþÖвåÈëÏÂÁдúÂ룬¼´¿Éʹ´°ÌåÆô¶¯Ê±ÒÔµ±Ç°ÆÁÄ»·Ö±æÂÊÈ«ÆÁÏÔʾ£º Private Sub Form_Load() Form1.top=0 ¡®ÉèÖô°ÌåÉϱ߽çλÖà Form1.left=0 ¡®ÉèÖô°Ìå×ó±ß½çλÖà Form1.Width=Screen.Width ¡®ÉèÖô°Ìå¿í¶ÈΪÆÁÄ»¿í¶È Form1.Height=Screen.Height ¡®ÉèÖô°Ìå¸ß¶ÈΪÆÁÄ»¸ß¶È End Sub 2.ʹ´°Ìå±£³ÖÔÚ×îÉϲ㪥 ÓÐʱӦÓóÌÐòÐèÒªÒ»¸öÐÅÏ¢»ò²éѯ´°Ìå×ܱ£³ÖÔÚ×îÉϲ㣬¼´Ê¹ÓöÁÊéÇл»µ½ÆäËû´°ÌåÒ²ÄÜ¿´µ½¸Ã´°Ì壬ÈçMicrosoft WordÖеÄFind´°Ì壬ÕâÊÇͨ¹ýµ÷ÓÃWindows APIº¯ÊýSetWindowPos()ʵÏֵģ¬Ê¾ÀýÈçÏ£ºª¥ Option Explicit Private Declare Function SetWindowPos Lib¡°User32¡±(ByValhwnd As Long,ByVal h WndInsertAfter As Long,ByVal x As Long,ByVAl y As Long,ByVal cx As Long,ByVal cy As Long,ByVal wFlags As Long)As Long Const HWND_TOPMOST=-1 Const SWP_SHOWWINDOW=&H40 Private Sub Form_load() Dim retValue As Long RetValue=setWindowPos(me.hwnd,HWND_TOPMOST,Me.CurrentX,Me.CurrentY,300,300,SWP_SHOWWINDOW) End Sub 3.´°Ìå×°ÈëËÙ¶ÈÂýµÄ´¦Àí¼¼Çɪ¥ ÔÚȱʡÇé¿öÏ£¬Visual Basic×°ÈëºÍÏÔʾÏîÄ¿µÄµÚÒ»¸ö´°Ìå¡£Èç¹û´°Ìå×°Èë¹ý³Ì³¬¹ýÒ»Ã룬Óû§Ö»ºÃÄÍÐĵȴý£¬ÌرðÊÇÔÚ´°ÌåÖк¬ÓдóÐÍλͼ»òÐí¶à¿Ø¼þʱ¡£Æäʵ£¬Î¢ÈíÔÚOFFICE×é¼þÖÐÒѾºÜºÃµØ´¦ÀíÁËÕâÒ»ÎÊÌâ¡£ÏÂÃæµÄ³ÌÐòÑÝʾÁË´¦ÀíµÍËÙ´°ÌåµÄ×°Èë¼¼ÇÉ£¬ÔÚÓ¦ÓóÌÐòÆô¶¯Ê±£¬Ê×ÏÈÆô¶¯Ò»¸ö¼òµ¥µÄ¿ìËÙ×°Èë´°Ì壬¿ÉÒÔ½«¹«Ë¾±êÖ¾»òÆäËûÐÅÏ¢ÏÔʾÔÚÉÏÃæ£¬È»ºóÔÚ¿ìËÙ´°Ìåºǫ́ÖÐ×°ÈëÂýËÙ´°Ì壬ÂýËÙ´°Ìå×°Èëºó½«¿ìËÙ´°Ìåж³ö£¬´Ó¶ø½â¾öÁËÈÃÓû§Ñá·³µÄµÈ´ýÎÊÌâ¡£ª¥ Private Sub Form_Load() Form1.Show Form1.Refresh Load Form2 ¡®×°ÈëÂýËÙ´°Ìå Form2.Show ¡®ÏÔʾÂýËÙ´°Ìå End Sub Èç¹ûÊ¡ÂÔForm1.Show·½·¨£¬ÔòÐè×°ÈëÂýËÙ´°Ìåºó²ÅÄÜÏÔʾÐÅÏ¢´°Ìå¡£Refresh·½·¨ÈÃVisual Basic¸üÐÂÏÔʾºóÔÙÖ´ÐкóÃæµÄÃüÁȱʡÇé¿öÏ£¬Visual BasicÖ»ÔÚ²»Ö´ÐÐÆäËû´úÂëʱ£¬²ÅÓлú»áË¢ÐÂÏÔʾ¡£ÂýËÙ´°ÌåForm2×°Èëºó£¬ÓÃÏÂÁдúÂ뽫¿ìËÙ´°ÌåFomr1ж³ö£ºª¥ Private Sub Form_Load() UnLoad Form1 ¡®Ð¶³ö¿ìËÙ´°Ìå End Sub Ò»µ©×°Èë´°Ì壬Ëü¾ÍÕ¼ÓÃÁËËùÒªµÄ×ÊÔ´£¬ËùÒÔ²»ÔÙÐèÒªµÄ´°ÌåÓ¦¼°Ê±Ð¶³ö£¬½«Õ¼ÓõÄ×ÊÔ´½»»¹ÏµÍ³¡£ÁíÍ⣬ÓÉÓÚ´°Ìå×°Èë±È½ÏÂý£¬ÌرðÊǰüº¬Î»Í¼»òÆäËû×ÊÔ´µÄ´óÎļþ×°Èë¸üÂý£¬ËùÒÔÓ¦ÓóÌÐòÔËÐÐÆÚ¼äÓ¦¾¡Á¿±ÜÃâÆµ·±×°Èë/ж³ö´°Ì壬¶ø×îºÃÔÚÓ¦ÓóÌÐòÆô¶¯Ê±°Ñ´°Ìå×°ÈëÄڴ棬ÐèҪʱÔÙÏÔʾ¡£ª¥
|
ÀûÓÃVB¿ØÖÆ´°¿ÚÏÔʾ·ç¸ñ ¹ãÖÝ ¹ùÉÙÔ½ |
Èí¼þ½çÃæÉú¶¯Óë·ñºÜ´ó³Ì¶ÈÉϾö¶¨ÓÚÄã¶Ô´°¿ÚµÄÉè¼ÆºÍ¿ØÖÆ¡£ÊÂʵÉÏ£¬Windows³ÌÐòÔ±¿ÉÒÔ¶ÔϵͳÖеÄÈκδ°¿Ú½øÐвÙ×Ý£¬ËüÒâζ×Å£¬Windows³ÌÐòÔ±¿ÉÒÔÖ±½Ó²Ù×ÝÈκÎÕýÔÚÔËÐеÄÓ¦Óô°¿Ú£»¿ÉÒÔ·¢ÏÖÒ»¸öÌØ¶¨µÄÓ¦ÓÃÊÇ·ñÔÚÔËÐУ¬Èç¹û¸ÃÓ¦ÓÃûÓÐÔËÐл¹¿ÉÒÔÆô¶¯Ëü£»¿ÉÒÔÖØÐÂÅÅÁÐÆÁÄ»ÉϵÄËùÓд°¿Ú£»»¹¿ÉÒÔʹÆäËûÓ¦ÓõĴ°¿Ú×î´ó»¯»ò×îС»¯¡£ÏÂÃæÎÒÃÇ̽ÌÖÒ»ÖÖÊ®·ÖÓÐÒâÒåµÄÓ¦ÓᣠÎÒÃǺÜÏ£ÍûÔÚ³ÌÐò¼¤»îÆäËü´°¿ÚʱÈÔʹµÃ·âÃæ´°¿Ú´¦ÓÚǰ̨£¬Ò²¾ÍÊÇ˵¸Ã´°¿Ú¾ßÓС° ×ÜÔÚ×îÇ°Ãæ¡±£¨¡°Always On Top¡±£©ÕâÒ»ÌØÐÔ¡£ÆäʵMicrosoftϵÁÐÈí¼þ¶¼ÊÇÕâÑù×öµÄ£¬µ±ÄãÔËÐÐWord¡¢Excel»òPowerPointʱ£¬Äã»á·¢ÏÖËüÃǵķâÃæ´°¿Ú²»ËæÏµÍ³¼¤»îÆäËü´°¿Ú¶øÏûʧ¡£ Visual Basic For Windows£¨ÒÔϼò³ÆVB£©×÷ΪһÖÖ¿ÉÊÓ»¯±à³ÌÈí¼þ£¬ÒÔÆäÓÅÐãµÄͼÐλ¯½çÃæÉè¼Æ·ç¸ñ¶øÖø³Æ¡£ÀûÓÃËü¿ÉʹÈí¼þ¿ª·¢ÖÜÆÚ´óΪËõ¶Ì£¬È»¶øVB¶ÔWindows DLL£¨¶¯Ì¬Á´½Ó¿â£©µ÷ÓõÄÇ¿´ó¹¦ÄÜÈ´Ò×Êܲ»ÉÙ³ÌÐòÔ±ËùºöÂÔ¡£ÊÂʵÉÏ£¬Áé»îÓ¦ÓÃWindows DLLµÄAPI£¨Ó¦ÓóÌÐò½Ó¿Ú£©²ÅÄÜʹÄ㿪·¢µÄϵͳ¸ü¼Ó³äÂú»îÁ¦¡£ÕýÊÇÓÉÓÚVBÖ§³ÖDLLʹµÃÎÒÃÇ¿ÉÒÔËæÐÄËùÓûµØ¿ØÖÆ´°¿ÚÏÔʾ·ç¸ñ£¬´Ó¶øÎÒÃÇ¿ÉÒÔÈÃϵͳ·âÃæ×Ü´¦ÓÚǰ̨£¬ÏÂÃæËµÃ÷Óõ½µÄAPIº¯Êý¡£ £®SetWindowPOS VB¶¨Ò壺 Declare Sub SetWindowPosLib¡°User¡± £¨Bybal hWnd as Integer £¬hWndInsertAfter as Integer£¬ByVal £Ø as Integer£¬ByVal £Ù as Integer£¬ByVal cx as Integer £¬ByVal cy as Integer£¬ByVal wFlags as Integer£© ˵Ã÷£ºÄܸı䴰¿ÚµÄλÖúʹóС£¬²¢ÄÜÐ޸Ĵ°¿ÚÔÚÄÚ²¿´°¿ÚÁбíÖÐËù´¦µÄλÖ㬠ÒÔ¿ØÖÆÏÔʾ´ÎÐò¡£ ²ÎÊý ÀàÐÍ£¯ËµÃ÷ hWnd Integer£Ð趨λµÄ´°¿Ú hWndInsertAfter Integer£´°¿Ú¾ä±ú£¬ÔÚ´°¿ÚÁбíÀ ´°¿ÚhWnd½«·ÅÔڸô°¿Ú¾ä±úµÄºóÃæ£¬Ëü¿ÉÒÔÈ¡ÒÔÏÂÖµ£º hWnd£ßBOTTOM£º°Ñ´°¿Ú·ÅÔÚ´°¿ÚÁбíµÄµ×²¿£» hWnd£TOP£º°Ñ´°¿Ú·ÅÔÚ£ÚÐòµÄ¶¥²¿¡££ÚÐòÊÇ´°¿Ú°´²ã´Î¼¶±ðÏÔʾµÄ˳Ðò£» hWnd£ßTOP£¨MOST£©£º°Ñ´°¿Ú·ÅÔÚÁбíµÄ¶¥²¿£¬Î»ÓÚËùÓÐ×î¶¥´°¿ÚÖ®ºó¡£ X Integer¡ª´°¿ÚеÄX×ø±ê£¬Èç¹ûhWndÊÇÒ»¸ö×Ó´°¿Ú£¬X¸ø³öµÄÊǸ¸´°¿ÚµÄ¿Í»§×ø±ê¡£ Y Integer¡ª´°¿ÚеÄY×ø±ê£¬Èç¹ûhWndÊÇÒ»¸ö×Ó´°¿Ú£¬Y¸ø³öµÄÊǸ¸´°¿ÚµÄ¿Í»§×ø±ê¡£ cx Integer¡ªÖ¸¶¨Ð´°¿Ú¿í¶È¡£ cy Integer¡ªÖ¸¶¨Ð´°¿Ú¸ß¶È¡£ wFlags Integer¡ª°üº¬ÏÂÁбêÖ¾Ö®Ò»µÄÕûÊý£º SWP£ßDRAWFRAME£ºÎ§ÈÆ´°¿Ú»Ò»¸ö±ß¿ò£» SWP£ßHIDEWINDOW£ºÒþ²Ø¸Ã´°¿Ú£» SWP£ßNOACTIVATE£º²»¼¤»î¸Ã´°¿Ú£» SWP£ßNOMOVE£º±£³Öµ±Ç°Î»Ö㨣غͣٱ»ºöÂÔ£©£» SWP£ßNOREDRAW£º´°¿Ú²»×Ô¶¯ÖØ»£» SWP£ßNOSIZE£º±£³Öµ±Ç°´óС£¨cxºÍcy±»ºöÂÔ£©£» SWP£ßNOZORDER£º±£³Ö´°¿ÚÁбíÖеĵ±Ç°Î»Öã¨hWndInsertAfter±»ºöÂÔ£©£» SWP£ßSHOWWINDOW£ºÏÔʾ¸Ã´°¿Ú¡£ ×¢ÊÍ£ºµ±Ò»¸ö´°¿Ú³ÉΪ×î¶¥´°¿Úʱ£¬ËüËùÓеĴÓÊô´°¿ÚÒ²³ÉΪ×î¶¥´°¿Ú£»µ±Ëü³ÉΪ·Ç×î¶¥´°¿Úʱ£¬ËüÈ«²¿µÄ´ÓÊô´°¿ÚºÍÓµÓд°¿ÚÒ²³ÉΪ·Ç×î¶¥´°¿Ú£¬£ÚÐò±íʾ´°¿ÚÑØ×Å´ÓÆÁÄ»ÀïÏòÍâÑÓÉìµÄ¼ÙÏë£ÚÖᣬ´Ó¶¥µ½µ×µÄÅÅÁдÎÐò¡£ VBʵÏÖ´°¿ÚÓµÓС°Always On Top¡±ÌØÐÔ£º Ê×ÏÈ£¬¶¨ÒåÈ«¾Ö³£Á¿¼°º¯Êý¡£ Global Const hWnd£ßTOPMOST£½££± Global Const SWP£ßNOACTIVATE£½£¦£È£±£° Global Const SWP£ßSHOWWINDOW£½£¦£È£´£° Declare Sub SetWindowPosLib ¡°User¡± ByBal hWnd as Integer£¬hWndInsertAfter as Integer£¬ByVal £Ø as Integer£¬ByVal £Ù as Integer£¬ByVal cx as Integer£¬ByVal cy as Integer£¬ByVAL wFlags as Integer£© Ö÷³ÌÐòÈçϱàд£º Sub Main £° Screen£®MousePointer£½£±£±'ʹÊó±ê±äΪ©¶·×´ Load SystemCover'×°ÔØÏµÍ³·âÃæ´°Ìå SetWindow£Ð£ï£ó SystemCover£®hWnd£¬hWnd£ßTOPMOST£¬£°£¬£°£¬£°£¬£°£¬SWP£ßNOACTIVATE Or SWP£ßSHOWWINDOW'ʹµÃ·âÃæ×Ü´¦ÓÚ×îÇ°Ãæ Load InitWindow£±'×°ÔØ³õʼ»¯´°Ì壱 Load InitWindow£²'×°ÔØ³õʼ»¯´°Ì売 £º £º Unload SystemCover'¹Ø±Õϵͳ·âÃæ´°Ìå Screen£®MousePointer£½£° 'ʹÊó±ê±äΪȱʡÐÎ×´ End Sub
|
| Èô°¿ÚÒ»Ö±ÔÚÉÏÃæ |
ºÜ¶àÁ÷ÐÐÈí¼þ¶¼ÓÐÕâÑùÒ»¸öÑ¡ÏAlways on Top¡£Ëü¿ÉÒÔÈô°¿ÚÔÚ×îÉÏÃæ£¬±ðµÄ´°¿Ú²»Äܸ²¸ÇËü¡£ÎÒÃÇÔÚ VB ÖУ¬¿ÉÒÔʹÓÃÏÂÃæµÄ·½·¨À´ÊµÏÖ£º Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOZORDER = &H4 Private Const SWP_NOREDRAW = &H8 Private Const SWP_NOACTIVATE = &H10 Private Const SWP_FRAMECHANGED = &H20 Private Const SWP_SHOWWINDOW = &H40 Private Const SWP_NOCOPYBITS = &H80 Private Const SWP_NOOWNERZORDER = &H200 Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED Private Const SWP_NOREPOSITION = SWP_NOOWNERZORDER Private Const HWND_TOP = 0 Private Const HWND_BOTTOM = 1 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Declare Function SetWindowPos Lib "user32" ( _ ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long Private mbOnTop As Boolean Private Property Let OnTop (Setting As Boolean) if Setting Then SetWindowPos hwnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Else SetWindowPos hwnd, -2, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE End If mbOnTop = Setting End Property ¡¡ Private Property Get OnTop() As Boolean 'Return the private variable set in Property Let OnTop = mbOnTop End Property µ÷Óà OnTop=True ¼´¿ÉÈô°¿Ú Always On Top¡£
|
| ´´½¨ÎÞ Icon µÄ´°¿Ú |
ÎÒÃÇÔںܶàʱºò¶¼ÐèÒªÄÇÖÖÎÞ Icon µÄ ´°¿Ú£¬Èç¡°¹ØÓÚ¡¡¡±¡°²éÕÒ¡±µÈ¡£ÔÚ VB ÖУ¬ÎÒÃÇ¿ÉÒÔ°´ÒÔϲ½ÖèÀ´´´½¨´ËÀà´°¿Ú£º 1¡¢ÉèÖô°¿ÚµÄ BorderStyle = 3£» 2¡¢ÔÚ Form_Load ÖмÓÈ룺Me.Icon = LoadPicture("")
|
| ´´½¨²»¹æÔò´°¿Ú |
Win32 API ÓкܶàÈÃÄãÒâÏë²»µ½µÄ¹¦ÄÜ¡£Òª´´½¨ÌØÊâµÄ²»¹æÔò´°¿Ú¿´ÉÏÈ¥ËÆºõºÜÄÑ¡£µ«ÎÒÃÇÈç¹ûÎÒÃÇ˵ÎÒÃÇÓü¸ÐдúÂë¾Í¿ÉÒÔʵÏÖ£¬ÕâËÆºõ²»¿É˼Òé¡£µ«ÊÂʵ¾ÍÊÇÈç´Ë£¡ÇëÊÔÊÔ£º Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long ¡¡ Private Sub Form_Load() Show 'The form! SetWindowRgn hWnd, CreateEllipticRgn(0, 0, 300, 200), True End Sub ÉÏÊö´úÂë¿ÉÒÔ´´½¨Ò»¸öÍÖÔ²ÐÎ×´µÄ´°¿Ú¡£ÔõôÑù£¿£¿
|
ÓÃVB5.0»ñÈ¡ÕýÔÚϵͳÖÐÔËÐеĴ°¿Ú±êÌâ ɽ¶«µÂÖÝ ñãÖÇÇ¿ |
ÊìϤVisual BasicµÄ¶ÁÕß¶¼ÖªµÀ£¬AppActivateÓï¾äÊǼ¤»îÒ»¸öÓ¦ÓóÌÐò´°¿ÚÆäºóËù´øµÄ²ÎÊýÊÇÖ¸Òª±»×Ó¼¤»îµÄÓ¦ÓóÌÐò´°¿Ú±êÌâÌõµÄ×Ö·û´®¡£Èç¹ûÒª¼¤»îµÄÊÇÒ»¸ö³£¼ûµÄÓ¦ÓóÌÐò£¬ÎÒÃÇÔÚ±àд³ÌÐòʱ¾Í¿ÉÒÔÖ±½ÓдÉϴ˳ÌÐòµÄ´°¿Ú±êÌâ¡£ÀýÈ磬ÎÒÃÇÏ뼤»îWindows95µÄ¼ÆËãÆ÷£¬¿ÉÏÈÔËÐгÌÐòx=SHELL("Calc.exe",1)£¬È»ºóÔÙ¼¤»î¼ÆËãÆ÷´°¿ÚAppActivate¡°¼ÆËãÆ÷¡±£¬Ôò³ÌÐò½¹µã×Ô¶¯×ªµ½¼ÆËãÆ÷´°¿ÚÉÏ¡£È»¶øµ¥´¿Ê¹Óø÷½·¨¾ÖÏÞÐԷdz£´ó£¬±ÈÈçÉÏÊöÀý×Ó£¬Èç¹ûÎÒÃÇ·ÅÔÚÓ¢ÎÄWindows95ÉÏÔËÐУ¬¼ÆËãÆ÷µÄ´°¿Ú±êÌâ¾Í²»ÊÇ¡°¼ÆËãÆ÷¡±£¬¶øÊÇ¡°Calculator¡±¡£ÔÙÒ»¸ö¾ÖÏÞÐÔ¾ÍÊÇÔںܶàÇé¿öÏÂÎÒÃDz¢²»ÖªµÀÒª¼¤»îµÄ³ÌÐò´°¿Ú±êÌâÃû³Æ£¬ÈçºÎ±àÖÆÒ»¸öÄÜ×Ô¶¯²éÕÒ³ÌÐò´°¿Ú±êÌâÃû³ÆµÄ³ÌÐòÊDZ¾ÎÄÒª½â¾öµÄÎÊÌâ¡£ ÎÒÃÇ¿ÉÒÔ²ÉÈ¡Èçϰ취£¬À´»ñÈ¡ÕýÔÚϵͳÔËÐеĴ°¿Ú±êÌâ¡£ ÔÚWindowsAPIÖÐÓÐÒ»¸öº¯Êý£º Get Windows (ByVal hWnd As Long ,ByVal wCmd As Long) As Long ÆäÖУ¬hWndÊǵ±Ç°´°¿Ú¾ä±ú£¬wCmdÊÇÓëhWndÓÐÁªÏµµÄ³£Á¿£¬Æäº¬ÒåÈçÏ£º wCmdÖµ º¬Òå GW-GHILD µÚÒ»¸ö×Ó´°¿Ú GW-HWNDFIRST ×Ó´°¿ÚµÄµÚÒ»Ðֵܴ°¿Ú£¬ÆäµÚÒ»¸ö¶¥²ã´°¿Ú GW-HWNDLAST ×Ó´°¿ÚµÄ×îºóÒ»¸öÐֵܴ°¿Ú£¬»ò×îºóÒ»¸ö¶¥²ã´°¿Ú GW-HWNDNEXT ºó¼Ì´°¿Ú GW-HWNDPRCV ÏÈǰ´°¿Ú GW-OWNER ´°¿ÚÓµÓÐÕß ´Ëº¯Êý·µ»ØÖµÊÇwCmdËùÖ¸µÄ´°¿ÚµÄ¾ä±ú¡£ ÎÒÃÇÀûÓô˾ä±ú £¬ÔÙÓú¯ÊýGet WindowsText (ByVal hWnd As Long ,ByVal Ipstring As String, ByVal cch As Long) As Long£¬½«¾ä±úhWndÖ¸¶¨µÄ´°¿Ú±êÌâ·ÅÈëÒ»¸ö×Ö·û´®±äÁ¿IpstringÖУ¬cchÊÇÖ¸·ÅÈëIpstringÖеÄ×î´ó×Ö·ûÊý¡£´Ëº¯Êý³É¹¦Ê±·µ»Ø×Ö·û´®³¤¶È£¬Èç¹û´°¿ÚÎÞ±êÌâÔò·µ»ØÁã¡£ ÔÚʹÓÃGet WindowsTextº¯Êýǰ£¬»¹ÒªÏÈÓú¯ÊýGet WindowsTextLength £¨ByVal hWnd As Long £©As LongµÃµ½hWndÖ¸¶¨´°¿Ú±êÌâµÄ³¤¶È£¬·ÅÈëcchÖС£ ×Ô±àÒ»¸ö¹ý³ÌFindTitle()²éÕÒϵͳÖÐÕýÔÚÔËÐеÄËùÓбêÌ⣬Ê×ÏÈ»ñµÃµÚÒ»¸ö¶¥²ã´°¿Ú¾ä±úcurrwnd£¬¶øºó²ÉÓÃWhile¡WendÑ»·½á¹¹£¬µ±currwnd²»ÎªÁã¶øÇÒ±êÌâÎı¾³¤¶È²»ÎªÁãʱ£¬½«»ñµÃµÄ±êÌâ´æÈëÁбí¿òCombo1£¬ÔÙÕÒºó¼Ì´°¿ÚµÄ¾ä±ú£¬µ±¾ä±úcurrwnd=0ʱ±íʾÒÑûÓÐÁ˺ó¼Ì´°¿Ú£¬Í˳öÑ»·¡£ÕâÑù¾Í½«ÏµÍ³ÖÐËùÓеĴ°¿Ú¾ä±ú¼°±êÌâÕÒ³öÀ´ÁË¡£ È»¶øµ÷ÊÔÖз¢ÏÖÓô˷½·¨ÕÒµ½µÄ´°¿Ú±êÌâ·Ç³£¶à£¬Õâ˵Ã÷WindowsϵͳÔËÐÐʱÓÐÐí¶àÒþº¬µÄ´°¿Ú£¬¶øÕâЩ´°¿ÚÊÇÎÒÃÇËù²»ÐèÒªµÄ£¬¶øÇÒÓÃAppActivate¼¤»îʱҲ³öÏÖ´íÎó¡£ Òò´ËÎÒÃÇÔÙ×Ô±àÒ»¸ö¹ý³ÌSift ()²éÕҿɼ¤»îµÄ´°¿Ú¡£Æä·½·¨ÊÇÓÃAppActivateÖð¸ö¼¤»îËùÓд°¿Ú£¬³öÏÖ´íÎóµÄ¶ªµô£¬±£Áô¿É¼¤»îµÄ´°¿Ú±êÌ⣬·ÅÈëÁбí¿òCombo2¡£ Ê×ÏÈн¨´°ÌåForm1£¬Caption=¡°»ñÈ¡´°¿Ú±êÌ⡱£¬ÔÚ´°ÌåForm1ÉϽ¨Á¢Á½¸ö±êÇ©£¬Label1,Caption=¡°ËùÓд°¿Ú±êÌ⡱£¬Label2.Caption=¡°¿É¼¤»îµÄ´°¿Ú±êÌ⡱£»½¨Á¢Á½¸öÏÂÀÁбí¿ò£¬Combo1´æ·ÅϵͳÖеÄËùÓбêÌâÃû³Æ£¬Combo2´æ·Å¿É¼¤»îµÄ±êÌâÃû³Æ£»ÔÙ½¨Á¢Á½¸öÃüÁî°´Å¥£¬Command1.Caption=¡°¼¤»î´°Ì塱£¬¿É¶ÔËùÁд°Ìå½øÐвâÊÔ£¬ÃüÁî°´Å¥Command2.Caption=¡°Ë¢Ð¡±£¬µã»÷Ëü¿ÉÖØÐ²éÕÒËùÓÐÔÚϵͳÖеĴ°ÌåÃû³Æ£¬µ±±¾³ÌÐòÔËÐÐÒÔºóÓÖÔËÐÐÁËгÌÐòʱʹÓô˰´Å¥¡£ ´ÓVBϵͳ²Ëµ¥ÉÏѡȡProjectÖеÄAdd Module£¬½«ÏÂÊöAPIº¯Êý¼°Ò»Ð©³£Á¿Â¼Èë¡£ 'Module Ä£¿é Declare Function GetWindow Lib "user32"(ByVal hwnd As Long, ByVal wCmd As Long)As Long Declare Function GetWindowText Lib "user32" Aias"GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String,ByVal cch As Long)As Long Declare Function GetWindowText Length Lib "user32" Aias"GetWindowTextLengthA" (ByVal hwnd As Long)As Long Public Const GW-HWNDFIRST=0 Public Const GW-HWNDLAST=1 Public Const GW-HWNDNEXT=2 Public Const GW-HWNDPREV=3 Public Const GW-OWNER=4 ½¨Á¢Á½¸ö×Ó³ÌÐò£º Sub FindTitle () '²éÕÒ×ÀÃæÉϵÄËùÓд°¿Ú±êÌâ Dim currwnd As Integer Combo1.Clear Currwnd=GetWindow (hwnd, GW-HWNDFIRST) While currwnd<>0 Length= GetWindow TextLength (currwnd) listitem$=Space $(length +1) length= GetWindow Text (currwnd,listitem$,length+1) if length>0 Then Combo1.Addltem listitem $ End if currwnd= GetWindow (currwnd, GW-HWNDNEXT) if Combl1.ListCount>0 Then Combo1.Text=Combol.List (0) Combo1.Listindex =0 Else MsgBox¡°Ã»Óз¢ÏֿɻµÄ´°¿Ú¡±£¬16£¬¡°»î¶¯¡± End if Wend End Sub Sub Sift () '²âÊÔ´°¿ÚÄÜ·ñ»î¶¯ i=0 Combo2.Clear Do On Local Error Resume Next AppActivate Combo1.List (i) If Err =0 Then Combo2.Additem Combo1.List(i) End if i=i+1 Loop Unti 1 i=Combo1.ListCount-1 AppActivate Form1.Caption If Combo2.ListCount>0 then Combo2.Text =Combo2.List (0) Combo2.Listindex =0 Else MsgBox ¡°Ã»Óз¢Ïֿɻ´°¿Ú¡±£¬16£¬¡°»î¶¯¡± End if End Sub Private Sub Form-Load () Form1.Show'Ê×ÏȽ«±¾´°ÌåÏÔʾ³öÀ´£¬·ñÔò²éÕÒ³öµÄ´°Ìå±êÌâûÓб¾Éí MsgBox "¿ªÊ¼²éÕÒ´°¿Ú±êÌâ" Call FindTitle Call Sift End Sub Private Sub Command1-Click () F $=Combo2.Text On Local Error Resume Next AppActivate F $ End Sub Private Sub Command2-Click () Call FindTitle Call Sift End Sub ±¾³ÌÐòÔÚVisual Basic5.0Éϵ÷ÊÔͨ¹ý¡£
|
| ÀûÓÃForm_QueryUnloadѯÎÊʹÓÃÕßÊÇ·ñ¹Ø±Õ´°¿Ú |
Èç ºÎ ÔÚ ´° ¿Ú ¹Ø ±Õ ʱ £¬ ѯ ÎÊ Ê¹ Óà Õß ÊÇ ·ñ È· ¶¨ ¹Ø ±Õ £¬ Èô ·ñ£¬ Ôò È¡ Ïû ¹Ø ±Õ ¶¯ ×÷ £¬ Èô ÊÇ Ôò ½á Êø ³Ì Ðò £¡ Õâ ÊÇ Ò» ¸ö ºÜ ÖØ Òª µÄ ÎÊ Ìâ £¬ Ïë Ïë £¬ Èç ¹û »¹ ÓÐ ±à ¼ ÖÐ µÄ µµ°¸ ÉРδ ´æ µµ £¬ µ« Ò» ʱ Íü ÁË °´ Ï ¡¸ ¹Ø »ú ¡¹ Å¥ £¬ ÄÇ Ã´ ±à ¼ ÖÐµÄ ÎÄ ¼þ ÄÑ µÀ ¾Í ²» ´æ µµ ÁË Â𠣿 Ϊ ÁË ±Ü Ãâ Õâ ÖÖ Ê Çé µÄ ·¢ Éú £¬ Windows ÔÚ ¹Ø »ú ÒÔ Ç° »á áç ѯ ÿ Ò» ¸ö ´° ¿Ú ÊÇ ·ñ ͬ Òâ ¹Ø »ú £¬ ¶ø¶Ô VB ³Ì Ðò ¶ø ÑÔ £¬ Ëù ÊÕ µ½ ¡¸ áç ѯ ͬ Òâ ¹Ø »ú ¡¹ µÄ Ê ¼þ ÊÇ Form_QueryUnload£¬Èç ¹û ³Ì Ðò ²» ͬ Òâ ¹Ø »ú £¬ ¿É ÒÔ ½« Èþ Êý ÖÐ µÄ Cancel Éè ¶¨ Ϊ True£¬Èç Ï £º Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = True End Sub Ôò Windows ±ã »á ÖÕ Ö¹ ¹Ø »ú µÄ ¶¯ ×÷ ¡£ Ö» ÓÐ ÔÚ Ëù ÓÐ ´° ¿Ú ¶¼ ͬÒâ ¹Ø »ú µÄ Çé ¿ö Ï £¬ Windows ²Å »á Õæ µÄ ¹Ø »ú ¡£
|
| Èç ºÎ½«¡¸¾Ü ¾ø ±» ¸Ç ס µÄ ´° ¿Ú ¡¹»¹ Ô |
Èç ¹û Form ÒÑ Ö´ ÐÐ ¹ý ¾Ü ¾ø ±» ¸Ç ס µÄ ´° ¿Ú ¹¦ ÄÜ, Ó¦ Èç ºÎ ½« Ëü »Ö ¸´ ³É Õý ³£ µÄ Form ? ¾Ü¾ø±»¸Çס ret = SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3) »Ö¸´Õý³£ ret = SetWindowPos(Me.hwnd, -2, 0, 0, 0, 0, 3)
|
| Ôڲ˵¥ÉÏÔö¼Óͼ±ê |
ÉùÃ÷£º Declare Function GetMenu Lib "user32"?(ByVal hwnd As Long) As Long Declare Function GetSubMenu Lib "user32"?(ByVal hMenu As Long, ByVal nPos As Long) As Long Declare Function GetMenuItemID Lib "user32"?(ByVal hMenu As Long, ByVal nPos As Long) As Long Declare Function SetMenuItemBitmaps Lib "user32"?(ByVal hMenu As Long, ByVal nPosition As Long,?ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ?ByVal hBitmapChecked As Long) As Long Public Const MF_BITMAP = &H4& Type MENUITEMINFO cbSize As Long fMask As Long fType As Long fState As Long wID As Long hSubMenu As Long hbmpChecked As Long hbmpUnchecked As Long dwItemData As Long dwTypeData As String cch As Long End Type Declare Function GetMenuItemCount Lib "user32"?(ByVal hMenu As Long) As Long Declare Function GetMenuItemInfo Lib "user32"?Alias "GetMenuItemInfoA" (ByVal hMenu As Long,?ByVal un As Long, ByVal b As Boolean,?lpMenuItemInfo As MENUITEMINFO) As Boolean Public Const MIIM_ID = &H2 Public Const MIIM_TYPE = &H10 Public Const MFT_STRING = &H0& ʹÓ㺠ÔÚ Form1 ÖÐÔö¼ÓÒ»¸ö PictureBox1£¬ AutoSize Ϊ True£¬ ·ÅÒ»¸öС Bmp (²»ÊÇ Icon£¡ÍƼö 13*13)¡£ Private Sub Command1_Click() ¡¡ 'Get the menuhandle of your app hMenu& = GetMenu(Form1.hwnd) ¡¡ 'Get the handle of the first submenu (Hello) hSubMenu& = GetSubMenu(hMenu&, 0) ¡¡ 'Get the menuId of the first entry (Bitmap) hID& = GetMenuItemID(hSubMenu&, 0) ¡¡ 'Add the bitmap SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture 'You can add two bitmaps to a menuentry 'One for the checked and one for the unchecked 'state. ¡¡ End Sub
|
| ²Ëµ¥ÏîµÄ¶¯Ì¬×°Èë |
²Ëµ¥ÏîµÄ¶¯Ì¬×°ÈëÊÇÖ¸²Ëµ¥ÏîµÄ¸öÊý²»¹Ì¶¨. Àý×Ó¾ÍÊÇÎļþ²Ëµ¥ÖÐ×î½ü´ò¿ªµÄÎļþµÄÁÐ±í¡£ÔÚµÚÒ»´Î´ò¿ªÎļþ֮ǰ,¸ÃÁбíÊǿյÄ,²¢ÇÒ²»ÔÚÎļþ²Ëµ¥ÖгöÏÖ;´ò¿ªÒ»¸öÎļþºó,¸ÃÁÐ±í²»ÔÙÊǿյÄ,²¢ÇÒÎļþ²Ëµ¥ÖгöÏÖ´ú±í±»´ò¿ªÎļþµÄ²Ëµ¥Ïî¡£ ¾ßÌåµÄʵÏÖ¹ý³ÌÈçÏÂ: ÔÚÎļþ²Ëµ¥ÀïÔö¼ÓÒ»¸ö²Ëµ¥Ïî,±êÌâÈÎÒâ,²¢¼ÙÉè²Ëµ¥ÏîµÄNameÊôÐÔÊÇopened_files_ list; ¸ü¸Ä²Ëµ¥Ïîopened_files_listµÄ¿É¼ûÊôÐÔ,ʹ opened_files_list.Visible=False ¸ü¸Ä²Ëµ¥Ïîopened_files_listµÄϱêÊôÐÔ,ʹ opened_files_list.Index=0 ÔÚ³ÌÐòÖпØÖƲ˵¥Ïîopened_files_listµÄ¶¯Ì¬×°Èë¡£ ¼ÙÉèÒªÏÔʾ´ò¿ª¹ýµÄµÚ¶þ¸öÎļþµÄÎļþÃû,²¢ÇÒ¸ÃÎļþÃû´æ·ÅÔÚÒ»¸öÎļþÃûÊý×éopened _file_nameÀï¡£ÒÔϵĴúÂë¾ÍʵÏÖÁËÕâÒ»¹¦ÄÜ: ¡¡ Load opened_files_list(1) opened_files_list(1).Caption="&2"+opened_file_name(1) opened_files_list(1).Visible=True ¡¡ ÐèҪעÒâµÄÊÇ,¶ÔÓÚϱêΪ0µÄ²Ëµ¥Ïî,²»ÄÜÓÃLoad·½·¨¡£ÒòΪÔÚ³ÌÐòÖ´ÐÐʱ,¸Ã²Ëµ¥Ïî¾Í ÒѾ±»×°Èëµ½ÄÚ´æÀïÁË;ÁíÍâ,Ôڲ˵¥ÏîµÄ±êÌâÊôÐÔ×Ö·ûÀïµÄ"&"×Ö·û¾ßÓÐÌØÊâµÄº¬Òå,ËüµÄ×÷ ÓÃÊÇÔÚÏÔʾ¸ÃÊôÐÔ×Ö·û´®µÄͬʱ,²¢²»ÏÔʾ"&"±¾Éí,¶ø½ô¸ú"&"µÄ×Ö·ûÔÚÏÔʾʱ¾ßÓÐÏ»®Ïß, ²¢ÇÒ¸Ã×Ö·û³ÉΪÈȼü¡£ Èç¹ûϱ겻Ϊ0µÄ²Ëµ¥Ïî²»ÔÙÐèÒª,ΪÁ˼õÉÙ¶ÔÄÚ´æ×ÊÔ´µÄÕ¼ÓÃ,¿ÉÒÔÓÃUnload·½·¨°ÑËü ´ÓÄÚ´æÐ¶³ö;ͬÑùµØ,²»ÄÜÓÃUnloadж³öϱêΪ0µÄ²Ëµ¥Ïî¡£
|
| ÓÃVBʵÏÖ¸¡¶¯°´Å¥ |
ÔÚ΢ÈíµÄºÜ¶àÈí¼þ£¨ÈçWORD£©µÄ¹¤¾ßÀ¸ÖУ¬¶¼²ÉÓÃÒ»ÖÖ¸¡¶¯°´Å¥£¬¼´Õý³£Çé¿öϰ´Å¥µÄͼ±ê³Ê»ÒÉ«£¬µ±Êó±êÒÆ¶¯µ½Ä³Ò»°´Å¥Ê±£¬¸Ã°´Å¥×Ô¶¯ÏòÉÏ͹ÆðÇÒ±äΪ²ÊÉ«£¬²¢ÔÚ°´Å¥µÄÓÒÏ·½ÓÐÒ»±êÇ©Ìáʾ¸Ã°´Å¥µÄ¹¦ÄÜ£¬Êó±êÒÆ¿ªºóÓÖ×Ô¶¯»¹Ô£¬ÕâÖÖ°´Å¥ÓÃVBʵÏÖʱ£¬·½·¨ÈçÏ£º 1.ÏÈÓûæÍ¼¹¤¾ß×÷³ö°´Å¥Í¼±êºó´æÅÌ£¨Èç1.bmp£©£¬ÔÙÓÃͼÏó´¦ÀíÈí¼þ½«¸Ãͼ±êת»»Îª»Ò ¶Èͼ»ò¸¡µñͼºóÔÙ´æÅÌ£¨Èç2.bmp£©¡£ 2.ÔËÐÐVB£¬½¨Á¢Ò»Ð´°Ì壨Èçform1£©¡£ 3.ÔÚ´°ÌåÉÏÐèÒª½¨Á¢°´Å¥µÄλÖô¦½¨Á¢Ò»Í¼Æ¬¿ò£¨Èçimage1£©£¬Æä´óСºÍͼ±êÏàͬ£¬²¢½« ÆäpictureÊôÐÔÉèΪ2.bmp¡£ 4.ÔÚimage1ÖÜΧ½¨Á¢ÓÉËĸö³¤¶ÈÏàͬµÄline¿Ø¼þ£¨Èçline1¡«4£©×é³ÉµÄ·½¿ò£¬·½¿òÒª±Èimage1 ¿Ø¼þÉԴ󣬷ñÔò´ï²»µ½Ô¤¼ÆÐ§¹û£¬½«ÉÏÃæºÍ×ó±ßµÄÑÕÉ«Éè³É°×É«£¬ÏÂÃæºÍÓұߵÄÉè³ÉºÚÉ«£¬ ²¢½«Ëĸöline¿Ø¼þµÄvisibleÊôÐÔ¶¼Éè³Éfalse ¡£ 5.ÔÚ³ÌÐòÖмÓÈëÒÔÏÂÄÚÈݼ´¿É£º Private Sub Image1_MouseMove(Botton As Integer,Shift As Integer,X As Single,Y As Single) Image1.Picture=LoadPicture("c:\1.bmp") Line1.Visible=True Line2.Visible=True Line3.Visible=True Line4.Visible=True End Sub Private Sub Form1_MouseMove(Botton As Integer,Shift As Integer,X As Single,Y As Single) Image1.Picture=LoadPicture("c:\2.bmp") Line1.Visible=False Line2.Visible=False Line3.Visible=False Line3.Visible=False End Sub
|
| ÈçºÎÉè¼ÆÒ»¸ö¿ÉÖжÏÑ»·µÄ°´Å¥¡£ |
µ± ³Ì Ðò ½ø Èë Ñ »· ¶ø ÉРδ ÍÑ Àë ʱ £¬ ʹ Óà Õß ½« ÎÞ ·¨ ²Ù ×÷ ±íµ¥ ÉÏ µÄ ¿Ø ÖÆ ¿Ø ¼þ £¬ Ëù ÒÔ °´ Å¥ Ò² ÊÇ ÎÞ ·¨ ²Ù ×÷ µÄ ¡£ Ïë Òª Éè¼Æ ¿É ÖÐ ¶Ï Ñ »· µÄ °´ Å¥ £¬ Ê× ÏÈ ±Ø Ðë ÔÚ Ñ »· Ö® ÖÐ °² ²å DoEvents Ðð Êö £¬ Àý Èç £º While ... Ñ »· ÄÚ µÄ ´¦ Àí ¹¤ ×÷ DoEvents Wend DoEvents µÄ ×÷ Óà ÊÇ ÔÝ Ê± ÊÍ ·Å CPU£¬ Èà Æä Ëû ³Ì Ðò µÃ ÒÔ ±» Ö´ ÐУ¬ Ò² ¾Í ÊÇ Èà ʹ Óà Õß ¿É ÒÔ ²Ù ×÷ ±í µ¥ ÉÏ µÄ ¿Ø ÖÆ ¿Ø ¼þ ¡£ ½Ó ×Å Éù Ã÷ Ò» ¸ö È« Óò ±ä Êý £º Dim bExit As Boolean£¬ È» ºó ÔÚ »ØÈ¦ ÖÐ Ôö ¼Ó ÒÔ Ï µÄ ÅÐ ¶Ï ʽ £º While Not bExit Ñ »· ÄÚ µÄ ´¦ Àí ¹¤ ×÷ DoEvents Wend bExit = False ×î ºó Ôò ÊÇ ÔÚ °´ Å¥ µÄ Click Ê ¼þ ³Ì Ðò ÖР׫ д ÒÔ Ï Ðð Êö £º bExit = True ÒÔ ÉÏ ³Ì Ðò ÓÐ Á½ ´ó ÖØ µã (1) DoEvents Èà ʹ Óà Õß ¿É ÒÔ °´ Ï ÃüÁî Å¥ (2) °´ Å¥ °´ Ï ʱ £¬ ½« È« Óò ±ä Êý bExit Éè ¶¨ ³É True£¬ ʹ µÃ ³Ì Ðò ÔÚ ÅÐ ¶Ï Not bExit Ϊ False µÄ Çé ¿öÏ ¶ø ÍÑ Àë Ñ »· ¡£
|
APIº¯ÊýÔÚVB¿ª·¢ÖеÄÓ¦Óà ÍòÊ÷ѧ Ö£ÆôË« |
VB×÷Ϊ¿ìËÙ¿ª·¢Windowsϵıà³Ì¹¤¾ß£¬ÒѾΪԽÀ´Ô½¶àµÄ¿ª·¢Õß²ÉÓᣵ«Èç¹ûÒª¿ª·¢³öרҵµÄWindowsÈí¼þ£¬»¹Ðè²ÉÓôóÁ¿µÄAPIº¯Êý£¬ÒÔϽáºÏ±ÊÕß¿ª·¢¹ÜÀíÈí¼þµÄ¾Ñé̸¼¸µãÌå»á¡£ ³ÌÐòÖÐÅж¨WindowsµÄ°æ±¾ ÖÚËùÖÜÖª£¬Windows3.x¸÷°æ±¾»ò¶à»òÉÙ»áÓÐЩ²î±ð£¬ÎªÁËʹ¿ª·¢³ÌÐò±ÜÃâ³öÏÖĪÃûÆäÃîµÄ´íÎó£¬×îºÃÔÚ³ÌÐòÔËÐÐǰ×Ô¶¯Åж¨WindowsµÄ°æ±¾¡£²ÉÓÃAPIÌṩµÄº¯ÊýgetversionºÜÈÝÒ×ʵÏÖÕâÒ»µã¡£º¯ÊýÉùÃ÷ÈçÏ£º Declare Function GetVersion Lib"Kernel"() As Integer ´Ëº¯ÊýûÓвÎÊý£¬·µ»ØÖµÎªWindowsµÄ°æ±¾ºÅ£¬ÆäÖа汾ºÅµÄµÍλ×Ö½ÚΪWindowsµÄÖ÷°æ±¾ºÅ£¬°æ±¾ºÅµÄ¸ßλ×Ö½Ú·µ»ØWindowsµÄ´Î°æ±¾ºÅ¡£Åбð¹ý³ÌÈçÏ£º Private Sub Form_Load () Dim ver As Integer Dim major As Integer Dim minor As Integer Ver = GetVersion () major = ver And £¦HFF minor = (ver And £¦HFF00) \ 256 If major <> 3 And minor <> 10 Then MsgBox "°æ±¾²»ÕýÈ·!" Exit Sub End If End Sub ³ÌÐòÖÐÅжÏWindowsµÄ°²×°Ä¿Â¼ Ò»°ãVB¿ª·¢³öÀ´µÄ³ÌÐò°üº¬vbrun300.dllµÈ¸¨ÖúÎļþºÍ.vbxÎļþ£¬ËüÃǾùÐè°²×°µ½WindowsĿ¼(c:\windows)»òWindowsµÄϵͳĿ¼(c:\windows\system)Ï£¬µ«ÒòΪÓû§°²×°Windowsʱ¿ÉÄÜ»á¸Ä±äWindowsµÄĿ¼Ãû(Èçc:\windows)£¬Ê¹Óð²×°Èí¼þºó£¬²»ÄÜÕýÈ·ÔËÐÐ.APIÖÐÌṩµÄGetwinDowsdirectory»òGetSystemDirectory½ÏºÃµØ½â¾öÁËÕâ¸öÎÊÌâ¡£º¯ÊýÉùÃ÷ÈçÏ£º ¡¡ Declare Function GetSystemDirectory Lib "Kernel"(ByVal lpBuffer As String,ByVal nSize As Integer) As Integer ¡¡ ÆäÖвÎÊýlpbufferΪ×Ö´®±äÁ¿£¬½«·µ»ØÊµ¼ÊWindowsĿ¼»òWindowsµÄϵͳĿ¼£¬nsizeΪlpbufferµÄ×Ö´®±äÁ¿µÄ´óС£¬º¯Êý·µ»ØÖµ¾ùΪʵ¼ÊĿ¼µÄ³¤¶È¡£¼ì²éº¯ÊýÈçÏ£º ¡¡ Function checkdir() As Boolean Dim windir As String £ª 200 Dim winsys As String £ª 200 Dim winl As Integer Dim wins As Integer Dim s1 As String Dim s2 As String winl = GetWindowsDirectory(windir,200) winl = GetSystemDirectory(winsys,200) s1 = Mid ¡ç(windir,1,winl) s2 = Mid ¡ç(winsys,1,wins) If Wins = 0 Or wins = 0 Then checkdir = False Exit Function End If If s1 <> "C:\WINDOWS" Or s2 <> "C:\WINDOWS\SYSTEM" Then checkdir = False Exit Function End If checkdir = True End Function ¡¡ shell ³öÏÖµÄÎÊÌâ ͨ³£±à³ÌʱҪµ÷ÓÃÍⲿ³ÌÐò£¬VBÌṩÁËshell()º¯Êý£¬µ«ÊÇÈç¹ûshellµ÷ÓõÄÍⲿ³ÌÐòÕÒ²»µ½£¬ÔòÔËÐеijÌÐòʧȥ¿ØÖÆ£¬VB¸ø³öÌáʾ"filenotfound"£¬¸Ä±äÕâÖÖÏÖÏó£¬ÒªÔÚ³ÌÐòÖмÓÈëonerrorgoto£¬±È½ÏÂé·³£¬APIº¯ÊýÖеÄwinexecºÜºÃµØ½â¾öÁËÕâ¸öÎÊÌâ¡£º¯ÊýÉùÃ÷ÈçÏ£º ¡¡ Declare Function WinExec Lib "Kernel"(ByVal lpCmdLine As String, ByVal nCmdShow As Integer) As Integer ¡¡ ÆäÖÐlpCmdlineΪµ÷ÓõÄÍⲿÎļþÃû£¬NcmdShowΪÍⲿ³ÌÐòµÄÔËÐÐ״̬£¬ÈçÒþ²Ø´°¿Ú¡¢×îС»¯´°¿ÚµÈµÈ¡£Èç·µ»ØÖµ´óÓÚ32±íʾִÐй¦ÄÜ£¬·ñÔò·µ»Ø´íÎóÂë¡£Àý³ÌÈçÏ£º ¡¡ sub command1_click ds i as integer i=winexec("notepad.exe","c:\wst.txt",9) '²ÎÊý9 ¼´SW_RESTORE,Ò²¾ÍÊǼ¤»î²¢ÏÔʾ´°¿Ú if i>32 then msgbox "µ÷ÓÃÕýÈ·!!" else msgbox "µ÷ÓôíÎó!!" end if end sub ¡¡ ͨ¹ýʵ¼ù·¢ÏÖ£¬ÔÚʹÓÃVB¿ª·¢Ó¦ÓóÌÐòʱ£¬Áé»îʹÓÃAPIº¯Êý£¬»á¸ü´óµØ·¢»ÓVBµÄ×÷Óã¬Ê¹¿ª·¢³öµÄÈí¼þ¸üרҵ£¬¹¦ÄܸüÇ¿´ó¡£
|
VBÖзÃÎÊAPIº¯ÊýÖ®·À´í¼¼ÇÉ ¹ùÉÙÔ½ |
¹¦ÄÜÇ¿´óµÄAPI£¨Ó¦ÓóÌÐò½Ó¿Ú£©º¯Êý¶ÔÓÚVB³ÌÐòÔ±À´Ëµ£¬²»À¢ÊǺܺõıà³Ì¹¤¾ß£¬È»¶øÊ¹ÓÃAPIº¯ÊýµÄ³ÌÐòÔ±Ò²Ðí¶¼Óöµ½ÕâÑùµÄÏÖÏó¡£ÔÚVB¼¯³É»·¾³Ï£¬³ÌÐòÔËÐк󣬳öÏÖÒ»´íÎóÐÅÏ¢¶Ô»°¿ò£¬°´È·¶¨¼üºóϵͳ×Ô¶¯Í˳öVB¼¯³É»·¾³£¬´ËʱÈç¹ûÄãµÄ³ÌÐòÉÐδ´æÅÌ£¬ÄÇÄ©ºÜÒź¶Íì»ØËðʧÒÑ»ØÌì·¦Á¦¡£×îºóÒ»´Î´æÅÌÖ®ºóµÄ³ÌÐò¶¼²»¸´´æÔÚ¡£ÕâÊÇÄã¶ÔAPIº¯ÊýʹÓò»µ±ÒýÆðµÄÒ»°ã±£»¤¹ÊÕÏ£¨GPF£©¡£ µ±Ò»¸öGPF´í·¢Éúʱ£¬ÄãÓ¦ÔÊÐíWindows¹Ø±ÕÄãµÄÓ¦Óá£ÓÐЩÇé¿öÏÂÄã¿ÉÄÜÐèÒªÍ˳öWindows»òÕßÖØÐÂÒýµ¼ÏµÍ³¡£³ö´í³Ì¶ÈÊÓÄÄÀïÄÚ´æ±»ÆÆ»µ¶ø¶¨¡£DLL£¨¶¯Ì¬Á´½Ó¿â£©º¯ÊýÖеÄÀàÐͲ»Ò»ÖµȴíÎóÊÇGPF´íµÄÖ÷ÒªÔÒò¡£ÕâЩ´íÎó»áµ¼ÖÂGPFÉõÖÁʹWindowsϵͳÍêÈ«±ÀÀ££¨ÐèÒªÖØÐÂÒýµ¼Ï | |