勇芳软件 发表于 2018-2-27 10:52:27

【VFB】窗口菜单和右键弹出菜单(VFB教程4-1)

此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。点击菜单【工具】》【菜单编辑器】,即可为窗口创造菜单简单明了,无需我多说如果不想要菜单了,可以在窗口上,没控件的地方,右点,这样删除。菜单事件
点此复制事件代码粘贴到窗口的 WM_command 事件里,即可。弹出菜单
这需要我们用代码编写,先声明全局变量Dim Shared yMenu1 As HMENU '菜单Dim Shared yMenu2 As HMENU '菜单创建菜单yMenu1 = CreatePopupMenu()创建菜单yMenu2 = CreatePopupMenu()
-----------------------------------------------------------
AddMenu yMenu1, 10001,"复制选择内容","COPY" '带图标
         句柄    ID       显示内容      图标
AppendMenu yMenu1, MF_SEPARATOR, 0, ""      '分割线
AppendMenu yMenu1, MF_STRING, 10002,"选择当前内存区"   '不需要图标
AddMenu yMenu1, 10004,"选择当前内存区",""    '不需要图标
AddMenu yMenu1, 10005,"选择当前模块",""
AddMenu yMenu1,10022, "保存选择到文件",""
创建子菜单-------------
AppendMenu yMenu1, MF_POPUP,Cast(Integer , yMenu2), "子菜单"   
添加子菜单条目         
AppendMenu yMenu2, MF_STRING, 10009,"我是子菜单"弹出菜单在需要的地方,如控件右键等,你需要的地方DimP AsPointGetCursorPos @p    '获取鼠标位置,在鼠标当前位置弹出
TrackPopupMenu yMenu1, 0, p.x, p.y, 0, hWndForm, Null '在某位置弹出菜单事件
这要看 hWndForm 是谁的窗口句柄,就在它的窗口 WM_command 事件里select case wID    case 10001'就是上面添加菜单条目的ID其它相关函数FF_Menu_GetState检索指定的菜单项的状态。FF_Menu_SetState设置指定的菜单项的状态。

xiawan 发表于 2022-5-17 10:27:39


正需要,支持楼主大人了!
页: [1]
查看完整版本: 【VFB】窗口菜单和右键弹出菜单(VFB教程4-1)