易语言API菜单类模块源码
系统结构:菜单事件,初始化菜单,菜单事件,添加菜单,添加子菜单,添加空菜单,取菜单句柄,选中菜单,符号选中,重画菜单,删除菜单,禁止菜单,取窗口菜单句柄,清空菜单,取菜单ID,取菜单状态,取菜单数量,取菜单标题,取子菜单ID,取菜单矩形,取系统菜单句柄,取菜单复选大小,是否为菜单,插入菜单,载入菜单,修改菜单,弹出菜单,加亮菜单,设置资源图标,设置文件图标,拦截消息,触发事件,创建菜单,创建空白弹出式菜单_,添加菜单项_,设置窗口菜单,设置窗口信息,呼叫窗口函数地址_,呼叫窗口函数地址2_,创建空菜单,复选菜单_,使用符号选中_,重画菜单_,删除指定菜单项_,删除菜单_,禁止菜单_,取窗口菜单句柄_,判断菜单句柄_,清除菜单_,取菜单句柄_,取菜单状态_,取菜单数量_,取菜单标题_,取条目ID_,取菜单条目尺寸_,取系统菜单句柄_,取菜单复选大小_,插入菜单条目_,载入菜单_,改变菜单条目_,弹出轨迹菜单_,菜单条目加亮_,取环境信息_,载入图象_,载入图象2_,设置菜单位图,取实例句柄_,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 菜单事件
| |
| |
======API菜单类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始化菜单
| |
| |------ 菜单事件
| |
| |------ 添加菜单
| |
| |------ 添加子菜单
| |
| |------ 添加空菜单
| |
| |------ 取菜单句柄
| |
| |------ 选中菜单
| |
| |------ 符号选中
| |
| |------ 重画菜单
| |
| |------ 删除菜单
| |
| |------ 禁止菜单
| |
| |------ 取窗口菜单句柄
| |
| |------ 清空菜单
| |
| |------ 取菜单ID
| |
| |------ 取菜单状态
| |
| |------ 取菜单数量
| |
| |------ 取菜单标题
| |
| |------ 取子菜单ID
| |
| |------ 取菜单矩形
| |
| |------ 取系统菜单句柄
| |
| |------ 取菜单复选大小
| |
| |------ 是否为菜单
| |
| |------ 插入菜单
| |
| |------ 载入菜单
| |
| |------ 修改菜单
| |
| |------ 弹出菜单
| |
| |------ 加亮菜单
| |
| |------ 设置资源图标
| |
| |------ 设置文件图标
| |
| |
======菜单功能
| |
| |------ 拦截消息
| |
| |------ 触发事件
| |
| |
======调用的Dll
| |
| |---[dll]------ 创建菜单
| |
| |---[dll]------ 创建空白弹出式菜单_
| |
| |---[dll]------ 添加菜单项_
| |
| |---[dll]------ 设置窗口菜单
| |
| |---[dll]------ 设置窗口信息
| |
| |---[dll]------ 呼叫窗口函数地址_
| |
| |---[dll]------ 呼叫窗口函数地址2_
| |
| |---[dll]------ 创建空菜单
| |
| |---[dll]------ 复选菜单_
| |
| |---[dll]------ 使用符号选中_
| |
| |---[dll]------ 重画菜单_
| |
| |---[dll]------ 删除指定菜单项_
| |
| |---[dll]------ 删除菜单_
| |
| |---[dll]------ 禁止菜单_
| |
| |---[dll]------ 取窗口菜单句柄_
| |
| |---[dll]------ 判断菜单句柄_
| |
| |---[dll]------ 清除菜单_
| |
| |---[dll]------ 取菜单句柄_
| |
| |---[dll]------ 取菜单状态_
| |
| |---[dll]------ 取菜单数量_
| |
| |---[dll]------ 取菜单标题_
| |
| |---[dll]------ 取条目ID_
| |
| |---[dll]------ 取菜单条目尺寸_
| |
| |---[dll]------ 取系统菜单句柄_
| |
| |---[dll]------ 取菜单复选大小_
| |
| |---[dll]------ 插入菜单条目_
| |
| |---[dll]------ 载入菜单_
| |
| |---[dll]------ 改变菜单条目_
| |
| |---[dll]------ 弹出轨迹菜单_
| |
| |---[dll]------ 菜单条目加亮_
| |
| |---[dll]------ 取环境信息_
| |
| |---[dll]------ 载入图象_
| |
| |---[dll]------ 载入图象2_
| |
| |---[dll]------ 设置菜单位图
| |
| |---[dll]------ 取实例句柄_
调用的DLL命令:
.DLL命令 创建菜单, 整数型, "user32.dll", "CreateMenu", , 如果函数调用成功,返回值是新创建菜单的句柄。如果函数调用失败,返回值是NULL。
.DLL命令 创建空白弹出式菜单_, 整数型, "user32.dll", "CreatePopupMenu", , 该函数创建一个下拉式菜单、子菜单或快捷菜单。此案单最初是空的,但可用函数InserMenultem来插入或追加菜单项。也可用函数InsertMenu来插人菜单项,用AppendMenu来追加菜单项。
.DLL命令 添加菜单项_, 整数型, "user32.dll", "AppendMenuA", , 该函数在指定的菜单条、下拉式菜单、子菜单或快捷菜单的末尾追加一个新菜单项。此函数可指定菜单项的内容、外观和性能。函数AppendMenu己被lnsertMenultem取代。但如果不需要lnsertMenultem的扩展特性,仍可使用AppendMenu。
.参数 菜单句柄, 整数型, , 将被修改的菜单条、下拉式菜单、子菜单、或快捷菜单的句柄。
.参数 菜单常数标志, 整数型, , 控制新菜单项的外观和性能的标志。此参数可以是备注里所列值的组合。
.参数 新菜单条目ID, 整数型, , 指定新菜单项的标识符(或新命令ID),或者当uFlags设置为MF_POPUP时,表示下拉式菜单或子菜单的句柄。
.参数 标志值, 文本型, , 此参数的含义取决于参数uFlags是否包含MF_BITMAP, MF_OWNERDRAW或MF_STRING标志,如下所示:MF_BITMAP 含有位图句柄;MF_STRING 指向一个作为新菜单项的以`\O’结束的字符串的指针;MF_OWNERDRAW 含有被应用程序应用的32位值,可以保留与菜单项有关的附加数据
.DLL命令 设置窗口菜单, 逻辑型, "user32.dll", "SetMenu", , 该函数分配一个新菜单到指定窗口。
.参数 窗口句柄, 整数型, , 窗口的句柄
.参数 菜单句柄, 整数型, , 窗口的新菜单的句柄;
.DLL命令 设置窗口信息, 整数型, "user32.dll", "SetWindowLongA", , 该函数改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置
.参数 窗口句柄, 整数型, , 欲为其设置信息的窗口的句柄
.参数 窗口信息值, 整数型, , 指定将设定的大于等于0的偏移值。有效值的范围从0到额外类的存储空间的字节数-4:例如若指定了12位或多于12位的额外类存储空间,则应设为第三个32位整数的索引位8。要设置其他任何值
.参数 窗口信息新值, 子程序指针, , 指定的替换值
.DLL命令 呼叫窗口函数地址_, 整数型, "user32.dll", "CallWindowProcA", , 该函数将消息信息传送给指定的窗口过程。
.参数 前一窗口函数地址, 整数型, , 指向前一个窗口过程的指针。
.参数 窗口句柄, 整数型, , 指向接收消息的窗口过程的句柄。
.参数 消息值, 整数型, , 指定消息类型。
.参数 附加参数1, 整数型, , 指定Msg消息特定的信息。
.参数 附加参数2, 整数型, , 指定Msg消息特定的信息。
.DLL命令 呼叫窗口函数地址2_, 整数型, "user32.dll", "CallWindowProcA", , 该函数将消息信息传送给指定的窗口过程。
.参数 前一窗口函数地址, 字节型, 数组, 指向前一个窗口过程的指针。
.参数 窗口句柄, 整数型, , 指向接收消息的窗口过程的句柄。
.参数 消息值, 整数型, , 指定消息类型。
.参数 附加参数1, 整数型, , 指定Msg消息特定的信息。
.参数 附加参数2, 整数型, , 指定Msg消息特定的信息。
.DLL命令 创建空菜单, 整数型, "user32.dll", "CreateMenu", , 创建一个空的新菜单
.DLL命令 复选菜单_, 整数型, "user32.dll", "CheckMenuItem", , 该函数设置指定菜单项的校核标记属性为选取或不选取。该函数已被函数SetMenultemlnfo取代。但若不需要SetMenultemlnfo的扩展特性,仍可使用CheckMenultem。
.参数 菜单句柄, 整数型, , 窗口的句柄
.参数 菜单标识, 整数型, , 欲复选或撤消复选的菜单条目的标识符。其含义由参数wCheck决定。如果在wCheck中指定了MF_BYCOMMAND标志,这个参数就用于指定要改变的菜单条目的命令ID。如果设置了MF_BYPOSITION标志,这个参数就用于指定条目在菜单中的位置(第一个条目的位置是0)
.参数 参数, 整数型, , 指定控制参数uIDCheckltem的含义的标志,并指定菜单项的选取标记属性的状态。
.DLL命令 使用符号选中_, 整数型, "user32.dll", "CheckMenuRadioItem", , 指定一个菜单条目被复选成“单选”项目。与单选钮相似,一个特定的组中只能有一个项目被选中。这个组别既可按位置定义,也可按菜单ID定义。复选的项目会显示一个圆形的样式复选符号(●),而不是一个标准的复选符号(√)
.参数 菜单句柄, 整数型, , hMenu,菜单句柄
.参数 起始位置, 整数型, , un1,组内第一个位置或菜单ID
.参数 结束位置, 整数型, , un2,组内最后一个位置或菜单ID
.参数 选中位置, 整数型, , un3,欲复选的位置或菜单ID
.参数 参数, 整数型, , 如un1,un2,un3引用菜单条目的位置(第一个肯定在位置0处),就设为MF_BYPOSITION;如它们引用的是菜单ID,则设为MF_BYCOMMAND
.DLL命令 重画菜单_, 整数型, "user32.dll", "DrawMenuBar", , 为指定的窗口重画菜单
.参数 窗口句柄, 整数型, , hwnd,要重画菜单栏的窗口的句柄
.DLL命令 删除指定菜单项_, 逻辑型, "user32.dll", "DeleteMenu", , 该函数从指定菜单里删除一个菜单项。如果此菜单项打开了一个菜单或子菜单,则此函数销毁该菜单或子菜单的句柄,并释放该菜单或子菜单使用的存储器。
.参数 菜单句柄, 整数型, , 将被修改的菜单的句柄。
.参数 标志索引, 整数型, , 指定将被删除的菜单项的标识符。如在wFlags参数中指定了MF_BYCOMMAND,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION,这个参数就代表菜单条目在菜单中的位置(第一个条目的位置为零)
.参数 标识符, 整数型, , 参数uPosition的解释的标志、菜单项的内容、外观和性能。此参数必须为下列值之一和AppendMenu里所列值的组
.DLL命令 删除菜单_, 整数型, "user32", "RemoveMenu", , RemoveMenu,非零表示成功,零表示失败。会设置GetLastError
.参数 菜单句柄, 整数型, , hmenu,菜单的句柄
.参数 标识符, 整数型, , nPosition,欲改变的菜单条目的标识符。如在wFlags参数中指定了MF_BYCOMMAND,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION,这个参数就代表菜单条目在菜单中的位置(第一个条目的位置为零)
.参数 标识符类型, 整数型, , wflags,常数MF_BYCOMMAND或MF_BYPOSITION,取决于nPosition参数
.DLL命令 禁止菜单_, 整数型, "user32.dll", "EnableMenuItem", , 允许或禁止指定的菜单条目
.参数 菜单句柄, 整数型, , hMenu,菜单句柄
.参数 标识符, 整数型, , wIDEnableItem,欲允许或禁止的一个菜单条目的标识符
.参数 常数标志, 整数型, , 指定控制参数uIDEnableltem如何解释的标志,指示菜单项有效、无效或者变灰。此参数必须是MF_BYCOMMAND或MF_BYPOSITION,MF_ENABLED和MF_DISABLE或MF_GRAYED的组合。
.DLL命令 取窗口菜单句柄_, 整数型, "user32", "GetMenu", , 取得分配给指定窗口的菜单的句柄。
.参数 窗口句柄, 整数型, , 指定的菜单句柄
.DLL命令 判断菜单句柄_, 逻辑型, "user32.dll", "IsMenu", , 判断指定的句柄是否为一个菜单的句柄
.参数 菜单句柄, 整数型, , hMenu,欲测试的菜单的句柄
.DLL命令 清除菜单_, 整数型, "user32.dll", "DestroyMenu", , 删除指定的菜单。如菜单属于另一个菜单的一部分,或直接分配给一个窗口,那么菜单会在窗口清除后被自动删除
.参数 预删除的菜单, 整数型, , 要销毁的菜单的句柄。
.DLL命令 取菜单句柄_, 整数型, "user32", "GetSubMenu", , 取得一个弹出式菜单的句柄,位于菜单中指定的位置
.参数 菜单句柄, 整数型, , 菜单句柄
.参数 位置, 整数型, , 条目在菜单中的位置。第一个条目的编号为0
.DLL命令 取菜单状态_, 整数型, "user32", "GetMenuState", , 获取指定菜单条目的状态
.参数 菜单句柄, 整数型, , 指定的菜单句柄
.参数 ID, 整数型, , 欲检查的菜单条目的标识符。如果在wFlags参数中设置了MF_BYCOMMAND标志,这个参数就用于指定要改变的菜单条目的命令ID。如果设置的是MF_BYPOSITION标志,这个参数就用于指定条目在菜单中的位置(第一个条目的位置为0)
.参数 标志, 整数型, , 常数MF_BYCOMMAND或MF_BYPOSITION,取决于wID参数的设置
.DLL命令 取菜单数量_, 整数型, "user32", "GetMenuItemCount", , 返回菜单中条目(菜单项)的数量
.参数 菜单句柄, 整数型, , 目标菜单的句柄
.DLL命令 取菜单标题_, 整数型, "user32.dll", "GetMenuStringA", , 该函数将指定菜单项的正文字符串拷贝到指定缓冲区。
.参数 菜单句柄, 整数型, , 指定的菜单句柄
.参数 条目位置, 整数型, , 欲接收的菜单条目的标识符(ID)。如果在wFlags参数中设置了MF_BYCOMMAND标志,这个参数就用于指定要改变的菜单条目的命令ID。如果设置的是MF_BYPOSITION标志,这个参数就用于指定条目在菜单中的位置(第一个条目的位置为0)
.参数 缓冲区, 文本型, , 指向缓冲区的指针。指定一个预先定义好的字串缓冲区,以便为菜单条目装载字串
.参数 缓冲区长度, 整数型, , 指定将被拷贝的字符串的最大字符数(载入lpString缓冲区中的最大字符数量+1)。如果字符串长度比此参数指定的最大值还大,则多余的字符被截去。如果此参数为0,则函数退回菜单字符串的长度。
.参数 标志, 整数型, , 指定参数wlDltem如何被解释。此参数可取下列值之一:MF_BYCOMMAND: 表示参数uIDltem给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。;MF_BYPOSITION:表示参数uIDltem给出菜单项相对于零的位置。
.DLL命令 取条目ID_, 整数型, "user32", "GetMenuItemID"
.参数 菜单句柄, 整数型
.参数 位置, 整数型
.DLL命令 取菜单条目尺寸_, 整数型, "user32", "GetMenuItemRect"
.参数 窗口句柄, 整数型
.参数 菜单句柄, 整数型
.参数 位置, 整数型
.参数 矩形位置, 矩形_, 传址
.DLL命令 取系统菜单句柄_, 整数型, "user32", "GetSystemMenu", , 取得指定窗口的系统菜单的句柄。在vb环境,“系统菜单”的正式名称为“控制菜单”,即单击窗口左上角的控制框时出现的菜单 如执行成功,返回系统菜单的句柄;零意味着出错。如bRevert设为TRUE,也会返回零(简单的恢复原始的系统菜单)
.参数 窗口句柄, 整数型, , 窗口的句柄
.参数 恢复, 逻辑型, , 如设为TRUE,表示接收原始的系统菜单;
.DLL命令 取菜单复选大小_, 整数型, "user32", "GetMenuCheckMarkDimensions", , 获取一个菜单复选符的大小
.DLL命令 插入菜单条目_, 逻辑型, "user32.dll", "InsertMenuA", , 在菜单的指定位置处插入一个菜单条目,并根据需要将其他条目向下移动
.参数 菜单句柄, 整数型, , 将被修改的菜单条、下拉式菜单、子菜单、或快捷菜单的句柄。
.参数 插入点标志符, 整数型, , 定义了新项要插入点的一个现有菜单项,在这个项的位置上方开始插入
.参数 常数标志, 整数型, , 定义dwPosition标志如何动作,此参数可以是AppendMenu里所列值的组合。
.参数 新条目ID, 整数型, , 指定要插入新菜单项的标识符。
.参数 条目内容, 文本型, , 此参数的含义取决于参数uFlags是否包含MF_BITMAP, MF_OWNERDRAW或MF_STRING标志
.DLL命令 载入菜单_, 整数型, "user32.dll", "LoadMenuA", , 从指定的模块或应用程序实例中载入一个菜单
.参数 模块句柄, 整数型, , hInstance,一个动态链接库的模块句柄
.参数 菜单标识, , , lpString,参见相关帮助
.DLL命令 改变菜单条目_, 逻辑型, "user32.dll", "ModifyMenuA"
.参数 菜单句柄, 整数型, , hMenu,菜单句柄
.参数 标识符, 整数型, , nPosition,欲改变的菜单条目的标识符
.参数 常数标志, 整数型, , wFlags,一系列常数标志的组合
.参数 新命令ID, 整数型, , wIDNewItem,指定菜单条目的新命令ID
.参数 标志, 文本型, , any,位图句柄或菜单文本
.DLL命令 弹出轨迹菜单_, 整数型, "user32.dll", "TrackPopupMenu", , 在屏幕的任意地方显示一个弹出式菜单
.参数 菜单句柄, 整数型, , 弹出式菜单的句柄
.参数 标志, 整数型, , 位置标志和鼠标追踪标志的组合,见下表
.参数 横坐标, 整数型, , 这个点指定了弹出式菜单在屏幕坐标系统中的位置
.参数 纵坐标, 整数型, , 这个点指定了弹出式菜单在屏幕坐标系统中的位置
.参数 保留参数, 整数型, , 未使用,设为零
.参数 窗口句柄, 整数型, , 用于接收弹出式菜单命令的窗口的句柄。应该使用窗体的窗口句柄——窗体中有一个菜单能象弹出式菜单那样接收相同的命令ID集
.参数 矩形结构, , , 用屏幕坐标定义的一个矩形,如用户在这个矩形的范围内单击,则弹出式菜单不会关闭。如单击弹出式菜单之外的任何一个地方,则会关闭菜单。可以设为NULL
.DLL命令 菜单条目加亮_, 逻辑型, "user32.dll", "HiliteMenuItem"
.参数 窗口句柄, 整数型, , hwnd,拥有顶级菜单的一个窗口的句柄
.参数 菜单句柄, 整数型, , hMenu,hwnd窗口的顶级菜单的句柄
.参数 标识符, 整数型, , wIDHiliteItem,欲加亮或撤消加亮的菜单条目的标识符
.参数 常数标志, 整数型, , wHilite,一系列常数标志的组合
.DLL命令 取环境信息_, 整数型, "User32.dll", "GetSystemMetrics"
.参数 常数索引, 整数型
.DLL命令 载入图象_, 整数型, "user32.dll", "LoadImageA", , 载入一个位图、图标或指针
.参数 实例句柄, 整数型, , hInst,要从其中载入图象的DLL或应用程序模块或实例句柄
.参数 图象标志符, 整数型, , lpsz,欲载入图象的名字
.参数 图象类型, 整数型, , un1,指定了欲载入的图象类型
.参数 图象宽度, 整数型, , n1,要求的图象宽度
.参数 图象高度, 整数型, , n2,要求的图象高度
.参数 常数组合, 整数型, , un2,常数的任意组合
.DLL命令 载入图象2_, 整数型, "user32.dll", "LoadImageA", , 载入一个位图、图标或指针
.参数 实例句柄, 整数型, , hInst,要从其中载入图象的DLL或应用程序模块或实例句柄
.参数 图象标志符, 文本型, , lpsz,欲载入图象的名字
.参数 图象类型, 整数型, , un1,指定了欲载入的图象类型
.参数 图象宽度, 整数型, , n1,要求的图象宽度
.参数 图象高度, 整数型, , n2,要求的图象高度
.参数 常数组合, 整数型, , un2,常数的任意组合
.DLL命令 设置菜单位图, 逻辑型, , "SetMenuItemBitmaps", , 设置一幅特定位图,令其在指定的菜单条目中使用,代替标准的复选符号(√)。
.参数 菜单句柄, 整数型, , 菜单句柄
.参数 菜单位置, 整数型, , 欲设置位图的一个菜单条目的标识符。如在wFlags参数中指定了MF_BYCOMMAND,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION,这个参数就代表菜单条目在菜单中的位置(第一个条目的位置为零)
.参数 设置方式, 整数型, , 常数MF_BYCOMMAND或MF_BYPOSITION,取决于nPosition参数
.参数 位图句柄, 整数型, , 撤消复选时为菜单条目显示的一幅位图的句柄。如果为零,表示不在未复选状态下显示任何标志
.参数 选中位图, 整数型, , 复选时为菜单条目显示的一幅位图的句柄。可设为零,表示复选时不显示任何标志。如两个位图句柄的值都是零,则为这个条目恢复使用默认复选位图
.DLL命令 取实例句柄_, 整数型, , "GetModuleHandleA"
.参数 程序名, 整数型
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...