在窗口上动态创建的CEdit,怎么控制它只能输入数值?
解决方案 »
- 如何將一個char 轉化為TCHAR 呢
- 想通过Ctrl键来控制在一个CTreeCtrl控件上选择多个节点,请问怎么实现?
- 高人们!小弟请教如何实现在打印机上打印出光滑曲线的问题
- VC中编码有哪些快捷功能?(未看到过vc高手编程,才此一问)
- 问大家一个比较笨的问题!!!
- 对Sql数据库的查询访问是否支持几个客户端同时进行,如果不能,如何处理他们之间互斥问题?
- 如何将RGB565图像数据在窗口类直接显示出来
- 为何编译,连接时总会出会这样的错误???
- 请问:在VC中编程时类的成员及函数参数不提示时如何设置?
- 紧急求助,怎样在程序中得到并行口的地址???
- 怎样改变主窗口的背景?(急)
- 如何提供多个symbol供用户选择?-----请指点思路
m_edit.Create();在create函数加上EM_NUMBER
// dynamically create an edit control on the view
CEdit* pEdit = new CEdit;
pEdit->Create(ES_NUMBER | ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, CRect(10, 10, 100, 100), this, 1);最重要的就是ES_NUMBER的属性。
CRect(0, 0, 60, 20), this, 1);
2.如果要输入浮点数,那么你就取消ES_NUMBER属性
现在提供给你一个笨办法:就是当焦点在edit上时,屏蔽键盘上所有按钮,只响应"."和数字键
BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_KEYDOWN )
{
if(pMsg->hwnd == GetDlgItem(IDC_EDIT1)->m_hWnd )
{
switch( pMsg->wParam )
{
case VK_RETURN: //屏蔽回车
return TRUE;
case 65: //屏蔽A
return TRUE;
....................
//具体的Virtual-Key Codes 你可以查madn
}
}
return CDialog::PreTranslateMessage(pMsg);
}