易语言窗口关于菜单怎么创建

易语言窗口关于菜单怎么创建,第1张

.程序集变量

MsgShellHook

.程序集变量

lpPrevWndProc.子程序

__启动窗口_创建完毕

.局部变量

菜单句柄

.局部变量

sss,

文本型sss

=

“关于窗口”

开始拦截

()

菜单句柄

=

API_取系统菜单句柄

(_启动窗口.取窗口句柄

(),

0)

API_添加菜单项

(菜单句柄,

2048,

0,

0)

'

加入分隔条

MF_SEPARATOR

常量为

0x800

API_添加菜单项

(菜单句柄,

0,

666,

取变量数据地址

(sss))

'

子程序1

().子程序

子程序1信息框

(“关于窗口”,

0,

“关于”).子程序

开始拦截MsgShellHook

=

API_RegisterWindowMessage

(“SHELLHOOK”)

API_RegisterShellHookWindow

(取窗口句柄

())

lpPrevWndProc

=

API_SetWindowLong

(取窗口句柄

(),

-4,

整数

(&回调函数)).子程序

回调函数,

整数型

.参数

Hwnd

.参数

uMsg

怎样制作右键菜单?

编辑右键菜单的方法与普通的窗口菜单一样,(如果你不希望右键菜单在芦仿巧窗口菜单栏中显示,必须把该菜单的可视属性设置为假)。在右键被按下时,用“d出菜单()”来d出你设置好的右键菜单。例:在程序中设置了一名为“右键”的菜单。希望当鼠标右键在窗口上按下时显示,可添加如下子程序:

子程序:__启动窗口_鼠标右键被按下

返回值类型:逻辑型

参数:横向位置 数据类型:整数型

参数:纵向位置 数据类型:整数型

参数:功能键状态 数据类型:整数型

d出菜单 ( 右键 , , )

“d出菜单”的介绍:调用格式: 〈无返回值〉 对象.d出菜单 (菜单 欲d出的菜单,[整数型 水平显示位置],[整数型 垂直显示位置]) - 系统核心支持库->窗口

英陪键文名称:PopupMenu

用于在窗口上的当前鼠标位置或指定坐标位置显示d出式菜单,如果调用对象为窗口组件,则自动使用其所在的窗口。本命令为初级对象成员命令。

参数<1>的名称为“欲d出的菜单”,类型为“菜单(menu)”。指定菜单内必须包含有子菜单,且所处窗口必须与调用对象窗口一致。

参数<2>的名称为“水平显示位置”,类型为“整数型(int)”,可以被省略。单位为像素点,相对于屏幕左边。如果被省略,将自动使用当前鼠标位置。

参数<3>的名称为“垂直显示位置”,类型为“整数型(int)”,可以被省略。单位为像素点,相对于屏幕顶边。如果被省略,将自动使用当前鼠标位置。

3、如何禁止一个菜单项,使它可以被看见但不可以被选择?

在菜单编辑器中有一个选择框名为“允许 *** 作”,保持该项为空即不选,则相应菜单项就被禁止。

如果是在程序大困运行中动态设置,可以用以下代码(设菜单名称为“复制”):

复制.禁止=真使该菜单处于禁止状态,不可 *** 作。

复制.禁止=假取消菜单的禁止,使该菜单可以 *** 作

.DLL命令 _取菜单句柄, 整数型, "user32", "GetMenu", , 取得窗口中一个菜单的句柄 依附于指定窗口的一个菜单的句柄(如果有菜单);否则返回零

.参数 窗口句柄, 整数型, , 窗口句柄。对于vb,这应该是一个窗体句柄。注意可能不是子窗口的句柄

.DLL命令 _创建菜单, 整数型, "user32", "CreatePopupMenu", , 创建一个空的菜单,成功返回菜单句柄,失败返回0

.DLL命令 _添加菜单项, 整数型, , "AppendMenuA", , 在指定的菜单里添加一个菜单项 非零表示成功,零表示失败。会设置GetLastError

.参数 菜单句柄, 整宽闹前数型, , 菜单句柄

.参数 菜单常数标志, 整数型, , 参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数

.参数 新菜单条目ID, 整数型, , 指定菜单条目的新命令ID。如果在wFlags参数中指定了MF_POPUP字段,那么这应该是指弯局向一个d出式菜单的句柄

.参数 标志值, 文本型, , (相应的vb声明见注解),如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串。如设置了MF_BITMAP标志,这就代表一个Long型变量,其中包含了一个位图句柄。如设置了MF_OWNERDRAW,这个值就会包括在DRAWITEMSTRUCT和MEASUREITEMSTRUCT结构中,在条目需要重画的时候由windows发送出去

.DLL命令 SetWindowLong, 整数型慎清, , "SetWindowLongA"

.参数 hwnd, 整数型

.参数 nindex, 整数型

.参数 hnew, 整数型

.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数

.参数 lpPrevWndFunc, 整数型

.参数 hwnd, 整数型

.参数 msg, 整数型

.参数 wParam, 整数型

.参数 lParam, 整数型

.DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA", , 从指定窗口的结构中取得信息 由nIndex决定。零表示出错。会设置GetLastError

.参数 窗口句柄, 整数型, , 欲为其获取信息的窗口的句柄

.参数 属性, 整数型, , 欲取回的信息,可以是下述任何一个常数:GWL_EXSTYLE:扩展窗口样式GWL_STYLE:窗口样式GWL_WNDPROC:该窗口的窗口函数的地址GWL_HINSTANCE:拥有窗口的实例的句柄GWL_HWNDPARENT:该窗口之父的句柄。不要用SetWindowWord来改变这个值GWL_ID:对话框中一个子窗口的标识符GWL_USERDATA:含义由应用程序规定DWL_DLGPROC:这个窗口的对话框函数地址DWL_MSGRESULT:在对话框函数中处理的一条消息返回的值DWL_USER:含义由应用程序规定

.DLL命令 GetMenuString, 整数型, "user32", "GetMenuStringA"

.参数 hMenu, 整数型

.参数 wIDItem, 整数型

.参数 lpString, 文本型

.参数 nMaxCount, 整数型

.参数 wFlag, 整数型


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11988039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存