系统菜单全面操作
系统结构:添加系统菜单,init,Terminate,SubWndProc,取系统菜单,删除菜单项目,添加菜单项,插入菜单条目,显示关于,SetWindowLong1,置窗口特征,执行窗口程序,自定义弹出菜单,取鼠标位置,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 添加系统菜单
| |
| |------ init
| |
| |------ Terminate
| |
| |------ SubWndProc
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_鼠标右键被按下
| |
| |
======调用的Dll
| |
| |---[dll]------ 取系统菜单
| |
| |---[dll]------ 删除菜单项目
| |
| |---[dll]------ 添加菜单项
| |
| |---[dll]------ 插入菜单条目
| |
| |---[dll]------ 显示关于
| |
| |---[dll]------ SetWindowLong1
| |
| |---[dll]------ 置窗口特征
| |
| |---[dll]------ 执行窗口程序
| |
| |---[dll]------ 自定义弹出菜单
| |
| |---[dll]------ 取鼠标位置
调用的DLL命令:
.DLL命令 取系统菜单, 整数型, , "GetSystemMenu", , 获取系统原始菜单
.参数 hWnd, 整数型
.参数 bRevert, 逻辑型
.DLL命令 删除菜单项目, 整数型, , "RemoveMenu", , 移除系统原始菜单项
.参数 hMenu
.参数 nPosition
.参数 wFlags
.DLL命令 添加菜单项, 整数型, , "AppendMenuA", , 在指定的菜单里添加一个菜单项 非零表示成功,零表示失败。会设置GetLastError
.参数 菜单句柄, 整数型, , 菜单句柄
.参数 菜单常数标志, 整数型, , 参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数
.参数 新菜单条目ID, 整数型, , 指定菜单条目的新命令ID。如果在wFlags参数中指定了MF_POPUP字段,那么这应该是指向一个弹出式菜单的句柄
.参数 标志值, 文本型, , (相应的vb声明见注解),如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串。如设置了MF_BITMAP标志,这就代表一个Long型变量,其中包含了一个位图句柄。如设置了MF_OWNERDRAW,这个值就会包括在DRAWITEMSTRUCT和MEASUREITEMSTRUCT结构中,在条目需要重画的时候由windows发送出去
.DLL命令 插入菜单条目, 整数型, "user32.dll", "InsertMenuA", 公开, 在菜单的指定位置处插入一个菜单条目,并根据需要将其他条目向下移动 非零表示成功,零表示失败。会设置GetLastError
.参数 菜单句柄, 整数型, , 菜单的句柄
.参数 插入点标志符, 整数型, , 定义了新条目插入点的一个现有菜单条目的标志符。如果在wFlags中指定了MF_BYCOMMAND标志,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION标志,这个参数就代表菜单条目在菜单中的位置,第一个条目的位置为零
.参数 常数标志, 整数型, , 一系列常数标志的组合。参考ModifyMenu
.参数 新条目ID, 整数型, , 指定菜单条目的新菜单ID。如果在wFlags中指定了MF_POPUP标志,就应该指定弹出式菜单的一个句柄
.参数 条目内容, 文本型, , 如果在wFlags参数中设置了MF_STRING标志,就代表要设置到菜单中的字串()。如设置的是MF_BITMAP标志,就代表一个Long型变量,其中包含了一个位图句柄
.DLL命令 显示关于, 整数型, "shell32.dll", "ShellAboutA"
.参数 句柄, 整数型
.参数 程序, 文本型
.参数 其他成员, 文本型
.参数 图标, 整数型
.DLL命令 SetWindowLong1, 整数型, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 置窗口特征, 子程序指针, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 子程序指针
.DLL命令 执行窗口程序, 整数型, , "CallWindowProcA"
.参数 lpPrevWndFunc, 子程序指针
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 自定义弹出菜单, 整数型, "user32.dll", "TrackPopupMenu", , 在屏幕的任意地方显示一个弹出式菜单 非零表示成功,零表示失败。会设置GetLastError
.参数 hMenu, 整数型, , 弹出式菜单的句柄
.参数 wFlags, 整数型, , 位置标志和鼠标追踪标志的组合,见下表
位置标志:说明
TPM_CENTERALIGN:菜单在指定位置水平居中
TPM_LEFTALIGN:菜单的左侧置于水平x坐标处
TPM_RIGHTALIGN:菜单的右侧置于水平x坐标处
TPM_LEFTBUTTON:鼠标左键标准运作方式
TPM_RIGHTBUTTON:用鼠标右键进行菜单追踪
.参数 x, 整数型, , 这个点指定了弹出式菜单在屏幕坐标系统中的位置
.参数 y, 整数型, , 同上
.参数 nReserved, 整数型, , 未使用,设为零
.参数 hwnd, 整数型, , 用于接收弹出式菜单命令的窗口的句柄。应该使用窗体的窗口句柄——窗体中有一个菜单能象弹出式菜单那样接收相同的命令ID集
.参数 lprc, RECT, , Rect,用屏幕坐标定义的一个矩形,如用户在这个矩形的范围内单击,则弹出式菜单不会关闭。如单击弹出式菜单之外的任何一个地方,则会关闭菜单。可以设为NULL
.DLL命令 取鼠标位置, 整数型, "user32.dll", "GetCursorPos", , 获取鼠标指针的当前位置 非零表示成功,零表示失败。会设置GetLastError
.参数 位置, POINTAPI, , POINTAPI,随同指针在屏幕像素坐标中的位置载入的一个结构
易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...
易语言其它简易换肤13种源码,配色...
易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...
易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...
易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...
易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...
易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...
易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...
易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...