Click here to Skip to main content
15,936,709 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
In my MFC app (from VC6) I have a class dervied from CFileDialog for the purposes of customisation. I add a couple of check boxes in OnInitDialog and everything USED to work OK - on XP.

Now, compiling in VS2010 on Win7, this method no longer works and I guess I need to use IFileDialogCustomize and the like.

(I still need to support WinXP, so I'll need to do some sort of runtime check to see which customisation method to use).

However, I can't seem to get IFileDialogCustomize to be defined, even if I include <shobjidl.h>. Is it to do with my WIN_VER definition (0x0502)? How do I use IFileDialogCustomize and still support XP?

I got it to compile and work on Win7 - turned out to be my definition of NTDDI_VERSION (0x05010300 - WinXPSP3). But isn't that supposed to deinfe the minimum operating system? So the question remains, what is the 'proper' way to support CFileDialog customisation on Windows XP AND above...?
Updated 2-Jul-12 12:53pm

1 solution

Arrgh! Turns out it wasn't broken after all! Except that under XP, customising CFileDialog automatically resizes the Dlg, and Vista+ doesn't. My check boxes were there, I just had to manually make the dialog bigger so I could see them.
Share this answer
Albert Holguin 3-Jul-12 22:53pm    
I guess that's a good thing right?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900