易语言桌面菜单栏源码
系统结构:开启鼠标透过,关闭鼠标透过,GetWindowLong,SetWindowLong,GetOpenFileName,打开事件同步对象,检测按键,开始构建窗口_,刷新窗口_,定位窗口_,创建事件同步对象,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _时钟1_周期事件
| |
| |------ 开启鼠标透过
| |
| |------ 关闭鼠标透过
| |
| |------ _标签1_鼠标右键被按下
| |
| |------ _退出_被选择
| |
| |------ _添加文件_被选择
| |
| |------ _列表框1_双击选择
| |
| |------ _列表框1_鼠标右键被放开
| |
| |------ __启动窗口_鼠标右键被放开
| |
| |------ _删除_被选择
| |
| |------ _拖放对象1_得到文件
| |
| |------ _设置开机启动_被选择
| |
| |------ _取消开机启动_被选择
| |
| |------ _添加网址_被选择
| |
| |------ _帮助与关于_被选择
| |
| |------ __启动窗口_位置被改变
| |
| |------ _时钟2_周期事件
| |
| |------ _设置_被选择
| |
| |
======窗口程序集2
| |
| |------ _窗口1_创建完毕
| |
| |------ _按钮3_被单击
| |
| |------ _按钮2_被单击
| |
| |
======窗口程序集3
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
| |
| |------ _窗口2_创建完毕
| |
| |
======窗口程序集4
| |
| |------ _按钮1_被单击
| |
| |
======窗口程序集5
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _窗口4_创建完毕
| |
| |------ _滑块条1_位置被改变
| |
| |------ _滑块条2_位置被改变
| |
| |------ _按钮3_被单击
| |
| |------ _删除配置文件并退出_被选择
| |
| |
======调用的Dll
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ GetOpenFileName
| |
| |---[dll]------ 打开事件同步对象
| |
| |---[dll]------ 检测按键
| |
| |---[dll]------ 开始构建窗口_
| |
| |---[dll]------ 刷新窗口_
| |
| |---[dll]------ 定位窗口_
| |
| |---[dll]------ 创建事件同步对象
调用的DLL命令:
.DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 GetOpenFileName, 逻辑型, "Comdlg32", "GetOpenFileNameA"
.参数 lpofn, tagOFN, 传址
.DLL命令 打开事件同步对象, 整数型, , "OpenEventA"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 lpName, 文本型
.DLL命令 检测按键, 整数型, "user32", "GetAsyncKeyState"
.参数 键代码, 整数型
.DLL命令 开始构建窗口_, 整数型, "user32.dll", "BeginDeferWindowPos", , 公开, 该函数为一个多窗口位置结构分配内存并且返回该结构的句柄。多窗口位置结构是一个内部结构,应用程序不能直接引用。DeferWindowPos函数在多窗口位置结构中填充了将被移动的一个或多个窗口的目标位置信息。EndDeferWindowPos接收该结构的句柄,并且依据存储在该结构中的信息重定位这些窗口。
.参数 初始窗口数量, 整数型, , nNumWindows,在结构中欲为其分配空间的初始窗口数量
.DLL命令 刷新窗口_, 整数型, "user32.dll", "EndDeferWindowPos", , 公开, 在一个单一的屏幕刷新周期内同时更新一个或多个窗口的位置和大小。成功返回真,失败返回假
.参数 结构句柄, 整数型, , hWinPosInfo,参见相关帮助
.DLL命令 定位窗口_, 整数型, "user32.dll", "DeferWindowPos", , 公开, 为指定的窗口更新指定的多窗口位置结构,然后返回该更新结构的句柄。
.参数 内部结构句柄, 整数型, , hWinPosInfo,多窗口定位结构的句柄,该结构包含着一个或多个窗口的尺寸和定位信息,可以由函数BeginDeterWindowPos(开始构建窗口_)返回该结构或是由最近一次调用的DeferWindowPos(更新窗口_)函数返回。
.参数 窗口句柄, 整数型, , hwnd,欲定位的窗口
.参数 插入位置, 整数型, , hWndInsertAfter,改变窗口列表位置。这个参数必须为窗口句柄或下列值之一:1、把窗口放在所有窗口的后面;0、将窗口放在所有窗口的前面;-1、总是在其它窗口的前面,即“总在最前面”;-2、放在所有“总在最前面”窗口的后面、其它类型窗口的前面
.参数 水平坐标, 整数型, , x,窗口新的x坐标
.参数 垂直坐标, 整数型, , y,窗口新的y坐标
.参数 窗口宽度, 整数型, , cx,指定新窗口宽度
.参数 窗口高度, 整数型, , xy,指定新窗口高度
.参数 标志, 整数型, , wFlags,标志,可能是以下一些值:1、不改变窗口尺寸,即忽略窗口宽度和窗口高度参数;2、不移动窗口,即忽略水平坐标和垂直坐标参数;4、不改变窗口位置,即忽略插入位置参数;16:移动窗口后不激活,当然,如果移动前已经激活例外;32、移动窗口后重画窗口;64、显示窗口;128、掩藏窗口;256、移动窗口后,不重画上面的任何内容
.DLL命令 创建事件同步对象, , , "CreateEventA"
.参数 lpEventAttributes, 整数型
.参数 bManualReset, 逻辑型
.参数 bInitialState, 逻辑型
.参数 lpName, 文本型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。