ÄãµÄλÖãºÈí¼þÓë¹âÅÌ>
ÔÚVFP¡¢VBÓ¦ÓóÌÐòÖ줻îÊó±ê¹¦ÄÜ
2000-03-21 00:00:00¡¤ ²Ì¿Éѵ¡¤cpcw

P>Êó±êÊÇWINDOWS»·¾³Ï²»¿ÉȱÉÙµÄÊäÈ빤¾ß,ÔÚÓ¦ÓóÌÐòÖÐÁé»îµØÊ¹ÓÃÊó±ê¹¦ÄÜ,»á¸ø¹¤×÷´øÀ´¼«´óµÄ·½±ã.VISUAL FOXPRO6.0ºÍVISUAL BASIC6.0ÊÇMICROSOFT VISUAL STUDIO98ÃæÏò¶ÔÏóµÄ¿ÉÊÓ»¯¿ª·¢»·¾³,Ëü¹¦Äܷdz£Ç¿´ó,¶øÇÒÉè¼Æ³ÌÐò¼òµ¥ÊµÓÃ.ËüÌṩÁËÓëÊó±ê²Ù×÷ÓйصÄʼþºÍAPIº¯Êý,ËùÒÔ±àдÊó±ê¹¦ÄܳÌÐò¾Í±äµÃ·Ç³£¼òµ¥,Ö»ÐèÔÚ³ÌÐòÖе÷ÓÃÕâЩʼþºÍAPIº¯Êý¼´¿É.

Ò».ÓëÊó±êÓйصÄʼþºÍWINDOWS APIº¯Êý:

1.MOUSEDOWN °´ÏÂÊó±êʼþ.

µ±Óû§°´ÏÂÊó±êÉϵÄÈÎÒ»°´Å¥Ê±,¾Í»áÒý·¢¸Ãʼþ.

µ÷Óøñʽ:

Private Sub Form_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)

¢ÙBUTTON²ÎÊýÊÇÓÃÀ´Ö¸Ê¾Êó±ê°´Å¥µÄ״̬.ËüÓöþ½øÖÆÀ´±íʾ.²ÎÊýÖµº¬ÒåÈçÏÂ:

001:×ó°´Å¥°´ÏÂ. 010:ÓÒ°´Å¥°´ÏÂ.

011:×óÓÒ°´Å¥¶¼°´ÏÂ. 000:¶¼Ã»°´ÏÂ.

100:Öм䰴ť°´ÏÂ. 111:Èý¸ö°´Å¥¶¼°´ÏÂ.

¢ÚSHIFT²ÎÊýÓÃÀ´Ö¸Ê¾SHIFT,CTRLºÍALTÈý¸ö¼üµÄ״̬.²ÎÊýÖµº¬ÒåÈçÏÂ:

001:SHIFT°´ÏÂ. 010:CTRL°´ÏÂ.

110:CTRLºÍALT°´ÏÂ. 011:SHIFTºÍCTRL°´ÏÂ.

100:ALT°´ÏÂ. 101:SHIFTºÍALT°´ÏÂ.

111:SHIFT,CTRLºÍALT¶¼°´ÏÂ.

¢Û²ÎÊýXºÍYָʾÊó±êÔÚ¶ÔÏóÉϰ´ÏÂʱµÄλÖÃ.

2.MOUSEUP ÊÍ·ÅÊó±êʼþ.

µ±Óû§ËÉ¿ªÊó±ê°´Å¥Ê±,¾Í»áÒý·¢¸Ãʼþ.

µ÷Óøñʽ:(²ÎÊýº¬ÒåÓëMOUSEDOWN¹ý³ÌÏàͬ.)

Private Sub Form_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)

3.MOUSEMOVE ÒÆ¶¯Êó±êʼþ.

µ±Óû§½«Êó±êÒÆµ½ÐÂλÖÃʱ,¾Í»áÒý·¢¸Ãʼþ.

µ÷Óøñʽ:(²ÎÊýº¬ÒåÓëMOUSEDOWN¹ý³ÌÏàͬ.)

Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

4.WINDOWS APIµÄSwapMouseButton()º¯Êý¶Ô»»Êó±êµÄ×óÓÒ¼ü.

