缩略图视图中的通用文件对话框

下载demo project - 107 Kb
下载FileDialogEx.H - included in demo - 0.8 Kb

介绍
那里有所有这些图像预览文件对话框。自Windows 2000缩略图视图模式以来,它们都已被弃用。(我的两个美分)。但是如何使对话框默认缩略视图?还有其他的观点吗?
背景
我张贴这个,因为它是我需要的东西。唯一的信息,我可以找到一些搜索是VB。感谢VBnet。这就是我对c++的采用。我使用的是WTL,但是MFC或任何其他C/ c++都可以从filedialog . h复制粘贴代码。
使用的代码
在ATL/WTL中,只需要包含filedialog . h并使用CFileDialogEx类,在此之前使用CFileDialog类。注意,最后添加的参数是一个枚举,表示需要的初始列表视图。它默认为SHVIEW_Default,意思是什么都不要做,让Windows顺其自然。在MFC和其他框架中,你应该钩住GetOpen/SaveFileDialog,并且在钩子例程中,覆盖WM_NOTIFY消息。在这里,执行CFileDialogEx::OnNotify所做的操作。确保链回默认处理,以免破坏文件对话框的功能。隐藏,Code//
// Any Example of an open Handler
//Hide副本,复制CodeLRESULT OnOpen(WORD /wNotifyCode/, WORD /wID/,
HWND /hWndCtl/, BOOL& /bHandled/)
{
CMyFileDialog fileDlg(
true , // TRUE for FileOpen, FALSE for FileSaveAs
.” , // LPCTSTR lpszDefExt = NULL,
NULL , //,LPCTSTR lpszFileName = NULL,
0 , //dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
“Images\0*.bmp;.dib;.jpg;.gif;.png;.ico\0"
"All Files\0
.*”,//LPCTSTR lpszFilter = NULL,
m_hWnd , //HWND hWndParent = NULL
SHVIEW_THUMBNAIL // which initial view
) ;

fileDlg.DoModal() ;
return 0 ;

}
的兴趣点
Windows通用文件对话框代码对文件列表“SHELLDLL_DefView”(OCX)做了一些有趣的事情。它会在文件对话框的生命周期内多次破坏和重建它。通常,该列表在CDN_INITDONE通知代码中是不可用的。这就是为什么代码会检查所有WM_NOTIFY列表的存在,直到找到它,然后它就不再存在了。发送到列表的WM_COMMAND代码是由spy++提取的,是可以在Windows的未来版本中被更改的魔法数字。好吧,我希望微软能够监视CodeProject站点,并保持它的正常运行。
最后,这个和前面在Code-Project上的文件对话框定制可以给用户高度的控制她/他的文件对话框。所以,下次当我看到一个具有64x64图像预览和默认图标视图的绘图程序时,我个人会对它们感到不满。现在他们没有什么好借口了。

本文转载于:http://www.diyabc.com/frontweb/news438.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值