热情软件屋

 

如何捕获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);
    这样你的程序就可以捕捉按键了。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio