MFC界面中有两个编辑框,第二个编辑框中有默认值,如何让第二个编辑框在鼠标单击时清空其中的值

解决方案 »

  1.   

    自绘。
    1。继承CEdit
    2。重载单击消息
    3。在单击消息中:SetWindowText("");
      

  2.   

    自建个类,派生自CEdit类,然后建一个对象跟此编辑框关联。
    在此派生类中,建立单击处理函数。
    然后用:你建的对象.SetWindowText("");
      

  3.   

    我对编码其实不是很熟悉,正处于学习ing对于以上两位说的我就不是很明白了那是不是要加入一下内容呢:class CCleanEdit : public CEdit  
    {
    public:
    CCleanEdit();
    virtual ~CCleanEdit(); void OnLButtonDown(UINT nFlags, CPoint point) ;};void CCleanEdit::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    CCleanEdit cc_cleanedit;

    //与编辑框关联,但是如何关联呢?? cc_cleanedit.SetWindowText("");

    }那这一段代码是加入MFC工程中的含有编辑框的类的cpp文件中,还是自己读写一个文件?还请详细说明一下嘛
      

  4.   

    用Class Wizard 自动生成继承自CEdit的类, 这样你的工程里就自动加入了MyEdit.h 和MyEdit.cpp两个文件,再添加OnLButtonDown 消息处理函数体
      

  5.   

    重载你的对话框类的PreTranslateMessage函数,如下
    BOOL CMDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(pMsg->message==WM_LBUTTONDOWN)
    {

    CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
    if (pMsg->hwnd==pEdit->GetSafeHwnd())
    {
    pEdit->SetWindowText("");
    }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }另一种方法就是自己派生一个CEdit类。比如CMyEdit.在ClassWizard中给文本框添加一个CMyEdit类型的变量。VC会自动将文本框与这个类关联。然后在CMyEdit中处理WM_LBUTTONDOWN消息。