我在對話框程式中,想要一個EDIT控制元件進行文本編輯,但是一輸入TAB鍵 焦點就轉到別的控制元件上去了,沒有TAB鍵的縮進功能,編輯檔案十分別扭。
C#中只要設定一個屬性就可以了,
請問VC有什么方法來處理這種情況嗎?
uj5u.com熱心網友回復:
用RichEdit控制元件uj5u.com熱心網友回復:
用RichEdit控制元件uj5u.com熱心網友回復:
用RichEdit控制元件uj5u.com熱心網友回復:
好像不行哦,TAB鍵還是會跳到別的控制元件,能否詳細說一下?uj5u.com熱心網友回復:
派生自己的EDIT,多載pretranslate,向父表單發訊息,再。。。。uj5u.com熱心網友回復:
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg){
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_TAB && pMsg->hwnd == m_cEdit.GetSafeHwnd())
{
//處理Edit中的TAB鍵
CString str;
m_cEdit.GetWindowText(str);
int nStart,nEnd;
m_cEditProgram.GetSel(nStart,nEnd);
if(nStart!=nEnd)
{
str=str.Left(nStart)+str.Mid(nEnd);
}
str.Insert(nStart,"\t");
m_cEdit.SetWindowText(str);
m_cEdit.SetSel(nStart+1,nStart+1);
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
uj5u.com熱心網友回復:
頂樓上!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/113943.html
標籤:基礎類
