控件一些补充 -combo
HWND hEdit = ::GetWindow(your combox object.GetSafeHwnd(),GW_CHILD);
if(IsWindow(hEdit))
{
ModifyStyle(hEdit,0,ES_NUMBER,0);
}
修改只允许输入数字
BOOL CChildWnd::PreTranslateMessage(MSG* pMsg)//截获消息
{
// TODO: 在此添加专用代码和/或调用基类
//一开始就限定输入只能为数字
HWND hEdit = ::GetWindow(m_pageComboBox.GetSafeHwnd(),GW_CHILD);
if(IsWindow(hEdit))
{
ModifyStyle(hEdit,0,ES_NUMBER,0); //限定只能输入数字
}
//截获消息
if(pMsg->message == WM_KEYDOWN) //
{
if (pMsg->wParam == VK_RETURN)//Enter键按下的消息
{
//判断为CComboBox的输入
CEdit *pEdit = (CEdit*)m_pageComboBox.GetWindow(GW_CHILD);
if(pMsg->hwnd == pEdit->m_hWnd )
{
//HWND hEdit = ::GetWindow(m_pageComboBox.GetSafeHwnd(),GW_CHILD);
//if(IsWindow(hEdit))
//{
// ModifyStyle(hEdit,0,ES_NUMBER,0); //限定只能输入数字
//}
CString temp;
m_pageComboBox.GetWindowText(temp);
int pageNum=atoi(temp);
if (pageNum>0 && pageNum<=30)
{
this->OnSelChangeComboBox();
return TRUE;//返回true表明已经处理过了,不再接收。
}
else
{
MessageBox("请输入0--30之间的页数");
}
}
}
}
return CWnd::PreTranslateMessage(pMsg);
}