ReactOS 0.4.15-dev-7924-g5949c20
StartMenuHandler Struct Reference

Handling of standard start menu commands. More...

#include <startmenu.h>

Inheritance diagram for StartMenuHandler:
Collaboration diagram for StartMenuHandler:

Public Types

typedef StartMenu super
 
- Public Types inherited from StartMenu
typedef ExtContextMenuHandlerT< OwnerDrawParent< DialogWindow > > super
 
- Public Types inherited from ExtContextMenuHandlerT< OwnerDrawParent< DialogWindow > >
typedef OwnerDrawParent< DialogWindowsuper
 
- Public Types inherited from OwnerDrawParent< DialogWindow >
typedef DialogWindow super
 
- Public Types inherited from DialogWindow
typedef Window super
 
- Public Types inherited from Window
typedef map< HWND, Window * > WindowMap
 
typedef Window *(* CREATORFUNC) (HWND)
 
typedef Window *(* CREATORFUNC_INFO) (HWND, const void *)
 

Public Member Functions

 StartMenuHandler (HWND hwnd, int icon_size=ICON_SIZE_SMALL)
 
 StartMenuHandler (HWND hwnd, const StartMenuCreateInfo &create_info, int icon_size=ICON_SIZE_SMALL)
 
- Public Member Functions inherited from StartMenu
 StartMenu (HWND hwnd, int icon_size=ICON_SIZE_SMALL)
 
 StartMenu (HWND hwnd, const StartMenuCreateInfo &create_info, int icon_size=ICON_SIZE_SMALL)
 
 ~StartMenu ()
 
- Public Member Functions inherited from ExtContextMenuHandlerT< OwnerDrawParent< DialogWindow > >
 ExtContextMenuHandlerT (HWND hwnd)
 
 ExtContextMenuHandlerT (HWND hwnd, const PARA &info)
 
LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
- Public Member Functions inherited from OwnerDrawParent< DialogWindow >
 OwnerDrawParent (HWND hwnd)
 
LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
- Public Member Functions inherited from DialogWindow
 DialogWindow (HWND hwnd)
 
 ~DialogWindow ()
 
- Public Member Functions inherited from Window
 Window (HWND hwnd)
 
virtual ~Window ()
 
LRESULT SendParent (UINT nmsg, WPARAM wparam=0, LPARAM lparam=0)
 
LRESULT PostParent (UINT nmsg, WPARAM wparam=0, LPARAM lparam=0)
 
 Window (INT cx, INT cy, BOOL fAutoHide=FALSE)
 
virtual ~Window ()
 
