mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 06:02:56 +00:00
[SHELL32] Handle the Progman Folder options message and tab switching support (#5574)
* Handle the "OnShowOptionsDlg" message * Support switching tabs * Update dll/win32/shell32/dialogs/folder_options.cpp * Update dll/win32/shell32/shelldesktop/CDesktopBrowser.cpp * ShowFolderOptionsDialog workaround * Added Vista pages, define for magic message --------- Co-authored-by: Stanislav Motylkov <x86corez@gmail.com> Co-authored-by: Thamatip Chitpong <weedgamer131@gmail.com>
This commit is contained in:
parent
5b82ada2ed
commit
8841e3d7ba
4 changed files with 84 additions and 9 deletions
|
@ -85,6 +85,7 @@ public:
|
|||
LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
||||
LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
||||
LRESULT OnGetChangeNotifyServer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
||||
LRESULT OnShowOptionsDlg(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
|
||||
|
||||
DECLARE_WND_CLASS_EX(szProgmanClassName, CS_DBLCLKS, COLOR_DESKTOP)
|
||||
|
||||
|
@ -98,6 +99,7 @@ BEGIN_MSG_MAP(CBaseBar)
|
|||
MESSAGE_HANDLER(WM_COMMAND, OnCommand)
|
||||
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
|
||||
MESSAGE_HANDLER(WM_DESKTOP_GET_CNOTIFY_SERVER, OnGetChangeNotifyServer)
|
||||
MESSAGE_HANDLER(WM_PROGMAN_OPENSHELLSETTINGS, OnShowOptionsDlg)
|
||||
END_MSG_MAP()
|
||||
|
||||
BEGIN_COM_MAP(CDesktopBrowser)
|
||||
|
@ -458,6 +460,26 @@ LRESULT CDesktopBrowser::OnGetChangeNotifyServer(UINT uMsg, WPARAM wParam, LPARA
|
|||
return (LRESULT)m_hwndChangeNotifyServer;
|
||||
}
|
||||
|
||||
extern VOID WINAPI ShowFolderOptionsDialog(UINT Page, BOOL Async);
|
||||
|
||||
LRESULT CDesktopBrowser::OnShowOptionsDlg(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
|
||||
{
|
||||
switch (wParam)
|
||||
{
|
||||
case 0:
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
case 2:
|
||||
case 7:
|
||||
#endif
|
||||
ShowFolderOptionsDialog((UINT)(UINT_PTR)wParam, TRUE);
|
||||
break;
|
||||
case 1:
|
||||
_NotifyTray(WM_COMMAND, TRAYCMD_TASKBAR_PROPERTIES, 0);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
HRESULT CDesktopBrowser_CreateInstance(IShellDesktopTray *Tray, REFIID riid, void **ppv)
|
||||
{
|
||||
return ShellObjectCreatorInit<CDesktopBrowser, IShellDesktopTray*>(Tray, riid, ppv);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue