菜单,菜单...它的Handle是只读的,怎么办?????????(100分)

  • 主题发起人 主题发起人 黑梦
  • 开始时间 开始时间

黑梦

Unregistered / Unconfirmed
GUEST, unregistred user!
我想尝试以下代码:
MainMenu1.Handle := LoadMenu(hInstance, 'myMenuRes');
但是编译器说Handle是只读的,我该怎么办?
我用了SetOle2MenuHandle发现菜单是出来了,但是我所赋值的
OnClick事件促发不了.
如果能成功使用菜单资源的话,菜单上是否能有位图呢,
菜单资源的脚本支持位图吗??
 
用SetMenu系列API
 
能不能在Form里设
 
菜单上的位图需要自绘。
OnClick 是 Delphi 的类事件,TMainMenu 是 Delphi 的类,属于 VCL 的范畴,而 LoadMenu 属于 API ,
这样的用法会在 VCL 和 API 之间造成混乱。

LoadMenu 的正确用法是:
H: THandle;
...
H := LoadMenu(..,...);
...
不能把它直接赋给 MainMenu.Handle.
 
黑梦:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
用你的方法产生的菜单必须用消息响应的方式才能处理事件。
 
接受答案了.
 
后退
顶部