社区
C++ Builder
帖子详情
设定主菜单的某个TMenuItem的ShortCut为Del,界面上Edit控件中按delete无法删除字符
helenhf
2008-04-16 07:04:44
焦点在Edit控件中
按Del键后会调用TMenuItem的OnClick事件
而Edit本身的OnKeyPress事件不会调用
希望能够同时调用上述的OnClick和OnKeyPress函数
不想在OnClick中手动调用OnKeyPress
因为不止Edit控件,还有Memo和ComboBox等
不想一一判断
各位大虾有啥高招没?
...全文
115
12
打赏
收藏
设定主菜单的某个TMenuItem的ShortCut为Del,界面上Edit控件中按delete无法删除字符
焦点在Edit控件中 按Del键后会调用TMenuItem的OnClick事件 而Edit本身的OnKeyPress事件不会调用 希望能够同时调用上述的OnClick和OnKeyPress函数 不想在OnClick中手动调用OnKeyPress 因为不止Edit控件,还有Memo和ComboBox等 不想一一判断 各位大虾有啥高招没?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
过客猫2022
2008-04-24
打赏
举报
回复
其实这个问题很简单,一般情况,楼主不要直接实现TMenuItem的Click事件,而是采用TActionList,然后在增加一个ActionDelete的TAction,设置Caption,和快捷键Del,并实现Action的Execute事件,然后在TMenuItem的Action属性设为ActionDelete.
使用Action非常方便,是典型的命令模式,除了TMenuItem,还有ToolBar的按钮,TButton,等,都可以设置同一个Action,如果我们要禁用这个功能,只需要将Action的Enabled的属性设为false,所以Action属性为这个Action的TMenuItem,TButton等,都会变是禁用的灰色,除此还有ImageIndex等属性.
helenhf
2008-04-23
打赏
举报
回复
[Quote=引用 4 楼 wwp3321 的回复:]
为什么不把OnKeyPress写到OnClick中去 ?
[/Quote]
因为不止Edit控件,还有Memo和ComboBox等
不想一一判断
helenhf
2008-04-23
打赏
举报
回复
[Quote=引用 4 楼 wwp3321 的回复:]
为什么不把OnKeyPress写到OnClick中去 ?
[/Quote]
因为不止Edit控件,还有Memo和ComboBox等
不想一一判断
helenhf
2008-04-23
打赏
举报
回复
[Quote=引用 4 楼 wwp3321 的回复:]
为什么不把OnKeyPress写到OnClick中去 ?
[/Quote]
因为不止Edit控件,还有Memo和ComboBox等
不想一一判断
CACACACACA
2008-04-17
打赏
举报
回复
if MyForm.ActiveControl is TEdit then
begin
TEdit(MyForm.ActiveControl).OnPresss(nil);
end;
gfh_79_0
2008-04-17
打赏
举报
回复
枚举组件,然后根据情况做不同的事
for(int i=0;i<ControlCount;i++)
{
Str=Controls[i]->ClassName();
if(Str=="TEdit")
{
//你的代码
}
}
gfh_79_0
2008-04-17
打赏
举报
回复
枚举组件,然后根据情况做不同的事
for(int i=0;i<ControlCount;i++)
{
Str=Controls[i]->ClassName();
if(Str=="TEdit")
{
//你的代码
}
}
wwp3321
2008-04-17
打赏
举报
回复
楼主的意思是:
Edit控件-->OnKeyPress事件-->TMenuItem click事件 + 本身的OnKeyPress事件处理
其他控件-->OnKeyPress事件-->TMenuItem click事件 ?
如果是这样,写一个方法,在方法里面判断,如果是Edit控件,执行本身的OnKeyPress事件处理,否则不执行。
然后所有控件的OnKeyPress事件中调用这个方法。
wwp3321
2008-04-17
打赏
举报
回复
为什么不把OnKeyPress写到OnClick中去 ?
wwp3321
2008-04-17
打赏
举报
回复
[Quote=引用 2 楼 helenhf 的回复:]
不行。。
用户要求用Del做快捷键。。
自己也觉得符合习惯
只能把OnKeyPress写到OnClick中去
没有其他解决办法了吗?
[/Quote]
为什么把OnKeyPress写到OnClick中去 ?
helenhf
2008-04-17
打赏
举报
回复
不行。。
用户要求用Del做快捷键。。
自己也觉得符合习惯
只能把OnKeyPress写到OnClick中去
没有其他解决办法了吗?
编译失败
2008-04-16
打赏
举报
回复
你不能把这个快捷键改掉吗?
为共享软件加上“限时注册”功能的
控件
1、只要将该
控件
加入
主
窗体,使Action属性设为true,再设置其它属性,你的软件就有限时注册的功能了,只要你牢记三个密钥,并加上给你的算号软件(RegObject_Admin.exe)你就可以无敌天下了。 2、
控件
使用目前最...
Del
phi 利用INI文件创建窗口
菜单
.rar
这是一个
Del
phi 7.0 利用INI文件创建窗口
菜单
的范例源码,在
Del
phi7环境下可直接编译运行,将创建的
菜单
内容按照以下顺序保存在INI文件
中
,程序会自动读取INI文件,生成
菜单
:[
菜单
] 文件=打开|保存|退出| 全...
DEL
PHI三方
控件
安装方法
DEL
PHI三方
控件
安装方法,其实也很简单
不用三方
控件
读excel源码
本资源无任何三方
控件
,无须安装excel,所使用
控件
自己下载去看 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, shlobj,ShellAPI, Menus, StdCtrls, ...
共享软件“限时注册”
控件
Ver1.3-
del
phi版(含源码)
只要将该
控件
加入
主
窗体,使Action属性设为true,再设置其它属性,你的软件就有限时注册的功能了,只要你牢记三个密钥,并加上给你的算号软件(RegObject_Admin.exe)你就可以放心开发共享软件了。 一、较1.2版的...
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章