ReactOS  0.4.15-dev-316-g938df97
startmenu.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  StartMenuDirectory
 StartMenuDirectory is used to store the base directory of start menus. More...
 
struct  StartMenuEntry
 structure holding information about one start menu entry More...
 
struct  StartMenuButton
 
struct  StartMenuCtrl
 
struct  StartMenuSeparator
 separator between start menu entries More...
 
struct  StartMenuCreateInfo
 structor containing information for creating of start menus More...
 
struct  StartMenu
 
struct  StartMenuHandler
 Handling of standard start menu commands. More...
 
struct  StartMenuRootCreateInfo
 
struct  StartMenuRoot
 Startmenu root window. More...
 
struct  SettingsMenu
 Settings sub-startmenu. More...
 
struct  BrowseMenu
 "Browse Files..." sub-start menu More...
 
struct  SearchMenu
 Search sub-startmenu. More...
 
struct  RecentStartMenu
 "Recent Files" sub-start menu More...
 
struct  FavoritesMenu
 Bookmarks sub-startmenu. More...
 

Macros

#define CLASSNAME_STARTMENU   TEXT("ReactOSStartmenuClass")
 
#define TITLE_STARTMENU   TEXT("Start Menu")
 
#define STARTMENU_WIDTH_MIN   120
 
#define STARTMENU_LINE_HEIGHT(icon_size)   (icon_size+4)
 
#define STARTMENU_SEP_HEIGHT(icon_size)   (STARTMENU_LINE_HEIGHT(icon_size)/2)
 
#define STARTMENU_TOP_BTN_SPACE   8
 
#define PM_STARTMENU_CLOSED   (WM_APP+0x11)
 
#define PM_STARTENTRY_LAUNCHED   (WM_APP+0x12)
 
#define PM_STARTENTRY_FOCUSED   (WM_APP+0x13)
 
#define PM_UPDATE_ICONS   (WM_APP+0x14)
 
#define PM_SELECT_ENTRY   (WM_APP+0x15)
 
#define STARTMENU_CREATOR(WND_CLASS)   WINDOW_CREATOR_INFO(WND_CLASS, StartMenuCreateInfo)
 
#define RFF_NOBROWSE   0x01
 
#define RFF_NODEFAULT   0x02
 
#define RFF_CALCDIRECTORY   0x04
 
#define RFF_NOLABEL   0x08
 
#define RFF_NOSEPARATEMEM   0x20
 
#define RECENT_DOCS_COUNT   20
 

Typedefs

typedef list< StartMenuDirectoryStartMenuShellDirs
 
typedef set< Entry * > ShellEntrySet
 
typedef list< ShellPathStartMenuFolders
 
typedef map< int, StartMenuEntryShellEntryMap
 
typedef void(WINAPIRUNFILEDLG) (HWND hwndOwner, HICON hIcon, LPCSTR lpstrDirectory, LPCSTR lpstrTitle, LPCSTR lpstrDescription, UINT uFlags)
 
typedef void(WINAPIEXITWINDOWSDLG) (HWND hwndOwner)
 
typedef int(WINAPILOGOFFWINDOWSDIALOG) (UINT flags)
 
typedef int(WINAPIRESTARTWINDOWSDLG) (HWND hwndOwner, LPCWSTR reason, UINT flags)
 
typedef int(WINAPIRESTARTWINDOWSDLGEX) (HWND hWndOwner, LPCWSTR lpwstrReason, DWORD uFlags, DWORD uReason)
 
