我要让编辑框里的第3个字符只能是小圆点,别的任何键对他都不起作用
编辑框里的第4个字符只响应s,n两个字符,其余键对他都不起作用
第2个字符数字键有用,碰到退格键就为0请问如何实现啊,代码!!!!!!!!!!!!!!
编辑框里的第4个字符只响应s,n两个字符,其余键对他都不起作用
第2个字符数字键有用,碰到退格键就为0请问如何实现啊,代码!!!!!!!!!!!!!!
解决方案 »
- 如何获取一个最小化的窗口的图像? 比如一个游戏。当他最大化时,我可以截图,但是当他最小化如何截图? 貌似他的图像在显示缓存,求助
- 标志区域的程序,为什么对很小的图形就能处理,800*300就说溢出呢?
- 如何获得当前对话框的指针
- 难,在线等
- usb口数目取得问题
- 客户访问web页面,点击某按钮,如何启动iis服务器的计算机上的某个独立程序?谢谢!
- 编译的时候报error C2065: AfxConnectionAdvise : undeclared identifier
- 我想用mscomm控件进行处理
- WM_COMMAND的流向问题
- 请大家讨论一下 VC 在 VS.NET 中的角色和未来。
- 请问,这个INSERT INTO语句应该怎么写?
- 100分,求结束这个垃圾进程的可以用的代码
写个代码看看!!!我看不太懂MSDN。微软写VC MSDN水平太烂!
快,代码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
谢谢
响应WM_CHAR, 在里面进行你需要的各种判断和处理代码就比较长了... 逻辑这么绕的...
----------------------------
GetSel方法
觉得处理消息的方式不好..
BOOL CWwDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
CWnd * pedit= GetDlgItem(IDC_EDIT1);
if(GetFocus()==pedit&&pMsg->message==WM_CHAR)
{
CString s;
pedit->GetWindowText(s);
switch(s.GetLength())
{
case 2: //要输入第3个字符
if(pMsg->wParam!='.')
{
if(pMsg->wParam==0x08)
{
AfxMessageBox("");
SendMessage(WM_CHAR,'0',0);
return CDialog::PreTranslateMessage(pMsg);
}
return TRUE;
}
break;
case 3://第4个;
if(pMsg->wParam!='s'&&pMsg->wParam!='n')
{
if(pMsg->wParam==0x08)
{
return CDialog::PreTranslateMessage(pMsg);
}
return TRUE;
}
break;
case 1://第2个字符
if((pMsg->wParam>'9'||pMsg->wParam<'0')&&(pMsg->wParam<VK_NUMPAD0||pMsg->wParam<VK_NUMPAD9))
{
if(pMsg->wParam==0x08)
{
return CDialog::PreTranslateMessage(pMsg);
}
return TRUE;
}
default:
return CDialog::PreTranslateMessage(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
这种方式麻烦还很多,我复制粘贴呢? 我是中文呢?所以还是该用OnChangeEdit1() 判断Cstring 方便很多.
不好意思啊,楼上,刚才出去打日本人了,给你赔罪!!!!!