2 * Implementation of IShellBrowser for the File Open common dialog
8 #define SHBROWSER_H TRUE
15 /***********************************************************************
16 * Defines and global variables
18 #define _ICOM_THIS_FromICommDlgBrowser(Class,name) Class* This = (Class*) (((char*)name)-sizeof(void *))
20 /* dialog internal property */
22 #define FODPROP_SAVEDLG 0x0001 /* File dialog is a Save file dialog */
23 #define FODPROP_USEVIEW 0x0002 /* Indicates the user selection must be taken
24 from the IShellView */
26 /***********************************************************************
34 ICOM_VTABLE(IShellBrowser)* lpVtbl; /* IShellBrowser VTable */
35 ICOM_VTABLE(ICommDlgBrowser)* lpVtbl2; /* ICommDlgBrowser VTable */
36 DWORD ref; /* Reference counter */
37 HWND hwndOwner; /* Owner dialog of the interface */
44 OPENFILENAMEA ofnInfos;
46 IShellBrowser *FOIShellBrowser;
47 IShellFolder *FOIShellFolder;
48 IShellView *FOIShellView;
55 FOLDERSETTINGS folderSettings;
56 LPITEMIDLIST pidlAbsCurrent;
57 LPWSTR lpstrCurrentFilter;
71 /***********************************************************************
74 #define IDS_ABOUTBOX 101
75 #define IDS_DOCUMENTFOLDERS 102
76 #define IDS_PERSONAL 103
77 #define IDS_FAVORITES 104
79 #define IDS_DESKTOP 106
82 #define IDS_MYCOMPUTER 110
83 #define IDS_SYSTEMFOLDERS 112
84 #define IDS_LOCALHARDRIVES 113
85 #define IDS_FILENOTFOUND 114
86 #define IDS_VERIFYFILE 115
87 #define IDS_CREATEFILE 116
88 #define IDS_CREATEFOLDER_DENIED 117
89 #define IDS_FILEOPEN_CAPTION 118
91 #define IDC_OPENREADONLY chx1
93 #define IDC_TOOLBARSTATIC stc1
94 #define IDC_FILETYPESTATIC stc2
95 #define IDC_FILENAMESTATIC stc3
96 #define IDC_LOOKINSTATIC stc4
98 #define IDC_SHELLSTATIC lst1
100 #define IDC_FILETYPE cmb1
101 #define IDC_LOOKIN cmb2
103 #define IDC_FILENAME edt1
105 #define IDC_TOOLBAR ctl1
107 /***********************************************************************
108 * Prototypes for the methods of the IShellBrowserImpl class
111 IShellBrowser * IShellBrowserImpl_Construct(HWND hwndOwner);
114 HRESULT WINAPI IShellBrowserImpl_QueryInterface(IShellBrowser *iface,
118 ULONG WINAPI IShellBrowserImpl_AddRef(IShellBrowser * iface);
120 ULONG WINAPI IShellBrowserImpl_Release(IShellBrowser * iface);
123 HRESULT WINAPI IShellBrowserImpl_GetWindow(IShellBrowser * iface,
126 HRESULT WINAPI IShellBrowserImpl_ContextSensitiveHelp(IShellBrowser * iface,
131 HRESULT WINAPI IShellBrowserImpl_BrowseObject(IShellBrowser *iface,
135 HRESULT WINAPI IShellBrowserImpl_EnableModelessSB(IShellBrowser *iface,
138 HRESULT WINAPI IShellBrowserImpl_GetControlWindow(IShellBrowser *iface,
142 HRESULT WINAPI IShellBrowserImpl_GetViewStateStream(IShellBrowser *iface,
146 HRESULT WINAPI IShellBrowserImpl_InsertMenusSB(IShellBrowser *iface,
148 LPOLEMENUGROUPWIDTHS lpMenuWidths);
150 HRESULT WINAPI IShellBrowserImpl_OnViewWindowActive(IShellBrowser *iface,
154 HRESULT WINAPI IShellBrowserImpl_QueryActiveShellView(IShellBrowser *iface,
157 HRESULT WINAPI IShellBrowserImpl_RemoveMenusSB(IShellBrowser *iface,
160 HRESULT WINAPI IShellBrowserImpl_SendControlMsg(IShellBrowser *iface,
167 HRESULT WINAPI IShellBrowserImpl_SetMenuSB(IShellBrowser *iface,
169 HOLEMENU holemenuReserved,
170 HWND hwndActiveObject);
172 HRESULT WINAPI IShellBrowserImpl_SetStatusTextSB(IShellBrowser *iface,
173 LPCOLESTR lpszStatusText);
176 HRESULT WINAPI IShellBrowserImpl_SetToolbarItems(IShellBrowser *iface,
177 LPTBBUTTON lpButtons,
181 HRESULT WINAPI IShellBrowserImpl_TranslateAcceleratorSB(IShellBrowser *iface,
186 /* ICommDlgBrowser */
188 HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_QueryInterface(ICommDlgBrowser *iface,
192 ULONG WINAPI IShellBrowserImpl_ICommDlgBrowser_AddRef(ICommDlgBrowser * iface);
194 ULONG WINAPI IShellBrowserImpl_ICommDlgBrowser_Release(ICommDlgBrowser * iface);
196 HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser *iface,
199 HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnStateChange(ICommDlgBrowser *iface,
203 HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_IncludeObject(ICommDlgBrowser *iface,
209 LPITEMIDLIST GetSelectedPidl(IShellView *ppshv);
211 #endif /*SHBROWSER_H*/