如何捕获CEdit中的按键
编号:QA001317
建立日期: 1999年7月10日 最后修改日期:1999年11月13日
所属类别:
肖运勇:
vc++5.0
win95
如何捕获CEdit中的回车事件?
回答:
如果你希望用回车键模拟Tab键,可以参考QA002009 "在VC5.0中用回车键将焦点移动到下一个控件上"
下面的方法可以适合捕捉包括回车键的按键。
按键事件有WM_KEYDOWN、WM_CHAR等。这两个事件都可以用来捕捉回车事件。下面假定你的CEdit控件是在一个对话框中。
1、利用ClassWizard建立一个类CMyEdit,这个类是从CEdit派生来的。
2、利用ClassWizard建立CMyEdit响应WM_CHAR事件的函数OnChar,然后输入以下代码:
void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(nChar == VK_RETURN)
MessageBox("Hello!");
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
这样当用户按下回车键后显示消息框。
3、利用ClassWizard建立一个变量m_Edit1与你的控件对应,同时该控件应为CMyEdit类。
4、在CDlgDlg::DoDataExchange中加上:
DDX_Control(pDX, IDC_EDIT1, m_Edit1);
这样你的程序就可以捕捉按键了。
此问题由李海回答。
| |
|
|
| |
|
|