易语言窗口图标菜单操作源码
系统结构:WndProc,GetSystemMenu_,InsertMenu_,SetWindowLong_,CallWindowProc_,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ WndProc
| |
| |
======窗口程序集2
| |
| |------ _按钮1_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ GetSystemMenu_
| |
| |---[dll]------ InsertMenu_
| |
| |---[dll]------ SetWindowLong_
| |
| |---[dll]------ CallWindowProc_
调用的DLL命令:
.DLL命令 GetSystemMenu_, 整数型, "user32", "GetSystemMenu", , 取得指定窗口的系统菜单的句柄。在vb环境,“系统菜单”的正式名称为“控制菜单”,即单击窗口左上角的控制框时出现的菜单 如执行成功,返回系统菜单的句柄;零意味着出错。如bRevert设为TRUE,也会返回零(简单的恢复原始的系统菜单)
.参数 hwnd, 整数型, , 窗口的句柄
.参数 bRevert, 整数型, , 如设为TRUE,表示接收原始的系统菜单;
.DLL命令 InsertMenu_, 整数型, "user32", "InsertMenuA", , 在菜单的指定位置处插入一个菜单条目,并根据需要将其他条目向下移动 非零表示成功,零表示失败。会设置GetLastError
.参数 hMenu, 整数型, , 菜单的句柄
.参数 nPosition, 整数型, , 定义了新条目插入点的一个现有菜单条目的标志符。如果在wFlags中指定了MF_BYCOMMAND标志,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION标志,这个参数就代表菜单条目在菜单中的位置,第一个条目的位置为零
.参数 wFlags, 整数型, , 一系列常数标志的组合。参考ModifyMenu
.参数 wIDNewItem, 整数型, , 指定菜单条目的新菜单ID。如果在wFlags中指定了MF_POPUP标志,就应该指定弹出式菜单的一个句柄
.参数 lpNewItem, 文本型, , 如果在wFlags参数中设置了MF_STRING标志,就代表要设置到菜单中的字串()。如设置的是MF_BITMAP标志,就代表一个Long型变量,其中包含了一个位图句柄;
.DLL命令 SetWindowLong_, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 整数型, , 由nIndex指定的窗口信息的新值;
.DLL命令 CallWindowProc_, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。