对话框里面有一个编辑框,我希望用户只能输入“中国人”这三个字符里面的任意一个字符,这样该怎么做?
请各位帮忙,我做了一天了也没做好,就要交差了!!!!
请各位帮忙,我做了一天了也没做好,就要交差了!!!!
解决方案 »
- 急求iphlpapi.h和iphlpapi.lib相关头文件
- 想编个树形菜单
- hellp!怎么把CStdioFile类型的文件中的所有字符读到一个CString类型的变量当中呢?
- 在FormView中摆了些控件,其余地方为绘图区,有没有像Delphi中PaintBox的控件,往它上边画,还是直接往FormView上画?
- 求助 图象缩放的原代码
- API Spy 的原理是什么?就是那个鬼佬写的监视API一举一动的那个小软件!
- 初级(100):文件读取到内存,然后每八个字节一读取。最好有例子。
- 向高手求助一个内存释放的问题!
- 程序自启动的问题
- 我从CStatic派生的类,如何才能处理OnSetFocus OnKillFocus OnKeyDown DBClick
- 如何限定编辑框里的输入???
- 关于Wpcap网络编程的问题?
void CDlgTest5Dlg::OnChangeEdit1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here static char *strA="中";
static char *strB="国";
static char *strC="人";
BOOL bWrite=TRUE;
char str2[3]={0,0,0};
CString text;
GetDlgItem(IDC_EDIT1)->GetWindowText(text);
int iStart=HIWORD(((CEdit*)GetDlgItem(IDC_EDIT1))->GetSel());
if(iStart>0)
{
if(iStart>1)
{
if(!((text[iStart-2]==strA[0]&&text[iStart-1]==strA[1])
||(text[iStart-2]==strB[0]&&text[iStart-1]==strB[1])
||(text[iStart-2]==strC[0]&&text[iStart-1]==strC[1])))
{
bWrite=FALSE;
}
}else
bWrite=FALSE;
if(!bWrite)
{
str2[0]=text[iStart-1];
BOOL bDB=FALSE;
if(text[iStart-1]<0)
{
str2[1]=str2[0];
str2[0]=text[iStart-2];
bDB=TRUE;
}
text.Replace(str2,"");
GetDlgItem(IDC_EDIT1)->SetWindowText(text);
if(bDB)
{
((CEdit*)GetDlgItem(IDC_EDIT1))->SetSel(iStart-2,iStart-2,-1);
}else
{
((CEdit*)GetDlgItem(IDC_EDIT1))->SetSel(iStart-1,iStart-1,-1);
}
}
}
}
好像这里要给分的,怎么结贴哦!