• 您的位置我爱Aspx >> VC.Net >> 走出MFC子类化的迷宫
  • 走出MFC子类化的迷宫

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:49:05  关键字:
  • 输入时就只能输入A、B、C,并且只允许输入一个字母。

    实现方法:

    先派生一个自己的类CsuperEdit,Ctrl + W后,在其中处理WM_CHAR,然后再编辑这个消息处理函数:

    void CSuperEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)

    {

    // TODO: Add your message handler code here and/or call default

    TCHAR ch[20];

    GetWindowText(ch,20);

    if (strlen(ch) == 1 && (nChar <= ´C´ && nChar >= ´A´))

    return;

    if (nChar != ´A´

    && nChar != ´B´

    && nChar != ´C´

    )

    return;

    CEdit::OnChar(nChar, nRepCnt, nFlags);

    }

    然后再给我们Cprog1Dlg类中加入一个数据成员CsuperEdit m_edit,在CProg1Dlg::OnInitDialog()中加入:

    m_edit.SubclassDlgItem(IDC_EDIT1,this);

    m_edit.SetWindowText("<请输入A、B、C>");

    并处理EDIT向DIALOG发送的通知消息:EN_SETFOCUS:

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:传递自动化字符串数组
    下一篇:C#和C++的速度大比拼(二)
  • 相关文章