代码之家  ›  专栏  ›  技术社区  ›  fbrereto

自定义的Windows保存对话框不再新奇-为什么?

  •  2
  • fbrereto  · 技术社区  · 15 年前

    按照 this question 我正在使用自定义模板描述自定义Win32保存文件对话框。现在我遇到了一个问题,即“保存文件”对话框没有显示我的计算机的左侧栏、最近的位置等。我可以确认,删除自定义模板会使左侧栏恢复。我在做什么来保证它被移除?我怎样才能两者兼得?

    更新: 以下是我的一些代码:

    info.hInstance = MyGetModuleInstanceRoutine();
    info.lpfnHook = MyOFNHookProcRoutine;
    info.lpTemplateName = MAKEINTRESOURCEW(myCustomResourceID);
    info.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY | OFN_NOREADONLYRETURN |
                  OFN_ENABLESIZING | OFN_ENABLEHOOK | OFN_EXPLORER | OFN_ENABLETEMPLATE;
    
    ::GetSaveFileNameW(&info);
    

    笔记:

    • MyOFNHookProcRoutine
    • 我知道这面延伸的旗帜 OFN_EX_NOPLACESBAR 并且它未设置(即。 FlagsEx
    2 回复  |  直到 7 年前
        1
  •  1
  •   Community Tales Farias    7 年前

    RED SOFT ADAIR-StefanWoe :

    将WINVER和_WIN32_WINNT设置为一个值>=0x0500。

    Windows 2000的OPENFILENAME结构的大小增加了,额外的空间包括FlagsEx成员;显然,Windows采用了该标志 OFN_EX_NOPLACESBAR lStructSize 成员设置也正确。

        2
  •  1
  •   RED SOFT ADAIR    15 年前

    试用

    #define _WIN32_WINNT 0x0501 
    

    之前

    #include "windows.h"