virtual LRESULT CALLBACK WindowProcDx (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
void DoAction ()
 

Protected Member Functions

int Command (int id, int code)
 
- Protected Member Functions inherited from StartMenu
LRESULT Init (LPCREATESTRUCT pcs)
 
LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
int Command (int id, int code)
 
void ResizeButtons (int cx)
 
virtual void AddEntries ()
 
ShellEntryMap::iterator AddEntry (const String &title, ICON_ID icon_id, Entry *entry)
 
ShellEntryMap::iterator AddEntry (const String &title, ICON_ID icon_id=ICID_NONE, int id=-1)
 
ShellEntryMap::iterator AddEntry (const ShellFolder folder, ShellEntry *entry)
 
ShellEntryMap::iterator AddEntry (const ShellFolder folder, Entry *entry)
 
void AddShellEntries (const ShellDirectory &dir, int max=-1, const String &ignore="")
 
void AddButton (LPCTSTR title, ICON_ID icon_id=ICID_NONE, bool hasSubmenu=false, int id=-1, bool enabled=true)
 
void AddSeparator ()
 
bool CloseSubmenus ()
 
bool CloseOtherSubmenus (int id=0)
 
void CreateSubmenu (int id, LPCTSTR title, CREATORFUNC_INFO creator=s_def_creator, void *info=NULL)
 
bool CreateSubmenu (int id, int folder, LPCTSTR title, CREATORFUNC_INFO creator=s_def_creator, void *info=NULL)
 
bool CreateSubmenu (int id, int folder1, int folder2, LPCTSTR title, CREATORFUNC_INFO creator=s_def_creator, void *info=NULL)
 
void CreateSubmenu (int id, const StartMenuFolders &new_folders, LPCTSTR title, CREATORFUNC_INFO creator=s_def_creator, void *info=NULL)
 
void ActivateEntry (int id, const ShellEntrySet &entries)
 
virtual void CloseStartMenu (int id=0)
 close all windows of the start menu popup
 
bool GetButtonRect (int id, PRECT prect) const
 
void DrawFloatingButton (HDC hdc)
 
void GetFloatingButtonRect (LPRECT prect)
 
void GetArrowButtonRects (LPRECT prect_up, LPRECT prect_down, int icon_size)
 
void DrawArrows (HDC hdc, int icon_size)
 
void Paint (PaintCanvas &canvas)
 
void UpdateIcons ()
 
- Protected Member Functions inherited from Window
virtual LRESULT Init (LPCREATESTRUCT pcs)
 
virtual LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
virtual int Command (int id, int code)
 
virtual int Notify (int id, NMHDR *pnmh)
 
void OnCommand (HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
 
void OnPaint (HWND hwnd)
 
void OnRButtonDown (HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags)
 
void OnKey (HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags)
 
void OnAppBarCallback (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
BOOL AppBar_Register (HWND hwnd)
 
BOOL AppBar_UnRegister (HWND hwnd)
 
BOOL AppBar_SetAutoHide (HWND hwnd, BOOL fHide)
 
BOOL AppBar_AutoHide (HWND hwnd)
 
BOOL AppBar_NoAutoHide (HWND hwnd)
 
BOOL AppBar_SetSide (HWND hwnd, UINT uSide)
 
void AppBar_SetAlwaysOnTop (HWND hwnd, BOOL fOnTop)
 
void AppBar_Hide (HWND hwnd)
 
void AppBar_UnHide (HWND hwnd)
 
void AppBar_SetAutoHideTimer (HWND hwnd)
 
void AppBar_SetAutoUnhideTimer (HWND hwnd)
 
void AppBar_Size (HWND hwnd)
 
void AppBar_QueryPos (HWND hwnd, LPRECT lprc)
 
void AppBar_QuerySetPos (UINT uEdge, LPRECT lprc, PAPPBARDATA pabd, BOOL fMove)
 
void AppBar_PosChanged (PAPPBARDATA pabd)
 
BOOL OnCreate (HWND hwnd, LPCREATESTRUCT lpCreateStruct)
 
void OnActivate (HWND hwnd, UINT state, HWND hwndActDeact, BOOL fMinimized)
 
void OnWindowPosChanged (HWND hwnd, const LPWINDOWPOS lpwpos)
 
void OnSize (HWND hwnd, UINT state, int cx, int cy)
 
void OnMove (HWND hwnd, int x, int y)
 
void OnNCDestroy (HWND hwnd)
 
void OnTimer (HWND hwnd, UINT id)
 
UINT OnNCHitTest (HWND hwnd, int x, int y)
 
void OnLButtonDown (HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags)
 
void OnMouseMove (HWND hwnd, int x, int y, UINT keyFlags)
 
void OnLButtonUp (HWND hwnd, int x, int y, UINT keyFlags)
 
void GetWorkArea (LPRECT prc) const
 

Static Protected Member Functions

static void ShowLaunchDialog (HWND hwndOwner)
 
static void ShowLogoffDialog (HWND hwndOwner)
 
static void ShowRestartDialog (HWND hwndOwner, UINT flags)
 
static void ShowSearchDialog ()
 
static void ShowSearchComputer ()
 
- Static Protected Member Functions inherited from StartMenu
static BtnWindowClassGetWndClasss ()
 
- Static Protected Member Functions inherited from Window
static Windowcreate_controller (HWND hwnd)
 create controller for a new window
 
static StaticWindowDataGetStaticWindowData ()
 
static LRESULT CALLBACK MDICBTHookProc (int code, WPARAM wparam, LPARAM lparam)
 
static LRESULT CALLBACK PropSheetCBTHookProc (int code, WPARAM wparam, LPARAM lparam)
 

Additional Inherited Members

- Static Public Member Functions inherited from StartMenu
static HWND Create (int x, int y, const StartMenuFolders &, HWND hwndParent, LPCTSTR title, CREATORFUNC_INFO creator=s_def_creator, void *info=NULL, const String &filter="")
 
- Static Public Member Functions inherited from Window
static HWND Create (CREATORFUNC creator, DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int w, int h, HWND hwndParent=0, HMENU hMenu=0)
 
static HWND Create (CREATORFUNC_INFO creator, const void *info, DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int w, int h, HWND hwndParent=0, HMENU hMenu=0)
 
static Windowcreate_mdi_child (const ChildWndInfo &info, const MDICREATESTRUCT &mcs, CREATORFUNC_INFO creator)
 
static LRESULT CALLBACK WindowWndProc (HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
 
static INT_PTR CALLBACK DialogProc (HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam)
 
static Windowget_window (HWND hwnd)
 get window controller from window handle
 
template<typename CLASS >
static CLASS * get_window (HWND hwnd)
 
static void register_pretranslate (HWND hwnd)
 
static void unregister_pretranslate (HWND hwnd)
 
static BOOL pretranslate_msg (LPMSG pmsg)
 
static void register_dialog (HWND hwnd)
 
static void unregister_dialog (HWND hwnd)
 
static BOOL dispatch_dialog_msg (LPMSG pmsg)
 
static int MessageLoop ()
 
static void CancelModes ()
 
static BOOL DoRegisterClass (HINSTANCE hInstance)
 
static HWND DoCreateMainWnd (HINSTANCE hInstance, LPCTSTR pszText, INT cx, INT cy, DWORD style=WS_POPUP|WS_THICKFRAME|WS_CLIPCHILDREN, DWORD exstyle=WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST, BOOL fAutoHide=FALSE)
 
static INT DoMainLoop ()
 
static WindowGetAppbarData (HWND hwnd)
 
static LRESULT CALLBACK WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static DWORD WINAPI ActionThreadFunc (LPVOID args)
 
- Public Attributes inherited from Window
IAccessible IAccessible_iface
 
IOleWindow IOleWindow_iface
 
IEnumVARIANT IEnumVARIANT_iface
 
LONG ref
 
- Static Public Attributes inherited from StartMenu
static CREATORFUNC_INFO s_def_creator = STARTMENU_CREATOR(StartMenu)
 
- Protected Types inherited from StartMenu
enum  SCROLL_MODE { SCROLL_NOT , SCROLL_UP , SCROLL_DOWN }
 
- Protected Attributes inherited from StartMenu
int _next_id
 
ShellEntryMap _entries
 
StartMenuShellDirs _dirs
 
int _submenu_id
 
WindowHandle _submenu
 
int _border_left
 
int _border_top
 
int _bottom_max
 
bool _floating_btn
 
bool _arrow_btns
 
POINT _last_pos
 
enum StartMenu::SCROLL_MODE _scroll_mode
 
int _scroll_pos
 
int _invisible_lines
 
StartMenuCreateInfo _create_info
 
int _icon_size
 
- Protected Attributes inherited from ExtContextMenuHandlerT< OwnerDrawParent< DialogWindow > >
CtxMenuInterfaces _cm_ifs
 
- Protected Attributes inherited from Window
HWND m_hwnd
 
BOOL m_fAutoHide
 
BOOL m_fOnTop
 
BOOL m_fHiding
 
UINT m_uSide
 
LONG m_cxWidth
 
LONG m_cyHeight
 
LONG m_cxSave
 
LONG m_cySave
 
BOOL m_fAppBarRegd
 
BOOL m_fMoving
 
BOOL m_bDragged
 
POINT m_ptDragOn
 
RECT m_rcAppBar
 
RECT m_rcDrag
 
- Static Protected Attributes inherited from Window
static WindowMap s_wnd_map
 
static const voids_new_info = NULL
 
static CREATORFUNC s_window_creator = NULL
 
static HHOOK s_hcbtHook = 0
 
static WindowSet s_pretranslate_windows
 
static WindowSet s_dialogs
 

Detailed Description

Handling of standard start menu commands.

Definition at line 332 of file startmenu.h.

Member Typedef Documentation

◆ super

Definition at line 334 of file startmenu.h.

Constructor & Destructor Documentation

◆ StartMenuHandler() [1/2]

StartMenuHandler::StartMenuHandler ( HWND  hwnd,
int  icon_size = ICON_SIZE_SMALL 
)
inline

Definition at line 336 of file startmenu.h.

338 {
339 }
iconPos iconPos icon_size
Definition: startmenu.cpp:1416
StartMenu super
Definition: startmenu.h:334
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023

◆ StartMenuHandler() [2/2]

StartMenuHandler::StartMenuHandler ( HWND  hwnd,
const StartMenuCreateInfo create_info,
int  icon_size = ICON_SIZE_SMALL 
)
inline

Definition at line 341 of file startmenu.h.

342 : super(hwnd, create_info, icon_size)
343 {
344 }

Member Function Documentation

◆ Command()

int StartMenuHandler::Command ( int  id,
int  code 
)
protectedvirtual
Todo:
use printer start menu folder per default and allow opening "printers" cabinet window using the context menu
Todo:
to be removed when network browsing will be implemented in shell namespace
Todo:
exclude removable drives

Reimplemented from StartMenu.

Reimplemented in StartMenuRoot.

Definition at line 1849 of file startmenu.cpp.

1850{
1851 switch(id) {
1852
1853 // start menu root
1854
1855 case IDC_PROGRAMS:
1857 break;
1858
1859 case IDC_EXPLORE:
1860 CloseStartMenu(id);
1862 break;
1863
1864 case IDC_LAUNCH:
1865 CloseStartMenu(id);
1867 break;
1868
1869 case IDC_DOCUMENTS:
1871 break;
1872
1873 case IDC_RECENT:
1875 break;
1876
1877 case IDC_FAVORITES:
1878#ifndef _SHELL32_FAVORITES
1880#else
1882#endif
1883 break;
1884
1885 case IDC_BROWSE:
1887 break;
1888
1889 case IDC_SETTINGS:
1891 break;
1892
1893 case IDC_SEARCH:
1895 break;
1896
1897 case IDC_START_HELP:
1898 CloseStartMenu(id);
1899 MessageBox(g_Globals._hwndDesktopBar, TEXT("Help not yet implemented"), ResString(IDS_TITLE), MB_OK);
1900 break;
1901
1902 case IDC_LOGOFF:
1903 CloseStartMenu(id);
1905 break;
1906
1907#ifndef __REACTOS__
1908 case IDC_TERMINATE:
1911 break;
1912#endif
1913
1914 case IDC_SHUTDOWN:
1915 CloseStartMenu(id);
1917 break;
1918
1919 case IDC_RESTART:
1920 CloseStartMenu(id);
1922 /* An alternative way to do restart without shell32 help */
1923 //launch_file(_hwnd, TEXT("shutdown.exe"), SW_HIDE, TEXT("-r"));
1924 break;
1925
1926 // settings menu
1927
1929 CloseStartMenu(id);
1931 break;
1932
1933 case IDC_CONTROL_PANEL: {
1934 CloseStartMenu(id);
1935#ifndef ROSSHELL
1936#ifndef _NO_MDI
1937 XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
1938 bool mdi = XMLBool(explorer_options, "mdi", true);
1939
1940 if (mdi)
1941 MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
1942 else
1943#endif
1944 SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}"), 0);
1945#else
1947#endif
1948 break;}
1949
1950 case IDC_SETTINGS_MENU:
1952 break;
1953
1954 case IDC_PRINTERS: {
1955 CloseStartMenu(id);
1956
1957#ifndef ROSSHELL
1958#ifndef _NO_MDI
1959 XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
1960 bool mdi = XMLBool(explorer_options, "mdi", true);
1961
1962 if (mdi)
1963 MDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}"), 0);
1964 else
1965#endif
1966 SDIMainFrame::Create(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}"), 0);
1967#else
1969#endif
1970 break;}
1971
1972#if 0
1973 case IDC_PRINTERS_MENU:
1975/* StartMenuFolders new_folders;
1976
1977 try {
1978 new_folders.push_back(ShellPath(TEXT("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}")));
1979 } catch(COMException&) {
1980 }
1981
1982 CreateSubmenu(id, new_folders, ResString(IDS_PRINTERS));*/
1983 break;
1984#endif
1985
1986 case IDC_ADMIN:
1987#ifndef ROSSHELL
1989 //CloseStartMenu(id);
1990 //MainFrame::Create(SpecialFolderPath(CSIDL_COMMON_ADMINTOOLS, _hwnd), OWM_PIDL);
1991#else
1993#endif
1994 break;
1995
1996 case IDC_CONNECTIONS:{
1997 CloseStartMenu(id);
1998#ifndef ROSSHELL
1999#ifndef _NO_MDI
2000 XMLPos explorer_options = g_Globals.get_cfg("general/explorer");
2001 bool mdi = XMLBool(explorer_options, "mdi", true);
2002
2003 if (mdi)
2005 else
2006#endif
2008#else
2010#endif
2011 break;}
2012
2013
2014 // browse menu
2015
2016 case IDC_NETWORK:
2017#ifdef __REACTOS__
2018 MessageBox(0, TEXT("not yet implemented"), ResString(IDS_TITLE), MB_OK);
2019#else
2021#endif
2022 break;
2023
2024 case IDC_DRIVES:
2027 break;
2028
2029
2030 // search menu
2031
2032 case IDC_SEARCH_PROGRAM:
2033 CloseStartMenu(id);
2035 break;
2036
2037 case IDC_SEARCH_FILES:
2038 CloseStartMenu(id);
2040 break;
2041
2043 CloseStartMenu(id);
2045 break;
2046
2047
2048 default:
2049 return super::Command(id, code);
2050 }
2051
2052 return 0;
2053}
#define IDS_TITLE
Definition: resource.h:30
#define IDS_PROGRAMS
Definition: resource.h:69
#define IDC_BROWSE
Definition: resource.h:21
#define IDC_SETTINGS
Definition: desktopbar.h:44
#define IDC_PRINTERS
Definition: desktopbar.h:56
#define IDC_CONNECTIONS
Definition: desktopbar.h:52
#define IDC_SEARCH_COMPUTER
Definition: desktopbar.h:43
#define IDC_RESTART
Definition: desktopbar.h:62
#define IDC_FAVORITES
Definition: desktopbar.h:48
#define IDC_EXPLORE
Definition: desktopbar.h:50
#define IDC_PROGRAMS
Definition: desktopbar.h:49
#define IDC_SETTINGS_MENU
Definition: desktopbar.h:55
#define IDC_PRINTERS_MENU
Definition: desktopbar.h:57
#define IDC_SHUTDOWN
Definition: desktopbar.h:39
#define IDC_LAUNCH
Definition: desktopbar.h:40
#define IDC_DOCUMENTS
Definition: desktopbar.h:46
#define IDC_SEARCH_FILES
Definition: desktopbar.h:42
#define IDC_TERMINATE
Definition: desktopbar.h:61
#define IDC_SEARCH
Definition: desktopbar.h:60
#define IDC_RECENT
Definition: desktopbar.h:47
#define IDC_NETWORK
Definition: desktopbar.h:51
#define IDC_ADMIN
Definition: desktopbar.h:45
#define IDC_LOGOFF
Definition: desktopbar.h:38
#define IDC_SEARCH_PROGRAM
Definition: desktopbar.h:59
#define IDC_DRIVES
Definition: desktopbar.h:53
#define IDC_CONTROL_PANEL
Definition: desktopbar.h:54
#define IDC_START_HELP
Definition: desktopbar.h:41
#define IDS_FAVORITES
Definition: resource.h:35
#define IDS_SEARCH
Definition: resource.h:34
#define IDS_SETTINGS
Definition: resource.h:16
#define IDS_BROWSE
Definition: resource.h:27
void ShowExitWindowsDialog(HWND hwndOwner)
Definition: startmenu.cpp:2128
#define TEXT(s)
Definition: k32.h:26
void ExplorerPropertySheet(HWND hparent)
Definition: settings.cpp:37
ExplorerGlobals g_Globals
Definition: explorer.cpp:52
void explorer_show_frame(int cmdShow, LPTSTR lpCmdLine)
Definition: explorer.cpp:707
#define IDD_SEARCH_PROGRAM
Definition: resource.h:61
#define ID_DESKTOPBAR_SETTINGS
Definition: resource.h:205
#define IDS_DRIVES
Definition: resource.h:22
#define IDS_SETTINGS_MENU
Definition: resource.h:24
#define IDS_NETWORK
Definition: resource.h:20
#define IDS_DOCUMENTS
Definition: resource.h:12
#define IDS_ADMIN
Definition: resource.h:19
BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow, LPCTSTR parameters)
Definition: utility.cpp:189
#define WINDOW_CREATOR(WND_CLASS)
Definition: window.h:202
#define CSIDL_RECENT
Definition: shlobj.h:2166
#define CSIDL_ADMINTOOLS
Definition: shlobj.h:2205
#define CSIDL_PERSONAL
Definition: shlobj.h:2163
#define CSIDL_FAVORITES
Definition: shlobj.h:2164
#define CSIDL_COMMON_PROGRAMS
Definition: shlobj.h:2180
#define CSIDL_COMMON_FAVORITES
Definition: shlobj.h:2188
#define CSIDL_PRINTERS
Definition: shlobj.h:2162
#define CSIDL_NETWORK
Definition: shlobj.h:2175
#define CSIDL_PROGRAMS
Definition: shlobj.h:2160
#define CSIDL_PRINTHOOD
Definition: shlobj.h:2184
#define CSIDL_DRIVES
Definition: shlobj.h:2174
#define CSIDL_CONTROLS
Definition: shlobj.h:2161
#define CSIDL_COMMON_ADMINTOOLS
Definition: shlobj.h:2204
#define IDS_RECENT
Definition: shresdef.h:90
#define IDS_PRINTERS
Definition: shresdef.h:276
#define SHELLPATH_NET_CONNECTIONS
Definition: startmenu.cpp:44
#define SHELLPATH_CONTROL_PANEL
Definition: startmenu.cpp:42
#define SHELLPATH_PRINTERS
Definition: startmenu.cpp:43
#define STARTMENU_CREATOR(WND_CLASS)
Definition: startmenu.h:149
"Browse Files..." sub-start menu
Definition: startmenu.h:412
static int DoModal(UINT nid, CREATORFUNC creator, HWND hwndParent=0)
Definition: window.cpp:701
HWND _hwndDesktopBar
Definition: globals.h:287
XMLPos get_cfg()
Definition: explorer.cpp:119
Favorites _favorites
Definition: globals.h:297
HWND _hwndDesktop
Definition: globals.h:289
Bookmarks sub-startmenu.
Definition: startmenu.h:463
Dialog to work with the complete list of start menu entries.
Definition: searchprogram.h:79
static HWND Create()
Definition: mainframe.cpp:866
"Recent Files" sub-start menu
Definition: startmenu.h:444
convenient loading of string resources
Definition: globals.h:304
static HWND Create()
Definition: mainframe.cpp:1342
Search sub-startmenu.
Definition: startmenu.h:427
Settings sub-startmenu.
Definition: startmenu.h:397
file system path of special folder
static void ShowLaunchDialog(HWND hwndOwner)
Definition: startmenu.cpp:2107
static void ShowRestartDialog(HWND hwndOwner, UINT flags)
Definition: startmenu.cpp:2138
static void ShowSearchComputer()
Definition: startmenu.cpp:2068
static void ShowSearchDialog()
Definition: startmenu.cpp:2056
static void ShowLogoffDialog(HWND hwndOwner)
Definition: startmenu.cpp:2113
void CreateSubmenu(int id, LPCTSTR title, CREATORFUNC_INFO creator=s_def_creator, void *info=NULL)
Definition: startmenu.cpp:1217
virtual void CloseStartMenu(int id=0)
close all windows of the start menu popup
Definition: startmenu.cpp:1361
int Command(int id, int code)
Definition: startmenu.cpp:1041
Definition: inflate.c:139
#define SW_SHOWNORMAL
Definition: winuser.h:770
#define EWX_REBOOT
Definition: winuser.h:638
#define MB_OK
Definition: winuser.h:790
#define MessageBox
Definition: winuser.h:5822
BOOL WINAPI DestroyWindow(_In_ HWND)

Referenced by StartMenuRoot::Command().

◆ ShowLaunchDialog()

void StartMenuHandler::ShowLaunchDialog ( HWND  hwndOwner)
staticprotected

Definition at line 2107 of file startmenu.cpp.

2108{
2109 RunDialogThread * rdt = new RunDialogThread();
2110 rdt->Start();
2111}

Referenced by Command().

◆ ShowLogoffDialog()

void StartMenuHandler::ShowLogoffDialog ( HWND  hwndOwner)
staticprotected

Definition at line 2113 of file startmenu.cpp.

2114{
2115 static DynamicFct<LOGOFFWINDOWSDIALOG> LogoffWindowsDialog(TEXT("SHELL32"), 54);
2116// static DynamicFct<RESTARTWINDOWSDLG> RestartDialog(TEXT("SHELL32"), 59);
2117
2119 (*LogoffWindowsDialog)(0);
2120/* The RestartDialog function prompts about some system setting change. This is not what we want to display here.
2121 else if (RestartDialog)
2122 return (*RestartDialog)(hwndOwner, (LPWSTR)L"You selected <Log Off>.\n\n", EWX_LOGOFF) == 1; ///@todo ANSI string conversion if needed
2123*/
2124 else
2125 MessageBox(hwndOwner, TEXT("LogoffWindowsDialog() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
2126}
EXTERN_C int WINAPI LogoffWindowsDialog(HWND hWndOwner)
Definition: dialogs.cpp:1545

Referenced by Command().

◆ ShowRestartDialog()

void StartMenuHandler::ShowRestartDialog ( HWND  hwndOwner,
UINT  flags 
)
staticprotected

Definition at line 2138 of file startmenu.cpp.

2139{
2140 static DynamicFct<RESTARTWINDOWSDLG> RestartDlg(TEXT("SHELL32"), 59);
2141
2142 if (RestartDlg)
2143 (*RestartDlg)(hwndOwner, (LPWSTR)L"You selected restart.\n\n", flags);
2144 else
2145 MessageBox(hwndOwner, TEXT("RestartDlg() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
2146}
GLbitfield flags
Definition: glext.h:7161
#define L(x)
Definition: ntvdm.h:50
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by Command().

◆ ShowSearchComputer()

void StartMenuHandler::ShowSearchComputer ( )
staticprotected
Todo:
to be removed when SHFindComputer() will be implemented in shell32.dll

Definition at line 2068 of file startmenu.cpp.

2069{
2070#ifndef __REACTOS__
2071 static DynamicFct<SHFINDCOMPUTER> SHFindComputer(TEXT("SHELL32"), 91);
2072
2073 if (SHFindComputer)
2074 (*SHFindComputer)(NULL, NULL);
2075 else
2076#endif
2077 MessageBox(0, TEXT("SHFindComputer() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
2078}
#define NULL
Definition: types.h:112
EXTERN_C BOOL WINAPI SHFindComputer(LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
Definition: utils.cpp:740

Referenced by Command().

◆ ShowSearchDialog()

void StartMenuHandler::ShowSearchDialog ( )
staticprotected
Todo:
to be removed when SHFindFiles() will be implemented in shell32.dll

Definition at line 2056 of file startmenu.cpp.

2057{
2058#ifndef __REACTOS__
2059 static DynamicFct<SHFINDFILES> SHFindFiles(TEXT("SHELL32"), 90);
2060
2061 if (SHFindFiles)
2062 (*SHFindFiles)(NULL, NULL);
2063 else
2064#endif
2065 MessageBox(0, TEXT("SHFindFiles() not yet implemented in SHELL32"), ResString(IDS_TITLE), MB_OK);
2066}
BOOL WINAPI SHFindFiles(PCIDLIST_ABSOLUTE pidlFolder, PCIDLIST_ABSOLUTE pidlSaveFile)
Definition: shellord.c:2262

Referenced by Command().


The documentation for this struct was generated from the following files: