Link to home
Start Free TrialLog in
Avatar of zafar030898
zafar030898

asked on

Accessing the windows inside CFilDialog...

Hi,

I would like to know if it is possible to access all the individual windows that are present inside the CFileDialog's Win32 common file dialog. I am particularly interested to know what value I should pass to the GetDlgItem() function to get to the Look &In drop down tree control (?) which lists the hierarchy of folders. I am aware of other values (ie., cmb1, edt1, lst1) but I don't know the rest. Can anyone please offer advice on this ?? Thank you

Zafar
ASKER CERTIFIED SOLUTION
Avatar of mikeblas
mikeblas

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of q_dawg
q_dawg

This works for all but the "SHELLDLL_DefView" and it's child "SysListView32" control.  If you want to hook the Space bar or something like that on the main list view,   for some reason GetDlgItem() doesn't work
I think you're actually referring to the "Places Bar".  That's a new feature of the newest shell--shipping with Windows 2000. The *.DLG files are still used for the rest of the client areas in the common dialogs, and there's no documented way to touch the list view control used for the places bar.

..B ekiM
Actually,  I was not referring to the "Places Bar",  but rather the ListView control with the files and their icons.  It turns out that the "SHELLDLL_DefView" and it's child "SysListView32" control get created AFTER the CDN_INITDONE notification message.  That's why I couldn't find them.  Even more interesting is that the "SysListView32" control gets destroyed and they re-created when you go up and down the folder heirarchy.  One ( not perfect ) solution is to check for the "SysListView32" contols' existance on the CDN_SELCHANGE and hook the control's proc then.