在标准的Edit Control Messages中,一般都是以EM或EN打头的控件消息,属于它自身控件的以
WM开头的有
WM_COMMAND
WM_COPY
WM_CTLCOLOREDIT
WM_CUT
WM_PASTE
WM_UNDO
但是它是从CWnd类继承的,所以应当可以接收到KeyDown或输入字符的消息。
WM开头的有
WM_COMMAND
WM_COPY
WM_CTLCOLOREDIT
WM_CUT
WM_PASTE
WM_UNDO
但是它是从CWnd类继承的,所以应当可以接收到KeyDown或输入字符的消息。
SendMessage(
(HWND) hWnd, // handle to destination window
WM_SETTEXT, // message to send
(WPARAM) wParam, // not used; must be zero
(LPARAM) lParam // window-text string (LPCTSTR)
);这个就可以设置它的内容了。
要不然自己定义一个WM_CHAR的消息处理函数,效果是一样的
if ((pMsg->message==WM_CHAR)
&&(pMsg->hwnd==this->GetDlgItem(IDC_EDIT2)->m_hWnd))
{CString test;
test.Format("你按了 %d键",pMsg->wParam);
this->SetWindowText(test);}
{
if( pMsg->message == WM_KEYDOWN )
{
if(pMsg->wParam == VK_RETURN)
{
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return TRUE; // DO NOT process further
}
}
return CPropertyPage::PreTranslateMessage(pMsg);
}可以截获回车按钮!!
你可以从CEdit派生一个新类,然后看看ClassWizard,那些消息是不是都有了?
然后你可以使用你的新类来Create控件。
既方便有不会出错