易语言API创建菜单源码
系统结构:OnMenu,CreateActiveMenu,FullAllSubMenu,API_添加菜单项1,API_创建空白菜单,API_创建空白弹出式菜单,API_重画菜单,API_取菜单,API_取条目数量,API_取子菜单句柄,API_SetMenu,API_SetWindowLong,API_CallWindowProc,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ OnMenu
| |
| |------ CreateActiveMenu
| |
| |------ FullAllSubMenu
| |
| |
======调用的Dll
| |
| |---[dll]------ API_添加菜单项1
| |
| |---[dll]------ API_创建空白菜单
| |
| |---[dll]------ API_创建空白弹出式菜单
| |
| |---[dll]------ API_重画菜单
| |
| |---[dll]------ API_取菜单
| |
| |---[dll]------ API_取条目数量
| |
| |---[dll]------ API_取子菜单句柄
| |
| |---[dll]------ API_SetMenu
| |
| |---[dll]------ API_SetWindowLong
| |
| |---[dll]------ API_CallWindowProc
调用的DLL命令:
.DLL命令 API_添加菜单项1, 整数型, "user32", "AppendMenuA", , 在指定的菜单里添加一个菜单项 非零表示成功,零表示失败。会设置GetLastError
.参数 菜单句柄, 整数型, , 菜单句柄
.参数 菜单常数标志, 整数型, , 参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数
.参数 新菜单条目ID, 整数型, , 指定菜单条目的新命令ID。如果在wFlags参数中指定了MF_POPUP字段,那么这应该是指向一个弹出式菜单的句柄
.参数 标志值, 文本型, , (相应的vb声明见注解),如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串。如设置了MF_BITMAP标志,这就代表一个Long型变量,其中包含了一个位图句柄。如设置了MF_OWNERDRAW,这个值就会包括在DRAWITEMSTRUCT和MEASUREITEMSTRUCT结构中,在条目需要重画的时候由windows发送出去;
.DLL命令 API_创建空白菜单, 整数型, "user32", "CreateMenu", , 创建新菜单 如成功则返回新的顶级菜单的句柄;零意味着错误
.DLL命令 API_创建空白弹出式菜单, 整数型, "user32", "CreatePopupMenu", , 创建一个空的弹出式菜单。可用AppendMenu或InsertMenu函数在窗口中添加条目,或者为一个现成的菜单添加弹出式菜单,并在新建的菜单中添加条目 如成功,返回一个菜单句柄;零意味着错误
.DLL命令 API_重画菜单, 整数型, "user32", "DrawMenuBar", , 为指定的窗口重画菜单。用api函数改变一个窗口菜单的内容时,就要用到这个函数 非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , 要重画菜单栏的窗口的句柄;
.DLL命令 API_取菜单, 整数型, "user32", "GetMenu", , 取得窗口中一个菜单的句柄 依附于指定窗口的一个菜单的句柄(如果有菜单);否则返回零
.参数 窗口句柄, 整数型, , 窗口句柄。对于vb,这应该是一个窗体句柄。注意可能不是子窗口的句柄;
.DLL命令 API_取条目数量, 整数型, "user32", "GetMenuItemCount", , 返回菜单中条目(菜单项)的数量 菜单中的条目数量;-1意味着出错。会设置GetLastError
.参数 菜单句柄, 整数型, , 目标菜单的句柄;
.DLL命令 API_取子菜单句柄, 整数型, "user32", "GetSubMenu", , 取得一个弹出式菜单的句柄,它位于菜单中指定的位置 位于指定位置的弹出式菜单的句柄(如果有的话);否则返回零
.参数 菜单句柄, 整数型, , 菜单的句柄
.参数 位置, 整数型, , 条目在菜单中的位置。第一个条目的编号为0;
.DLL命令 API_SetMenu, 整数型, "user32", "SetMenu", , 设置窗口菜单 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 窗口的句柄
.参数 hMenu, 整数型, , 窗口的新菜单的句柄;
.DLL命令 API_SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 子程序指针, , 由nIndex指定的窗口信息的新值;
.DLL命令 API_CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。