如题大虾来帮一下忙,谢谢!
解决方案 »
- 两种Dropdown工具栏按钮 成功了 散分
- 游戏服务端程序--delphi开发
- 数据库查询,插入问题 ***在线等待,问题解决就结贴*****
- 解决马上给分
- 关于locate的使用问题?
- 搜索了以往的帖子,但没有结果,关于dll调用ado问题。搞了一天,我要吐血了
- DELPHI7怎么比DELPHI6还差?引入WEBSERVICE的问题
- 请帮忙,大虾门,在没有装Access中用win98系统中运行access作的数据库行不行?
- 如何在 quick report 里将报表内容保存为 txt 文件?
- 怎么样在程序中动态的为ACCESS中创建一个数据表格!!!!!
- 请教界面制作?
- 关于替代窗口进程,截获窗口消息
MenuItem.ShortCut := ShortCut(Word('A'), [ssCtrl]); // Ctrl+A
Ⅰ:如何把用户菜单项加入系统菜单,
Ⅱ:如何才能响应这一菜单项。
解决问题Ⅰ:首先需要获取系统菜单的句柄,这一点可用API函数getsystemmenu()来获取,有了系统菜单句柄,用API函数appendmenu()向系统菜单中加入用户菜单选项了。 解决问题Ⅱ:需要重载WM_SYSCOMMAND或WM_MENUSELECT消息。当用户从菜单中选一项时,系统便会发出WM_COMMMAND消息,而对于系统菜单,则会发出WM_SYSCOMMAND消息,重载这个消息,并判断选中菜
单的ID值是否为用户设定值便可以了。
在Private声明部分,说明了过程,procedure User_SysMenu(var msg:twmmenuselect); message wm_syscommand;用于响应用户菜单事件。procedure TForm1.user_sysmenu(var msg:TWMMENUSELECT);
begin
if msg.iditem=100 then Label1.Caption := '你已经成功了,真是不可思议'
else inherited; { 作缺省处理,必须调用这一过程}
end;procedure TForm1.Button3Click(Sender: TObject);
Var
Menutemp : HMENU ;
begin
MenuTemp := GetSystemMenu(handle,false); //获取系统菜单句柄
AppendMenu(MenuTemp,MF_SEPARATOR,0,nil);
AppendMenu(MenuTemp,MF_STRING,100,'测试'); //加入用户菜单
end;
我的方法虽然和你得不太一样,但原理都是差不多的我现在的问题在于怎样为某个菜单项设置快捷键