Óï·¨¸ñʽ:

Private Declare Function SwapMouseButton Lib "USER32" Alias "SwapMouseButtonA" (ByVal BSWAP As Integer) As Integer

²ÎÊýBSWAPº¬Òå:ÈçΪTRUE,Ôò×ó°´Å¥²úÉúÓÒ°´Å¥µÄÊó±êÏûÏ¢,ÓÒ°´Å¥²úÉú×ó°´

Å¥µÄÊó±êÏûÏ¢.ÈçΪFALSE,ÔòÕý³£½âÊÍÊó±ê°´Å¥µÄÊäÈë.

·µ»ØÖµº¬Òå:ÈçΪTRUE,˵Ã÷Êó±êµÄ×óÓÒ°´Å¥¹¦ÄÜÒѾ­¶Ôµ÷.ÈçΪFLASE,˵Ã÷Êó

±ê°´Å¥¹¦Äָܻ´Ô­×´Ì¬.

©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤© ©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤©¤¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

¶þ.VISUAL FOXPROÓ¦ÓÃʵÀý:

ʵÀýÒ»£ºÀûÓÃÊó±êʼþÔÚ´°ÌåÉÏ»­Ô²¡£

µ±Êó±ê×ó¼ü°´ÏÂʱ¿ÉÒÔ×÷ͼ£¬¶øµ±Êó±ê×ó¼üÊÍ·Åʱ£¬ÔòÎÞ·¨×÷ͼ£»¶øµ±Êó±êÒÆ¶¯Ê±£¬

Ôò»­³öͼÀ´¡£°ÑÊó±ê×ó¼ü°´ÏÂÓë·ñ×÷Ϊ×÷ͼµÄ¿ª¹Ø£¬Êó±êÒÆ¶¯¾ÍÁ¬Ðø»­Í¼£¬±¾ÀýÊÇ

Á¬Ðø»­³öÔ²À´¡£Ð§¹ûÈçͼ1¡£

ͼ1

ÔÚ´°ÌåFORM1½¨Á¢ÈçÏÂʼþ£º

Form1LPARAMETERS nButton, nShift, nXCoord, nYCoord

Form1.Initʼþ£¬½¨Á¢Ò»¸öÈ«¾Ö±äÁ¿mark£¬ÓÃÓÚÊÇ·ñ»­Í¼µÄ¿ª¹Ø±äÁ¿£¬

µ±markÎªÕæÊ±£¬¿ÉÒÔ×÷ͼ£¬·ñÔò²»ÄÜ×÷ͼ¡£

public mark

thisform.scalemode=3

thisform.drawwidth=2

Form1.MouseDownʼþ£¬½«markÉèÖÃÎªÕæ£¬±íʾ¿ÉÒÔ»­Í¼¡£

LPARAMETERS nButton, nShift, nXCoord, nYCoord

mark=.t.

Form1.MouseUpʼþ£¬½«markÉèÖÃΪ¼Ù£¬±íʾ²»ÄÜ»­Í¼¡£

LPARAMETERS nButton, nShift, nXCoord, nYCoord

mark=.f.

Form1.MouseMoveʼþ£¬Òƶ¯Êó±êÁ¬Ðø»­Ô²¡£

LPARAMETERS nButton, nShift, nXCoord, nYCoord

if mark and bittest(nbutton,0)

thisform.circle(20,nxcoord,nycoord)

endi

ʵÀý¶þ£ºÀûÓÃÊó±êʼþÇл»Í¼±ê°´Å¥ÖеÄͼ±ê¡£

COMMAND1¿Ø¼þµÄPICTUREÊôÐÔÊÇC:\B.BMP

Form1.loadʼþ£¬¶¨Ò忪¹Ø±äÁ¿mouse_down¡£

public mouse_down

mouse_down=0

Form1.MouseDownʼþ£¬ÏÔʾÊó±ê°´ÏÂʱµÄͼ±ê¡£

LPARAMETERS nButton, nShift, nXCoord, nYCoord

THISFORM.COMMAND1.PICTURE="C:\A.BMP"

mouse_down=1

