用VB、VFP设计右键弹出式菜

2008-04-09 04:39:28来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  凡是用过WINDOWS95WINDOWS98的用户,非常熟悉单击鼠标右键会出现一个弹出式菜单,那么如何在应用系统中也实现上述功能,增加用户界面的友善性。笔者分别用VBVFP实现了用鼠标右键实现弹出式菜单的效果。

  1. VISUAL BASIC6.0实现弹出式菜单。

  2. 建立含有如下控件的窗体:

控件NAME CAPTION INDEX

弹出式菜单窗体FORMENU 弹出式窗口实例1

菜单项MENUS 编辑

子菜单项MENUS1 窗口移动0

子菜单项MENUS1 窗口最小化1

子菜单项MENUS1 窗口最大化2

子菜单项MENUS1 - 3 &&分割线

子菜单项MENUS1 退出4

(2)程序清单:显示效果如图1所示。

         图1

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 Const WM_SYSCOMMAND = &H112

Private Const SC_MOVE = &HF010&

Private Const SC_MINIMIZE = &HF020&

Private Const SC_MAXIMIZE = &HF030& >

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

If Button = 2 Then

Me.PopupMenu FORMENU!MENUS

End If

End Sub

Private Sub MENUS1_Click(Index As Integer)

Dim X As Long

Select Case Index

Case 0

X = SendMessage((FORMENU.hwnd), WM_SYSCOMMAND, SC_MOVE, 0&)

Case 1

X = SendMessage((FORMENU.hwnd), WM_SYSCOMMAND, SC_MINIMIZE, 0&)

Case 2

X = SendMessage((FORMENU.hwnd), WM_SYSCOMMAND, SC_MAXIMIZE, 0&)

Case 3

Case 4

Unload FORMENU

End Select

End Sub

VISUAL FOXPRO 6.0实现弹出式菜单。显示效果如图2所示。

         图2

  1. 建立含有如下控件的窗体POPMENU.SPR:

    控件NAME CAPTION

    窗体FORM1 弹出式菜单实例2

    命令按钮COMMAND1 单击鼠标右键演示弹出式菜单

    (2)建立弹出式菜单MENUS.MPR:

    菜单项窗口移动

    菜单项窗口最小化

    菜单项窗口最大化

  2. COMMAND1控件的RIGHTCLICK事件中输入:

DO MENUS.MPR &&调用弹出式菜单

  运行环境:WINDOWS98,VISUAL BASIC 6.0VISUAL FOXPRO 6.0 FOR WINDOWS.

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何在VB中制作不回显的文本框

下一篇:在VB中使用文件对象