typedef BOOL(WINAPISHFINDFILES) (LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
 
typedef BOOL(WINAPISHFINDCOMPUTER) (LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)
 
typedef map< int, BookmarkNodeBookmarkMap
 

Functions

int GetStartMenuBtnTextWidth (HDC hdc, LPCTSTR title, HWND hwnd)
 
void DrawStartMenuButton (HDC hdc, const RECT &rect, LPCTSTR title, HICON hIcon, bool hasSubmenu, bool enabled, bool has_focus, bool pushed, int icon_size)
 

Macro Definition Documentation

◆ CLASSNAME_STARTMENU

#define CLASSNAME_STARTMENU   TEXT("ReactOSStartmenuClass")

Definition at line 29 of file startmenu.h.

◆ PM_SELECT_ENTRY

#define PM_SELECT_ENTRY   (WM_APP+0x15)

Definition at line 48 of file startmenu.h.

◆ PM_STARTENTRY_FOCUSED

#define PM_STARTENTRY_FOCUSED   (WM_APP+0x13)

Definition at line 44 of file startmenu.h.

◆ PM_STARTENTRY_LAUNCHED

#define PM_STARTENTRY_LAUNCHED   (WM_APP+0x12)

Definition at line 41 of file startmenu.h.

◆ PM_STARTMENU_CLOSED

#define PM_STARTMENU_CLOSED   (WM_APP+0x11)

Definition at line 40 of file startmenu.h.

◆ PM_UPDATE_ICONS

#define PM_UPDATE_ICONS   (WM_APP+0x14)

Definition at line 47 of file startmenu.h.

◆ RECENT_DOCS_COUNT

#define RECENT_DOCS_COUNT   20

Definition at line 440 of file startmenu.h.

◆ RFF_CALCDIRECTORY

#define RFF_CALCDIRECTORY   0x04

Definition at line 317 of file startmenu.h.

◆ RFF_NOBROWSE

#define RFF_NOBROWSE   0x01

Definition at line 315 of file startmenu.h.

◆ RFF_NODEFAULT

#define RFF_NODEFAULT   0x02

Definition at line 316 of file startmenu.h.

◆ RFF_NOLABEL

#define RFF_NOLABEL   0x08

Definition at line 318 of file startmenu.h.

◆ RFF_NOSEPARATEMEM

#define RFF_NOSEPARATEMEM   0x20

Definition at line 319 of file startmenu.h.

◆ STARTMENU_CREATOR

#define STARTMENU_CREATOR (   WND_CLASS)    WINDOW_CREATOR_INFO(WND_CLASS, StartMenuCreateInfo)

Definition at line 149 of file startmenu.h.

◆ STARTMENU_LINE_HEIGHT

#define STARTMENU_LINE_HEIGHT (   icon_size)    (icon_size+4)

Definition at line 34 of file startmenu.h.

◆ STARTMENU_SEP_HEIGHT

#define STARTMENU_SEP_HEIGHT (   icon_size)    (STARTMENU_LINE_HEIGHT(icon_size)/2)

Definition at line 35 of file startmenu.h.

◆ STARTMENU_TOP_BTN_SPACE

#define STARTMENU_TOP_BTN_SPACE   8

Definition at line 36 of file startmenu.h.

◆ STARTMENU_WIDTH_MIN

#define STARTMENU_WIDTH_MIN   120

Definition at line 33 of file startmenu.h.

◆ TITLE_STARTMENU

#define TITLE_STARTMENU   TEXT("Start Menu")

Definition at line 30 of file startmenu.h.

Typedef Documentation

◆ BookmarkMap

Definition at line 459 of file startmenu.h.

◆ EXITWINDOWSDLG

typedef void(WINAPI* EXITWINDOWSDLG) (HWND hwndOwner)

Definition at line 323 of file startmenu.h.

◆ LOGOFFWINDOWSDIALOG

typedef int(WINAPI* LOGOFFWINDOWSDIALOG) (UINT flags)

Definition at line 324 of file startmenu.h.

◆ RESTARTWINDOWSDLG

typedef int(WINAPI* RESTARTWINDOWSDLG) (HWND hwndOwner, LPCWSTR reason, UINT flags)

Definition at line 325 of file startmenu.h.

◆ RESTARTWINDOWSDLGEX

typedef int(WINAPI* RESTARTWINDOWSDLGEX) (HWND hWndOwner, LPCWSTR lpwstrReason, DWORD uFlags, DWORD uReason)

Definition at line 326 of file startmenu.h.

◆ RUNFILEDLG

typedef void(WINAPI* RUNFILEDLG) (HWND hwndOwner, HICON hIcon, LPCSTR lpstrDirectory, LPCSTR lpstrTitle, LPCSTR lpstrDescription, UINT uFlags)

Definition at line 309 of file startmenu.h.

◆ ShellEntryMap

Definition at line 151 of file startmenu.h.

◆ ShellEntrySet

typedef set<Entry*> ShellEntrySet

Definition at line 69 of file startmenu.h.

◆ SHFINDCOMPUTER

typedef BOOL(WINAPI* SHFINDCOMPUTER) (LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)

Definition at line 328 of file startmenu.h.

◆ SHFINDFILES

typedef BOOL(WINAPI* SHFINDFILES) (LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch)

Definition at line 327 of file startmenu.h.

◆ StartMenuFolders

Definition at line 134 of file startmenu.h.

◆ StartMenuShellDirs

Definition at line 68 of file startmenu.h.

Function Documentation

◆ DrawStartMenuButton()

void DrawStartMenuButton ( HDC  hdc,
const RECT rect,
LPCTSTR  title,
HICON  hIcon,
bool  hasSubmenu,
bool  enabled,
bool  has_focus,
bool  pushed,
int  icon_size 
)

◆ GetStartMenuBtnTextWidth()

int GetStartMenuBtnTextWidth ( HDC  hdc,
LPCTSTR  title,
HWND  hwnd 
)

Definition at line 1371 of file startmenu.cpp.

1372 {
1373  RECT rect = {0, 0, 0, 0};
1375 
1376  return rect.right-rect.left;
1377 }
#define DT_NOPREFIX
Definition: winuser.h:537
& rect
Definition: startmenu.cpp:1413
#define DrawText
Definition: winuser.h:5746
#define DT_CALCRECT
Definition: winuser.h:526
HDC hdc
Definition: main.c:9
#define DT_SINGLELINE
Definition: winuser.h:540
static char title[]
Definition: ps.c:92

Referenced by StartMenu::AddButton().