修改已经打开的对话框的浏览路径
来源:互联网 发布:sql 统计项目函数 编辑:程序博客网 时间:2024/06/06 09:06
CWnd * pWnd = FindWindow(NULL,"另存为");
CString sCtrlName;
CWnd *pedit;
CString filename;
TCHAR BUF[512];
if(pWnd)
{
CWnd *pwnd=pWnd->GetWindow(GW_CHILD);//枚举保存对话框的所有子控件
char *buf=new char[512];
while(pwnd!=NULL)
{
::GetClassName(pwnd->GetSafeHwnd(),buf,512);//得到枚举的控件是什么类型的,
CString str=buf;
str.TrimRight();
if(str=="Edit")//如果枚举到保存文件名的EDIT
{
pedit=pwnd;//保存EDIT句柄用来发消息
pwnd->SendMessage(WM_GETTEXT,sizeof(BUF)/sizeof(TCHAR),(LPARAM)(void*)BUF);
filename=BUF;//完成第一步保存原始的文件名
}
if(str=="Button")//枚举到按钮,有保存和取消按钮
{
pwnd->SendMessage(WM_GETTEXT,sizeof(BUF)/sizeof(TCHAR),(LPARAM)(void*)BUF);
//发消息得到按钮的标题
CString str=BUF;
str.TrimRight();
if(str=="保存(&S)")//如果是保存按钮
{
lstrcpy(BUF,(LPCTSTR)sPath);//sPath表示我们要设置的对话框浏览目录
//发消息设置文件名EDIT为我们的路径名
pedit->SendMessage(WM_SETTEXT,0,(LPARAM)BUF);
//发消息模拟点击保存按钮
::SendMessage(pwnd->GetSafeHwnd(),WM_LBUTTONDOWN,0,0);
::SendMessage(pwnd->GetSafeHwnd(),WM_LBUTTONUP,0,0);
}
}
}
pwnd = pwnd->GetNextWindow();
}
pedit->SendMessage(WM_SETTEXT,0,(LPARAM)filename);//发消息还原EDIT里的文件名
delete buf;
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径
- 修改已经打开的对话框的浏览路径-修改文件属性和查找指定窗口
- 浏览式的路径打开对话框
- 修改JFileChooser对话框风格,设置打开对话框的默认文件名,获取改变路径之后的文件保存路径
- 获取打开对话框的路径函数
- 如何打开指定路径的对话框
- 浏览对话框的实现
- MFC的浏览对话框
- 笔记 MFC 打开或者保存路径浏览对话框(CFileDialog)
- C++打开浏览目录返回所选择的目录路径
- 打开‘浏览文件“对话框
- window下打开文件选择对话框和浏览对话框的方式
- equals VS ==
- java - Class.getResource() and ClassLoader.getResource()
- c++中的explicit关键字
- .NET下的全/半角字符轉換
- oracle block 和windows 簇
- 修改已经打开的对话框的浏览路径
- 重载与桥接函数
- 在Linux下安装Oracle Database 9i
- 求表中每行數據結果欄位的累加值
- 优化你的数据库
- 纠错的说
- Concurrent 介绍一
- Concurrent 二
- Concurrent 三