导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC++技术资源

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆| 已知一个打开对话框的句柄,怎样设置它浏览的路径?

zyl910 广州华资软件技术有限公司 开发组长/高级工程师/技术专家  2002-07-25 09:25:57
已知一个打开对话框的句柄,怎样设置它浏览的路径?
...全文
29 点赞 收藏 21
写回复
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyl910 2002-07-27
看错了
CDM_……消息是WM_USER+100+n
回复
zyl910 2002-07-27
有谁用过Folder Cache没有?

http://www.nesoft.org/foldercache/fc_setup.exe
Folder Cache
  安装Folder Cache后会在打开/保存对话框中增加一个新的按钮,点击这个按钮会列出最近使用过的文件夹列表,并且可以向这个列表中添加自己常用的文件夹,还可以自由设置列表显示的文件夹数量 ……



同时我在用Spy查看打开对话框的时候发现了一条WM_USER+7的消息
可是CDM_……只到了WM_USER+6
那是什么消息?
回复
zyl910 2002-07-27
up
回复
siphonelee 2002-07-26
up
回复
zyl910 2002-07-26
你能写个例子吗?
假设打开对话框的句柄是OpenDlghWnd
回复
zyl910 2002-07-26
不明白

它与工具栏按键、注册表有什么关系
(COM方面我还没学)
回复
kimryo 2002-07-26
设置回掉没用的。。。你最多用一下WM_USER+3103这个消息。


中间那个SysListView32是impl了IShellBrowser的,你只有做Browser Extension了!

详见:http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/ext/tutorials/button.asp
回复
zyl910 2002-07-26
To rokia(斬釘截鐵):
我是想在Win98做一个像Win2000那样的打开对话框
可以左侧的列表中选择目录
回复
zyl910 2002-07-26
不是设置启动路径

而是 对话框打开时 动态设置浏览路径
      ★★ ★★★★
回复
rokia 2002-07-26
我剛剛做了一個帶圖像預覽的文件打開框。 不過基本上全都是自己做的。所以沒有碰到你的問題。

如果你是從filedialog繼承來的話,為什麼還要自己設置路徑?
回复
zyl910 2002-07-26
设置OPENFILENAME结构的lpfnHook属性可以设置回调函数

在回调函数中响应消息可以扩展 打开/保存对话框的功能
比如可以加上图像预览的功能(我写的:http://zyl910vb.51.net/vb/wdzp/MyOpenDlg.htm,注意下载后把*.zip.jpg改名成*.zip)


现在发现MSDN没有对 在对话框打开时 设置浏览路径的方法!

所以才跑到这里问!
回复
zyl910 2002-07-26
回复人: zyl910(910:分儿,我来了!) (L2002) ( ) 信誉:93 2002-07-25 21:48:00 得分:0


对话框打开时!

我是想在Win98做一个像Win2000那样的打开对话框
可以列表中选择目录

回调函数已经设置好了
★★★★★★★★★★
打开对话框是OFN_EXPLORER风格
回复
papaya_stone 2002-07-26
在对话框打开之前设置:
CFileDialog dlg;
dlg.m_ofn.lpstrInitialDir="C:\\Windows"
dlg.DoModal();

否则只有用钩子截获对话框打开时的消息,在他显示之前改变他的墨认路径。
只是说说我也没有做过。
回复
zyl910 2002-07-26
你们不要这样好不好!

设置lpstrInitialDir不可能修改路径(因为对话框已打开!)
就算这样能行,那它内部是怎么处理的?
你们说的清吗?


这几天把MSDN翻遍了
只找到CDM_GETFOLDERPATH消息可得到浏览的路径
但没有对应的CDM_SETFOLDERPATH
所以才到这里问
回复
zyl910 2002-07-25
对话框已经打开了

设置lpstrInitialDir还有可能改变浏览路径吗?!
回复
papaya_stone 2002-07-25
CFileDialog dlg;
dlg.FromHandle(hwnd)->m_ofn.lpstrInitialDir="C:\\Windows"
回复
zyl910 2002-07-25
直接调用GetOpenFileName


我是用VB写的
但估计在VB区没有人会
所以到这儿来问
回复
papaya_stone 2002-07-25
搞不懂。你的打开对话框没有从CFileDialog派生吗?完全是自己做的?
回复
zyl910 2002-07-25
对话框打开时!

我是想在Win98做一个像Win2000那样的打开对话框
可以列表中选择目录

回调函数已经设置好了
打开对话框是OFN_EXPLORER风格
回复
wltsui 2002-07-25
就是papaya_stone(^_^)shentong(^_^) 说的
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……