技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 159|回复: 0
收起左侧

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

[复制链接]

47

主题

67

帖子

590

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
463 个
贡献
1 次
宅之契约
0 份
在线时间
19 小时
注册时间
2017-12-26
发表于 2018-2-27 10:52:27 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x

此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。

点击菜单【工具】》【菜单编辑器】,即可为窗口创造菜单

1519014996683440.jpg

简单明了,无需我多说

1519015137715510.jpg

如果不想要菜单了,可以在窗口上,没控件的地方,右点,这样删除。

菜单事件

1519015325346929.jpg

点此复制事件代码

1519015378897009.jpg

粘贴到窗口的 WM_command 事件里,即可。

弹出菜单

这需要我们用代码编写,先声明全局变量

[Visual Basic] 纯文本查看 复制代码
Dim Shared yMenu1 As HMENU '菜单[/font][/p]Dim Shared yMenu2 As HMENU '菜单

创建菜单

[Visual Basic] 纯文本查看 复制代码
  yMenu1 = CreatePopupMenu()  创建菜单[/font][/p]  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,"我是子菜单"

弹出菜单

在需要的地方,如控件右键等,你需要的地方

[Visual Basic] 纯文本查看 复制代码
  Dim  P As  Point[/font][/p]  GetCursorPos @p    '获取鼠标位置,在鼠标当前位置弹出
  TrackPopupMenu yMenu1, 0, p.x, p.y, 0, hWndForm, Null '在某位置弹出菜单

事件

这要看 hWndForm 是谁的窗口句柄,就在它的窗口 WM_command 事件里

[Visual Basic] 纯文本查看 复制代码
select case wID[/font][/p]    case 10001  '就是上面添加菜单条目的ID

其它相关函数

[Visual Basic] 纯文本查看 复制代码
FF_Menu_GetState  检索指定的菜单项的状态。[/font][/p]FF_Menu_SetState  设置指定的菜单项的状态。


本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号|网站地图

GMT+8, 2018-9-24 00:06 , Processed in 0.105928 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表