diff --git a/programs/oleview/En.rc b/programs/oleview/En.rc index da6edb6254..b792716308 100644 --- a/programs/oleview/En.rc +++ b/programs/oleview/En.rc @@ -83,7 +83,7 @@ IDM_TYPELIB MENU MENUITEM "&Group by type kind", IDM_GROUP MENUITEM SEPARATOR MENUITEM "&Toolbar", IDM_TOOLBAR - MENUITEM "&Status Bar", IDM_STATUSBAR + MENUITEM "&Status Bar", IDM_STATUSBAR,CHECKED } } diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index 8d5442aaf9..f6b3e2398f 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -77,6 +77,25 @@ void TypeLibResizeChild(void) client.right, client.bottom-stat.bottom, TRUE); } +void TypeLibMenuCommand(WPARAM wParam, HWND hWnd) +{ + BOOL vis; + + switch(wParam) + { + case IDM_STATUSBAR: + vis = IsWindowVisible(typelib.hStatusBar); + ShowWindow(typelib.hStatusBar, vis ? SW_HIDE : SW_SHOW); + CheckMenuItem(GetMenu(hWnd), LOWORD(wParam), + vis ? MF_UNCHECKED : MF_CHECKED); + TypeLibResizeChild(); + break; + case IDM_CLOSE: + DestroyWindow(hWnd); + break; + } +} + void UpdateTypeLibStatusBar(int itemID) { WCHAR info[MAX_LOAD_STRING]; @@ -109,6 +128,8 @@ LRESULT CALLBACK TypeLibProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) SetFocus(typelib.hTree); break; } + case WM_COMMAND: + TypeLibMenuCommand(LOWORD(wParam), hWnd); case WM_MENUSELECT: UpdateTypeLibStatusBar(LOWORD(wParam)); break;