控件一些补充 -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);
}

posted @ 2012-06-11 11:06  well_L  阅读(191)  评论(0编辑  收藏  举报