打开一个文件对话框CFileDialog,怎样限制不可选择含有中文的路径或文件名
3ks,可用即给分
3ks,可用即给分
解决方案 »
- 父对话框和子对话框之间通信使用sendmessage和使用对方的指针有什么区别?
- mfc的资源视图里对话框的长度和运行时的不一样?
- 时间如飞,晃眼5年过去 - 我这简单的5年
- 类似QQ风格的按钮
- 静态控件上的文字如何实现不停滚动?比如label
- 一个关于对话框的问题:有一个基于对话框的程序,点一个button,创建一个modeless对话框
- 我用MFC在一个对话框上显示一个图片,我怎么把他移值为ACTIVE控件???
- 【求助】c++下调用dll!!
- 表上的数字电子显示屏上的数字,这种字体如何显示,是否一定要画出来才行?
- 在对话框中加菜单后,随着菜单的改变能不能把对话框换成另一个对话框?
- windows98下的局域网出现的一点点问题~~~~~~~
- 在程序中如何关闭一个子窗口?
在响应中加入对中文的判断。
{
// TODO: Add your command handler code here
CFileDialog dlgFileOpen(TRUE, NULL,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,"BMP Files(*.bmp)|*.bmp||", AfxGetMainWnd());
int structsize=sizeof(OPENFILENAME);
dlgFileOpen.m_ofn.lStructSize=structsize;
TCHAR lpstrFilename[MAX_PATH] = "";
dlgFileOpen.m_ofn.lpstrFile=lpstrFilename;
if(dlgFileOpen.DoModal()==IDCANCEL)
return;
if(IsChinese(dlgFileOpen.m_ofn.lpstrFile))
return;
AfxMessageBox(dlgFileOpen.m_ofn.lpstrFile);
}BOOL CTestsdiView::IsChinese(char *str)
{
int len;
int MaskBit=0x80;
char *t=str;
for(int i=0;i<strlen(str);i++)
if((*t++)&MaskBit)
{
return TRUE;
}
return FALSE;
}