2010-12-13 140 views
0

在MFC中如何禁用空格輸入文本框要禁用空間輸入文本框

+0

[MFC控件在vC++中禁用mfc文本框中的輸入空格](http://stackoverflow.com/questions/442635 1/mfc-control-disable-entering-spaces-in-mfc-textbox-in-vc) – Adnan 2010-12-13 13:05:19

回答

0

您可以按如下更新OnChangeControl用戶條目:

if ((m_strYOURCONTROL[m_strYOURCONTROL.GetLength() - 1]) == ' ') 
{ 
    m_strYOURCONTROL = m_strYOURCONTROL.Mid(0, m_strYOURCONTROL.GetLength() - 1); 
} 
+0

如何將光標置於mfc.cursor中的文本末尾指向輸入空格時的第一個字符。 – sun 2010-12-13 14:06:55

+0

在這個實現中,你只需檢查最後輸入的字符。 – Sunscreen 2010-12-14 06:57:00

+0

當我按下空格時,我正在輸入光標的任何字符都將移動到開始位置。 – sun 2010-12-14 13:53:05

3

只需提供自己的的onkeydown事件處理程序,並篩選出空格鍵:

void MyEditControl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{ 
    if (nChar == 32) 
    { 
    // kill the space key down event 
    return; 
    } 

    // let edit control handle the other keys 
    CEdit::OnKeyDown(nChar, nRepCnt, nFlags); 
}