单选文件夹的时候,对话框的文件名控件并不显示这个文件夹,只有选中的是文件时才显示所选择的文件名.当你选中文件夹时
CString CFileDialog::GetFileName( ) const;
返回的是不是一个空的字符串?
CString CFileDialog::GetFileName( ) const;
返回的是不是一个空的字符串?
解决方案 »
- 自己的一个窗口类,调用1次正常,调用2次会出错
- 请问调试时如何知道hEvent(事件对象句柄)是否是传信状态或不是?
- 求教:关于字体宽度的问题
- VS2005利用SHFILEOPSTRUCT结构复制文件出错?
- 为什么从mysql数据库读出的中文数据是乱码?
- 请教::在VC中调用C语言的.c文件的具体实现
- 得到recorderset中所有行的最大长度
- MSCOMM串口通信问题(我初次提问,望大家多多支持,谢谢)
- 怎样将OnTimer信息暂时屏蔽掉
- 需要在一常规DLL中显示对话框
- 100分求教,c++有无宏或其他办法,使字符串(代表该语句),动态生成c++ 语句执行。
- "高手救命"!如何利用MSCOMM控件发送仪表的十六进制控制字?
只有DoModal后才能返回吧,跟作者的好像...
CString CFileDialog::GetFileName( ) const;
返回的不是空字符串。
重载两个析函数:
virtual void OnFolderChange( );
virtual void OnFileNameChange( );加入代码:
void CMyDlg::OnFolderChange( )
{
CString str=GetPathName();
HWND hWnd=FindWindowEx(GetParent()->m_hWnd,NULL,"Edit",NULL);
::SetWindowText(hWnd,"");
}void CMyDlg::OnFileNameChange( )
{
static CString OldStr;
CString str=GetFileName();
HWND hWnd=FindWindowEx(GetParent()->m_hWnd,NULL,"Edit",NULL);
if(OldStr==str)
::SetWindowText(hWnd,"");
else
::SetWindowText(hWnd,str); OldStr=str;
}
这样只要在文件名一栏中是空的没说明是文件夹了。
你要做什么就做什么吧!