Form1.MouseUp ʼþ£¬ÏÔʾÊó±êËÉ¿ªÊ±µÄͼ±ê¡£

LPARAMETERS nButton, nShift, nXCoord, nYCoord

THISFORM.COMMAND1.PICTURE="C:\B.bmp"

Form1.MouseMoveʼþ£¬ÅбðÊó±êÊÇ·ñÀ뿪ͼÐΰ´Å¥£¬ÈôÀ뿪£¬ÔòÏÔʾËÉ¿ªÊ±µÄͼ±ê¡£

LPARAMETERS nButton, nShift, nXCoord, nYCoord

if mouse_down=1

if (nXCoord$#@60;0.or. nXCoord$#@62;thisform.command1.width) .or. (nYCoord$#@60;0 .or. nYCoord$#@62;thisform.command1.height)

THISFORM.COMMAND1.PICTURE="C:\B.BMP"

endi

endi

Èý.VISUAL BASICÓ¦ÓÃʵÀý:

ʵÀýÒ»:¸øÓ¦ÓóÌÐòµÄÃüÁî°´Å¥¼ÓÉÏÌáʾÐÐ.

ʵÏÖЧ¹û:ÓùýWINDOWS OFFICEÈí¼þµÄÓû§,¶¼·Ç³£ÊìϤÕâÖÖÇé¿ö,µ±Äã×Ô¼º²»

Çå³þÈí¼þÖÐËùÁгöµÄͼ±ê°´Å¥Æðʲô×÷ÓÃʱ, ¿ÉÒÔ°ÑÊó±êÒÆµ½Õâ¸ö

ͼ±ê°´Å¥ÉÏ,²»Ò»»á¶ùÔÚÕâͼ±ê°´Å¥µÄÏ·½»áÏÔʾһ¸ö¼ò¶ÌµÄÎÄ×ÖÌá

ʾÐÐ,˵Ã÷Õâ¸öͼ±ê°´Å¥µÄ×÷ÓÃ;µ±°ÑÊó±ê´ÓÕâ¸ö°´Å¥ÉÏÒÆ¿ªºó,Ìáʾ

ÐÐÁ¢¿ÌÏûʧ.

ʵÏÖ·½·¨:

(1)½¨Á¢º¬ÓÐÈçÏ¿ؼþµÄ´°Ìå:

¿Ø¼þ NAME CAPTION VISIBLE

´°Ìå BOTTON_DEMO ʵÀýÒ»:¸øÓ¦ÓóÌÐòµÄÃüÁî°´Å¥¼ÓÉÏÌáʾÐгÌÐò´°¿Ú

ÃüÁî°´Å¥ COMMAND1 TRUE

±êÇ© LABEL1 FALSE ÏÔʾͼ±ê°´Å¥×÷ÓõÄÎÄ×Ö

(2)Ë«»÷´°Ìå,½øÈë´°Ìå×°Èëʼþ´úÂë´°¿Ú:

Private Sub Form_Load ( )

COMMAND1.Picture = LoadPicture("C:\README.ICO") ×°ÈëͼƬ

End Sub

(3)µ±Êó±êÒÆµ½°´Å¥ÉÏ·½Ê±,¼¤»î±êÇ©ÏÔʾ¸Ãͼ±ê°´Å¥×÷ÓõÄÎÄ×Ö.

Ë«»÷ͼ±ê°´Å¥,½øÈëÃüÁî°´Å¥MOUSEMOVEʼþ´úÂë´°¿Ú:

Private Sub Command1_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

LABEL1.BorderStyle = 1

LABEL1.BACKCOLOR =&H0000FFFF& ÏÔʾÎÄ×ֵıêÇ©¿òµ×ɫΪ»ÆÉ«

LABEL1.Visible = True

LABEL1.CAPTION = "ÑÝ Ê¾"

End Sub

(4)µ±Êó±ê´Ó°´Å¥ÉÏÒÆ¿ªºó,ÌáʾÐÐÎÄ×ÖÁ¢¼´Ïûʧ.

Ë«»÷´°Ìå,½øÈë´°ÌåMOUSEMOVEʼþ´úÂë´°¿Ú:

Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

LABEL1.Visible = False

End Sub

ʵÀý¶þ:»¥»»Êó±êµÄ×óÓÒ°´Å¥.

ʵÏÖЧ¹û:µ±ÄãµÄÊó±ê×ó¼ü»òÓÒ¼ü²»ºÃʱ,ͨ¹ýµ÷ÓÃWINDOWS APIµÄSwapMouseButton()

º¯Êý,ʵÏÖÊó±êµÄ×óÓÒ¼ü»¥»».

ʵÏÖ·½·¨:

(1)½¨Á¢º¬ÓÐÈçÏ¿ؼþµÄ´°Ìå:

¿Ø¼þ

NAME

CAPTION

´°Ìå

SWAP_BUTT

ʵÀý¶þ:Êó±êµÄ×óÓÒ°´Å¥»¥»» ³ÌÐò´°¿Ú

ÃüÁî°´Å¥

COMMAND1

Êó±êµÄ×óÓÒ¼ü»¥»»
ÃüÁî°´Å¥

COMMAND2

»Ö¸´Ô­×´Ì¬
ÃüÁî°´Å¥

COMMAND3

Í˳ö
ÃüÁî°´Å¥

COMMAND4

Çå³ý±êÖ¾
±êÇ©

LABEL1

°´ÏÂ×ó°´Å¥:( )

±êÇ©

LABEL2

°´ÏÂÓÒ°´Å¥:( )

±êÇ©

LABEL3

¿Õ ÏÔʾ°´Ï±êÖ¾

±êÇ©

LABEL4

¿Õ

(2)ÔÚÄ¿±êÎļþÁбí(OBJECT)ÖÐÑ¡ÔñGENERAL,ÔÚ¹ý³ÌÁбí(PROC)ÖÐÑ¡ÔñDECLARATIONS

(ÉùÃ÷),ϵͳ½øÈë´°Ìå¼¶´úÂëµÄ¶¨Òå´°¿ÚÖÐ.ÊäÈëÈç϶¨Òå:

Private Declare Function SwapMouseButton Lib "USER32" Alias "SwapMouseButtonA" (ByVal BSWAP As Integer) As Integer

(3)Ë«»÷´°Ìå,½øÈëMOUSEUPʼþ´úÂë´°¿Ú:

Private Sub Form_MouseUp (BUTTON As Integer, Shift As Integer, X As Single, Y As Single)

If BUTTON And &H111 Then

LABEL3.Caption = "¡Ì"

Else

LABEL4.Caption = "¡Ì"

End If

End Sub

(4)Ë«»÷ÃüÁî°´Å¥1,½øÈëÃüÁî°´Å¥µ¥»÷ʼþ´úÂë´°¿Ú:

Private Sub Command1_Click ()

Dim SWAP_BUTT As Integer

SWAP_BUTT = SWAPMOUSEBUTTON(-1) »¥»»Êó±êµÄ×óÓÒ¼ü

End Sub

(5)Ë«»÷ÃüÁî°´Å¥2,½øÈëÃüÁî°´Å¥µ¥»÷ʼþ´úÂë´°¿Ú:

Private Sub Command2_Click ()

Dim SWAP_BUTT As Integer

SWAP_BUTT = SWAPMOUSEBUTTON(0) »Ö¸´Êó±êµÄԭ״̬

End Sub

(6)Ë«»÷ÃüÁî°´Å¥3,½øÈëÃüÁî°´Å¥µ¥»÷ʼþ´úÂë´°¿Ú:

Private Sub Command4_Click ()

LABEL3.Caption = " "

LABEL4.Caption = " "

End Sub

(7)Ë«»÷Í˳ö°´Å¥,½øÈëÃüÁî°´Å¥µ¥»÷ʼþ´úÂë´°¿Ú:

Private Sub Command3_Click ()

End

End Sub

ÒÔÉϳÌÐòÔÚWINDOWS98,VISUAL FOXPRO 6.0,VISUAL BASIC 6.0»·¾³ÏÂÔËÐÐͨ¹ý.



¡¾·¢±íÆÀÂÛ¡¿¡¾¹Ø±Õ´°¿Ú¡¿


.ÓÃVFP6.0ÏÔʾMS GRAPHICͼ±í