如何是某个按钮响应回车键?
建立一个对话框程序后,ok键是默认的按钮,如果敲回车就相当与按下ok键。我新加了一个按钮,想实现敲回车键就相当于按下改按钮,请问如何实现(要在程序中可以动态变化,比如又两个按钮可以轮换执行,不要在对话框资源中改变)。我用
setfocus() 和gotodlgctrl都不行。
问题点数:0、回复次数:12Top
1 楼ahphone(阿丰--重出江湖,陌生的容颜)回复于 2003-06-01 16:35:06 得分 0
http://www.vckbase.com/code/listcode.asp?mclsid=5&sclsid=501&page=2
如何定制对话框中的回车键
参考一下Top
2 楼heilong()回复于 2003-06-01 16:49:43 得分 0
这个例子并不符合我的要求,我要的是,我要我自己添加的按钮有象ok键的性质,按回车就相当与敲该按钮,而不是执行ok键退出Top
3 楼ahphone(阿丰--重出江湖,陌生的容颜)回复于 2003-06-01 16:55:20 得分 0
设个空的OnOK();
加入一个回车的快捷键,然后响应该消息Top
4 楼heilong()回复于 2003-06-01 17:16:52 得分 0
那不行呀,我的是属性页上的ok按钮,CPropertySheet可没有OnOk(),我并不是想截获消息,只是想使我自己的按钮处于默认按钮状态,按下回车键就响应。Top
5 楼heilong()回复于 2003-06-01 17:23:02 得分 0
我所说的默认状态使这样的,如果你用鼠标左键点住按钮不放,然后将鼠标移到按钮以外的区域在松开,这时该按钮就处于我所说的状态,按下回车键就相当于点击该按钮Top
6 楼heilong()回复于 2003-06-01 22:22:32 得分 0
up 一下Top
7 楼ATField()回复于 2003-06-01 22:47:28 得分 0
重载OnPretranslateMessage。
发现Enter键按下就处理
模拟按钮按下可以发送WM_COMMAND消息,或者干脆直接调用该按钮的消息函数,
如果要有动画效果,可以发送一系列鼠标消息,比如WM_LBUTTONDOWN,坐标为按钮之上
Top
8 楼tangwei168()回复于 2003-06-02 01:19:57 得分 0
OnPretranslateMessage重载应该可以吧!Top
9 楼kwiner(ak.net)回复于 2003-06-02 08:18:14 得分 0
重载CButton类Top
10 楼yangzhb2003()回复于 2003-06-02 08:46:34 得分 0
up一下Top
11 楼sxtigerVC(tiger)回复于 2003-06-02 08:53:36 得分 0
你可以在定义按钮进选中选项“ default button"或者在你的
BOOL CMy4444Dlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
return CDialog::PreTranslateMessage(pMsg);
}
中写入控制项Top
12 楼heilong()回复于 2003-06-02 20:10:27 得分 0
to sxtigerVC(tiger):
我设置了default button属性,不行,我的是属性页程序,有两个页面。另外,我页想过用PreTranslateMessage,但那样的话,当ok键处于我所说的那种默认状态,敲回车键岂不是无法推出程序了?请大家帮帮忙呀!Top




