zoukankan      html  css  js  c++  java
  • 缩略图视图中的通用文件对话框

    介绍 那里有所有这些图像预览文件对话框。自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副本,复制Code

    LRESULT 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*.bmp;*.dib;*.jpg;*.gif;*.png;*.ico" 
            "All Files*.*",//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

  • 相关阅读:
    并发容器梳理
    CAS总结
    原子类总结and-Git提交出现error: src refspec master does not match any的问题
    简单工厂模式小结
    JVM学习与问题总结——java内存区域与内存溢出异常
    反射机制学习记录
    观察者模式
    IDEA的一些常用设置
    建造者模式
    【[AH2017/HNOI2017]礼物】
  • 原文地址:https://www.cnblogs.com/Dincat/p/13450072.html
Copyright © 2011-2022 走看看