ReactOS 0.4.15-dev-5666-gc548b97
MDIMainFrame Struct Reference

#include <mainframe.h>

Inheritance diagram for MDIMainFrame:
Collaboration diagram for MDIMainFrame:

Public Types

typedef MainFrameBase super
 
- Public Types inherited from MainFrameBase
typedef PreTranslateWindow super
 
- Public Types inherited from PreTranslateWindow
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

 MDIMainFrame (HWND hwnd)
 
ChildWindowCreateChild (LPCTSTR path=NULL, int mode=OWM_EXPLORE|OWM_DETAILS)
 
ChildWindowCreateChild (LPCITEMIDLIST pidl, int mode=OWM_EXPLORE|OWM_DETAILS|OWM_PIDL)
 
- Public Member Functions inherited from MainFrameBase
 MainFrameBase (HWND hwnd)
 
 ~MainFrameBase ()
 
- Public Member Functions inherited from PreTranslateWindow
 PreTranslateWindow (HWND)
 
 ~PreTranslateWindow ()
 
- 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 ()
 

Static Public Member Functions

static HWND Create ()
 
static HWND Create (LPCTSTR path, int mode=OWM_EXPLORE|OWM_DETAILS)
 
static HWND Create (LPCITEMIDLIST pidl, int mode=OWM_EXPLORE|OWM_DETAILS|OWM_PIDL)
 
- Static Public Member Functions inherited from MainFrameBase
static HWND Create (const ExplorerCmd &cmd)
 
static int OpenShellFolders (LPIDA pida, HWND hFrameWnd)
 
- 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)
 

Protected Member Functions

LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
int Command (int id, int code)
 
virtual BOOL TranslateMsg (MSG *pmsg)
 
bool activate_drive_window (LPCTSTR path)
 
bool activate_child_window (LPCTSTR filesys)
 
virtual void resize_frame (int cx, int cy)
 
virtual void frame_get_clientspace (PRECT prect)
 
virtual bool go_to (LPCTSTR url, bool new_window)
 
- Protected Member Functions inherited from MainFrameBase
LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)
 
bool ProcessMessage (UINT nmsg, WPARAM wparam, LPARAM lparam, LRESULT *pres)
 
int Command (int id, int code)
 
int Notify (int id, NMHDR *pnmh)
 
virtual BOOL TranslateMsg (MSG *pmsg)
 
void toggle_child (HWND hwnd, UINT cmd, HWND hchild, int band_idx=-1)
 
void resize_frame_client ()
 
virtual void resize_frame (int cx, int cy)
 
virtual void frame_get_clientspace (PRECT prect)
 
BOOL toggle_fullscreen ()
 
void fullscreen_move ()
 
void FillBookmarks ()
 
virtual bool go_to (LPCTSTR url, bool new_window)
 
- 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
 

Protected Attributes

HWND _hmdiclient
 
WindowHandle _hextrabar
 
WindowHandle _hdrivebar
 
TCHAR _drives [BUFFER_LEN]
 
- Protected Attributes inherited from MainFrameBase
FullScreenParameters _fullscreen
 
HACCEL _hAccel
 
HIMAGELIST _himl_old
 
- 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
 

Additional Inherited Members

- Public Attributes inherited from MainFrameBase
WindowHandle _hwndrebar
 
WindowHandle _htoolbar
 
WindowHandle _haddrcombo
 
WindowHandle _hstatusbar
 
WindowHandle _hsidebar
 
HIMAGELIST _himl
 
HMENU _hMenuFrame
 
HMENU _hMenuWindow
 
MenuInfo _menu_info
 
- Public Attributes inherited from Window
IAccessible IAccessible_iface
 
IOleWindow IOleWindow_iface
 
IEnumVARIANT IEnumVARIANT_iface
 
LONG ref
 
- 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)
 
- 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

Definition at line 94 of file mainframe.h.

Member Typedef Documentation

◆ super

Definition at line 96 of file mainframe.h.

Constructor & Destructor Documentation

◆ MDIMainFrame()

MDIMainFrame::MDIMainFrame ( HWND  hwnd)

Definition at line 691 of file mainframe.cpp.

692 : super(hwnd)
693{
694 TBBUTTON mdiBtns[] = {
695 {0, 0, 0, BTNS_SEP, {0, 0}, 0, 0},
696 {0, ID_WINDOW_NEW, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
697 {1, ID_WINDOW_CASCADE, TBSTATE_ENABLED, BTNS_BUTTON, {0, 0}, 0, 0},
700 };
701
702 SendMessage(_htoolbar, TB_ADDBUTTONS, sizeof(mdiBtns)/sizeof(TBBUTTON), (LPARAM)&mdiBtns);
703
705
708
711 0, 0, 0, 0,
712 hwnd, 0, g_Globals._hInstance, &ccs);
713
714 TBBUTTON extraBtns = {0, 0, TBSTATE_ENABLED, BTNS_SEP, {0, 0}, 0, 0};
715
716#ifndef _NO_REBAR
721 16, 16, 16, 16, sizeof(TBBUTTON));
722#else
725 IDW_EXTRABAR, 2, g_Globals._hInstance, IDB_DRIVEBAR, &extraBtns, 1,
726 16, 13, 16, 13, sizeof(TBBUTTON));
727#endif
728
730
731
732 extraBtns.fsStyle = BTNS_BUTTON;
733
734#ifdef __WINE__
735 // insert unix file system button
736 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("/\0"));
737 extraBtns.idCommand = ID_DRIVE_UNIX_FS;
739#endif
740
741 // insert explorer window button
742 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("Explore\0"));
743 extraBtns.idCommand = ID_DRIVE_DESKTOP;
745
746 // insert shell namespace button
747 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("Shell\0"));
748 extraBtns.idCommand = ID_DRIVE_SHELL_NS;
749 extraBtns.iBitmap = 6;
751
752 // insert web control button
753 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("Web\0"));
754 extraBtns.idCommand = ID_WEB_WINDOW;
755 extraBtns.iBitmap = 7;
757
758 if ((HIWORD(GetVersion())>>14) == W_VER_NT) {
759 // insert NT object namespace button
760 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("NT Obj\0"));
761 extraBtns.idCommand = ID_DRIVE_NTOBJ_NS;
762 extraBtns.iBitmap = 8;
764 }
765
766 // insert Registry button
767 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("Reg.\0"));
768 extraBtns.idCommand = ID_DRIVE_REGISTRY;
769 extraBtns.iBitmap = 9;
771
772#ifdef _DEBUG
773 // insert FAT direct file system access button
774 extraBtns.iString = SendMessage(_hextrabar, TB_ADDSTRING, 0, (LPARAM)TEXT("FAT\0"));
775 extraBtns.idCommand = ID_DRIVE_FAT;
776 extraBtns.iBitmap = 10;
778#endif
779
780
781 TBBUTTON drivebarBtn = {0, 0, TBSTATE_ENABLED, BTNS_SEP, {0, 0}, 0, 0};
782#ifndef _NO_WIN_FS
783 PTSTR p;
784
785#ifndef _NO_REBAR
790 16, 16, 16, 16, sizeof(TBBUTTON));
791#else
794 IDW_DRIVEBAR, 2, g_Globals._hInstance, IDB_DRIVEBAR, &drivebarBtn, 1,
795 16, 13, 16, 13, sizeof(TBBUTTON));
796#endif
797#endif
798
800
801
802#ifndef _NO_WIN_FS
804
805 // register windows drive root strings
807
808 drivebarBtn.fsStyle = BTNS_BUTTON;
809 drivebarBtn.idCommand = ID_DRIVE_FIRST;
810
811 for(p=_drives; *p; ) {
812 switch(GetDriveType(p)) {
813 case DRIVE_REMOVABLE: drivebarBtn.iBitmap = 1; break;
814 case DRIVE_CDROM: drivebarBtn.iBitmap = 3; break;
815 case DRIVE_REMOTE: drivebarBtn.iBitmap = 4; break;
816 case DRIVE_RAMDISK: drivebarBtn.iBitmap = 5; break;
817 default:/*DRIVE_FIXED*/ drivebarBtn.iBitmap = 2;
818 }
819
821 ++drivebarBtn.idCommand;
822 ++drivebarBtn.iString;
823
824 while(*p++);
825 }
826#endif
827
828
829#ifndef _NO_REBAR
830 int btn_hgt = HIWORD(SendMessage(_htoolbar, TB_GETBUTTONSIZE, 0, 0));
831
832 REBARBANDINFO rbBand;
833
834 rbBand.cbSize = sizeof(REBARBANDINFO);
836#ifndef RBBS_HIDETITLE // missing in MinGW headers as of 25.02.2004
837#define RBBS_HIDETITLE 0x400
838#endif
840
841 TCHAR ExtrasBand[] = _T("Extras");
842 rbBand.lpText = ExtrasBand;
843 rbBand.hwndChild = _hextrabar;
844 rbBand.cxMinChild = 0;
845 rbBand.cyMinChild = btn_hgt;
846 rbBand.cx = 284;
848
849#ifndef _NO_WIN_FS
850 rbBand.fStyle |= RBBS_BREAK;
851 TCHAR DrivesBand[] = _T("Drives");
852 rbBand.lpText = DrivesBand;
853 rbBand.hwndChild = _hdrivebar;
854 rbBand.cxMinChild = 0;
855 rbBand.cyMinChild = btn_hgt;
856 rbBand.cx = 400;
858
859 // hide the drivebar by default
861#endif
862#endif
863}
#define ID_WINDOW_CASCADE
Definition: resource.h:76
HWND WINAPI CreateToolbarEx(HWND hwnd, DWORD style, UINT wID, INT nBitmaps, HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons, INT iNumButtons, INT dxButton, INT dyButton, INT dxBitmap, INT dyBitmap, UINT uStructSize)
Definition: commctrl.c:929
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
#define IDW_EXTRABAR
Definition: explorer.h:54
#define IDW_FIRST_CHILD
Definition: explorer.h:58
#define IDW_DRIVEBAR
Definition: explorer.h:55
GLfloat GLfloat p
Definition: glext.h:8902
#define INT_MAX
Definition: limits.h:40
#define TEXT(s)
Definition: k32.h:26
#define DRIVE_CDROM
Definition: machpc98.h:115
#define RBBS_HIDETITLE
#define ID_WINDOW_TILE_VERT
Definition: resource.h:49
#define ID_WINDOW_TILE_HORZ
Definition: resource.h:48
ExplorerGlobals g_Globals
Definition: explorer.cpp:52
#define ID_DRIVE_SHELL_NS
Definition: resource.h:196
#define IDB_DRIVEBAR
Definition: resource.h:62
#define ID_DRIVE_FIRST
Definition: resource.h:201
#define ID_DRIVE_NTOBJ_NS
Definition: resource.h:198
#define ID_DRIVE_REGISTRY
Definition: resource.h:199
#define ID_DRIVE_DESKTOP
Definition: resource.h:195
#define ID_VIEW_DRIVE_BAR
Definition: resource.h:137
#define ID_WINDOW_NEW
Definition: resource.h:227
#define ID_DRIVE_UNIX_FS
Definition: resource.h:197
#define ID_WEB_WINDOW
Definition: resource.h:190
#define ID_VIEW_EXTRA_BAR
Definition: resource.h:139
#define ID_DRIVE_FAT
Definition: resource.h:200
#define BUFFER_LEN
Definition: utility.h:97
#define W_VER_NT
Definition: utility.h:80
#define WS_CHILD
Definition: pedump.c:617
#define WS_EX_NOPARENTNOTIFY
Definition: pedump.c:646
#define WS_BORDER
Definition: pedump.c:625
#define WS_VSCROLL
Definition: pedump.c:627
#define WS_VISIBLE
Definition: pedump.c:620
#define WS_HSCROLL
Definition: pedump.c:628
#define WS_CLIPCHILDREN
Definition: pedump.c:619
#define TB_INSERTBUTTON
Definition: commctrl.h:1270
#define TB_ADDBUTTONS
Definition: commctrl.h:1271
#define BTNS_BUTTON
Definition: commctrl.h:998
#define TB_ADDSTRING
Definition: commctrl.h:1167
#define RBBS_BREAK
Definition: commctrl.h:1489
#define RB_INSERTBAND
Definition: commctrl.h:1602
#define RBBIM_CHILDSIZE
Definition: commctrl.h:1507
#define BTNS_SEP
Definition: commctrl.h:999
#define TBSTYLE_LIST
Definition: commctrl.h:993
#define REBARBANDINFO
Definition: commctrl.h:1569
#define RBBIM_CHILD
Definition: commctrl.h:1506
#define TB_GETBUTTONSIZE
Definition: commctrl.h:1160
#define RBBS_CHILDEDGE
Definition: commctrl.h:1491
#define RB_SHOWBAND
Definition: commctrl.h:1618
#define CCS_NODIVIDER
Definition: commctrl.h:2248
#define TBSTATE_ENABLED
Definition: commctrl.h:974
#define TBSTYLE_FLAT
Definition: commctrl.h:992
#define CCS_NOPARENTALIGN
Definition: commctrl.h:2246
#define CCS_NORESIZE
Definition: commctrl.h:2245
#define CCS_NOMOVEY
Definition: commctrl.h:2243
#define RBBIM_STYLE
Definition: commctrl.h:1502
#define RBBIM_SIZE
Definition: commctrl.h:1508
#define RBBIM_TEXT
Definition: commctrl.h:1504
#define RBBS_GRIPPERALWAYS
Definition: commctrl.h:1496
DWORD WINAPI GetVersion()
Definition: redirtest.c:5
HINSTANCE _hInstance
Definition: globals.h:270
WindowHandle _hextrabar
Definition: mainframe.h:110
WindowHandle _hdrivebar
Definition: mainframe.h:112
TCHAR _drives[BUFFER_LEN]
Definition: mainframe.h:130
MainFrameBase super
Definition: mainframe.h:96
HWND _hmdiclient
Definition: mainframe.h:108
WindowHandle _htoolbar
Definition: mainframe.h:53
MenuInfo _menu_info
Definition: mainframe.h:63
HMENU _hMenuWindow
Definition: mainframe.h:61
WindowHandle _hwndrebar
Definition: mainframe.h:51
HMENU _hMenuView
Definition: window.h:277
INT_PTR iString
Definition: commctrl.h:959
int idCommand
Definition: commctrl.h:950
int iBitmap
Definition: commctrl.h:949
BYTE fsStyle
Definition: commctrl.h:952
#define HIWORD(l)
Definition: typedefs.h:247
#define _T(x)
Definition: vfdio.h:22
#define GetDriveType
Definition: winbase.h:3683
#define DRIVE_REMOTE
Definition: winbase.h:253
#define GetLogicalDriveStrings
Definition: winbase.h:3693
#define DRIVE_RAMDISK
Definition: winbase.h:255
#define DRIVE_REMOVABLE
Definition: winbase.h:251
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LONG_PTR LPARAM
Definition: windef.h:208
UINT_PTR WPARAM
Definition: windef.h:207
#define CreateWindowEx
Definition: winuser.h:5745
#define MF_BYCOMMAND
Definition: winuser.h:202
#define MF_CHECKED
Definition: winuser.h:132
#define MF_UNCHECKED
Definition: winuser.h:204
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define SendMessage
Definition: winuser.h:5833
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
char TCHAR
Definition: xmlstorage.h:189
CHAR * PTSTR
Definition: xmlstorage.h:191

Member Function Documentation

◆ activate_child_window()

bool MDIMainFrame::activate_child_window ( LPCTSTR  filesys)
protected

Definition at line 1277 of file mainframe.cpp.

1278{
1279 HWND child_wnd;
1280
1281 // search for a already open window of the given file system name
1282 for(child_wnd=GetNextWindow(_hmdiclient,GW_CHILD); child_wnd; child_wnd=GetNextWindow(child_wnd, GW_HWNDNEXT)) {
1284
1285 if (child) {
1286 if (!lstrcmpi(child->get_root()._fs, filesys)) {
1288
1289 if (IsMinimized(child_wnd))
1290 ShowWindow(child_wnd, SW_SHOWNORMAL);
1291
1292 return true;
1293 }
1294 } else {
1295 ShellBrowser* shell_child = (ShellBrowser*) SendMessage(child_wnd, PM_GET_SHELLBROWSER_PTR, 0, 0);
1296
1297 if (shell_child) {
1298 if (!lstrcmpi(shell_child->get_root()._fs, filesys)) {
1300
1301 if (IsMinimized(child_wnd))
1302 ShowWindow(child_wnd, SW_SHOWNORMAL);
1303
1304 return true;
1305 }
1306 }
1307 }
1308 }
1309
1310 return false;
1311}
#define PM_GET_SHELLBROWSER_PTR
Definition: explorer.h:62
#define PM_GET_FILEWND_PTR
Definition: explorer.h:61
static HWND child
Definition: cursoricon.c:298
MDI child window displaying file lists.
Definition: filechild.h:89
TCHAR _fs[_MAX_DIR]
Definition: entries.h:155
Implementation of IShellBrowserImpl interface in explorer child windows.
Definition: ieframe.h:84
const Root & get_root() const
Definition: shellbrowser.h:117
#define lstrcmpi
Definition: winbase.h:3744
#define IsMinimized(hwnd)
Definition: windowsx.h:468
#define SW_SHOWNORMAL
Definition: winuser.h:764
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define WM_MDIACTIVATE
Definition: winuser.h:1804
#define GW_HWNDNEXT
Definition: winuser.h:756
#define GetNextWindow(h, c)
Definition: winuser.h:4717
#define GW_CHILD
Definition: winuser.h:758

Referenced by Command().

◆ activate_drive_window()

bool MDIMainFrame::activate_drive_window ( LPCTSTR  path)
protected

Definition at line 1249 of file mainframe.cpp.

1250{
1251 TCHAR drv1[_MAX_DRIVE], drv2[_MAX_DRIVE];
1252 HWND child_wnd;
1253
1254 _tsplitpath_s(path, drv1, COUNTOF(drv1), NULL, 0, NULL, 0, NULL, 0);
1255
1256 // search for a already open window for the same drive
1257 for(child_wnd=GetNextWindow(_hmdiclient,GW_CHILD); child_wnd; child_wnd=GetNextWindow(child_wnd, GW_HWNDNEXT)) {
1259
1260 if (child) {
1261 _tsplitpath_s(child->get_root()._path, drv2, COUNTOF(drv2), NULL, 0, NULL, 0, NULL, 0);
1262
1263 if (!lstrcmpi(drv2, drv1)) {
1265
1266 if (IsMinimized(child_wnd))
1267 ShowWindow(child_wnd, SW_SHOWNORMAL);
1268
1269 return true;
1270 }
1271 }
1272 }
1273
1274 return false;
1275}
#define _tsplitpath_s
Definition: tchar.h:687
#define _MAX_DRIVE
Definition: utility.h:73
#define COUNTOF(x)
Definition: utility.h:93

Referenced by Command().

◆ Command()

int MDIMainFrame::Command ( int  id,
int  code 
)
protectedvirtual
Todo:
store last directory per drive
Todo:
prompt for image file
Todo:
There are even more menu items!

Reimplemented from MainFrameBase.

Definition at line 1018 of file mainframe.cpp.

1019{
1020 CONTEXT("MDIMainFrame::Command()");
1021
1022 HWND hwndClient = (HWND) SendMessage(_hmdiclient, WM_MDIGETACTIVE, 0, 0);
1023
1024 if (hwndClient)
1025 if (SendMessage(hwndClient, PM_DISPATCH_COMMAND, MAKELONG(id,code), 0))
1026 return 0;
1027
1028#ifndef _NO_WIN_FS
1029 if (id>=ID_DRIVE_FIRST && id<=ID_DRIVE_FIRST+0xFF) {
1032
1033 for(int i=id-ID_DRIVE_FIRST; i--; root++)
1034 while(*root)
1035 ++root;
1036
1038 return 0;
1039
1040 _tsplitpath_s(root, drv, COUNTOF(drv), NULL, 0, NULL, 0, NULL, 0);
1041
1042 if (!SetCurrentDirectory(drv)) {
1043 display_error(_hwnd, GetLastError());
1044 return 0;
1045 }
1046
1048
1050
1051 return 1;
1052 }
1053#endif
1054
1055 switch(id) {
1056 case ID_WINDOW_NEW: {
1058
1060
1062 break;}
1063
1064 case ID_WINDOW_CASCADE:
1066 break;
1067
1070 break;
1071
1074 break;
1075
1076 case ID_WINDOW_ARRANGE:
1078 break;
1079
1080 case ID_VIEW_EXTRA_BAR:
1081 toggle_child(_hwnd, id, _hextrabar, 1);
1082 break;
1083
1084#ifndef _NO_WIN_FS
1085 case ID_VIEW_DRIVE_BAR:
1086 toggle_child(_hwnd, id, _hdrivebar, 2);
1087 break;
1088#endif
1089
1090#ifdef __WINE__
1091 case ID_DRIVE_UNIX_FS: {
1094
1096
1097 if (activate_child_window(TEXT("unixfs")))
1098 break;
1099
1101 break;}
1102#endif
1103
1104 case ID_DRIVE_DESKTOP: {
1106
1107 if (activate_child_window(TEXT("Desktop")))
1108 break;
1109
1111
1113 break;}
1114
1115 case ID_DRIVE_SHELL_NS: {
1118
1119 if (activate_child_window(TEXT("Shell")))
1120 break;
1121
1123 break;}
1124
1125 case ID_DRIVE_NTOBJ_NS: {
1126 if (activate_child_window(TEXT("NTOBJ")))
1127 break;
1128
1130 break;}
1131
1132 case ID_DRIVE_REGISTRY: {
1133 if (activate_child_window(TEXT("Registry")))
1134 break;
1135
1137 break;}
1138
1139 case ID_DRIVE_FAT: {
1140
1142
1143 if (activate_child_window(TEXT("FAT")))
1144 break;
1145
1147 break;}
1148
1149 case ID_WEB_WINDOW:
1150#ifdef _DEBUG
1152#else
1153 create_webchildwindow(WebChildWndInfo(_hmdiclient, TEXT("http://www.reactos.org")));
1154#endif
1155 break;
1156
1157 case ID_EXPLORER_FAQ:
1158 create_webchildwindow(WebChildWndInfo(_hmdiclient, TEXT("http://www.sky.franken.de/explorer/")));
1159 break;
1160
1161 case ID_VIEW_SDI:
1163 break;
1164
1166
1167 default:
1168 if (super::Command(id, code) == 0)
1169 return 0;
1170 else
1171 return DefFrameProc(_hwnd, _hmdiclient, WM_COMMAND, MAKELONG(id,code), 0);
1172 }
1173
1174 return 0;
1175}
struct _root root
_Check_return_ _Ret_opt_z_ _CRTIMP char *__cdecl getcwd(_Out_writes_opt_(_SizeInBytes) char *_DstBuf, _In_ int _SizeInBytes)
HANDLE HWND
Definition: compat.h:19
#define MAX_PATH
Definition: compat.h:34
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HWND create_webchildwindow(const WebChildWndInfo &info)
Definition: webchild.cpp:175
#define ID_WINDOW_ARRANGE
Definition: resource.h:52
#define ID_EXPLORER_FAQ
Definition: resource.h:189
#define ID_VIEW_SDI
Definition: resource.h:221
void display_error(HWND hwnd, DWORD error)
Definition: utility.cpp:98
#define PM_DISPATCH_COMMAND
Definition: window.h:265
struct _CONTEXT CONTEXT
#define DefFrameProc
Definition: ros2win.h:32
Shell folder path of the desktop.
Definition: shellclasses.h:992
Explorer command line parser.
Definition: explorer.h:90
information structure for creation of FileChildWindow
Definition: filechild.h:72
static FileChildWindow * create(const FileChildWndInfo &info)
Definition: filechild.cpp:377
information structure for creation of FileChildWindow
Definition: filechild.h:31
bool activate_child_window(LPCTSTR filesys)
Definition: mainframe.cpp:1277
bool activate_drive_window(LPCTSTR path)
Definition: mainframe.cpp:1249
static MDIShellBrowserChild * create(const ShellChildWndInfo &info)
int Command(int id, int code)
Definition: mainframe.cpp:388
void toggle_child(HWND hwnd, UINT cmd, HWND hchild, int band_idx=-1)
Definition: mainframe.cpp:634
static HWND Create(const ExplorerCmd &cmd)
Definition: mainframe.cpp:40
information structure for creation of FileChildWindow for NT object namespace
Definition: filechild.h:56
information structure for creation of FileChildWindow for the Registry
Definition: filechild.h:64
information structure for creation of MDIShellBrowserChild
Definition: filechild.h:45
information structure for creation of WebChildWindow
Definition: filechild.h:80
Definition: inflate.c:139
#define MAKELONG(a, b)
Definition: typedefs.h:249
DWORD WINAPI GetLastError(void)
Definition: except.c:1040
#define SetCurrentDirectory
Definition: winbase.h:3774
#define GetCurrentDirectory
Definition: winbase.h:3676
#define WM_MDITILE
Definition: winuser.h:1808
#define WM_MDICASCADE
Definition: winuser.h:1809
#define WM_COMMAND
Definition: winuser.h:1730
#define WM_MDIICONARRANGE
Definition: winuser.h:1810
#define MDITILE_HORIZONTAL
Definition: winuser.h:2178
#define WM_MDIGETACTIVE
Definition: winuser.h:1811
#define MDITILE_VERTICAL
Definition: winuser.h:2179
const CHAR * LPCTSTR
Definition: xmlstorage.h:193

◆ Create() [1/3]

HWND MDIMainFrame::Create ( )
static

Definition at line 866 of file mainframe.cpp.

867{
869
873 0/*hwndDesktop*/, hMenuFrame);
874}
#define IDS_TITLE
Definition: resource.h:30
HMENU hMenuFrame
Definition: main.c:37
#define IDM_MDIFRAME
Definition: resource.h:67
#define WINDOW_CREATOR(WND_CLASS)
Definition: window.h:202
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define WS_OVERLAPPEDWINDOW
Definition: pedump.c:637
ATOM _hframeClass
Definition: globals.h:274
convenient loading of string resources
Definition: globals.h:304
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)
Definition: window.cpp:87
#define LoadMenu
Definition: winuser.h:5807
#define CW_USEDEFAULT
Definition: winuser.h:225
#define MAKEINTRESOURCE
Definition: winuser.h:591

Referenced by StartMenuHandler::Command(), MainFrameBase::Create(), Create(), and MainFrameBase::OpenShellFolders().

◆ Create() [2/3]

HWND MDIMainFrame::Create ( LPCITEMIDLIST  pidl,
int  mode = OWM_EXPLORE|OWM_DETAILS|OWM_PIDL 
)
static

Definition at line 892 of file mainframe.cpp.

893{
894 HWND hFrame = Create();
895 if (!hFrame)
896 return 0;
897
898 ShowWindow(hFrame, SW_SHOW);
899
900 MDIMainFrame* pMainFrame = GET_WINDOW(MDIMainFrame, hFrame);
901
902 if (pMainFrame)
903 pMainFrame->CreateChild(pidl, mode);
904
905 return hFrame;
906}
GLenum mode
Definition: glext.h:6217
#define GET_WINDOW(CLASS, hwnd)
Definition: window.h:88
static HWND Create()
Definition: mainframe.cpp:866
ChildWindow * CreateChild(LPCTSTR path=NULL, int mode=OWM_EXPLORE|OWM_DETAILS)
Definition: mainframe.cpp:909
#define SW_SHOW
Definition: winuser.h:769

◆ Create() [3/3]

HWND MDIMainFrame::Create ( LPCTSTR  path,
int  mode = OWM_EXPLORE|OWM_DETAILS 
)
static

Definition at line 876 of file mainframe.cpp.

877{
878 HWND hFrame = Create();
879 if (!hFrame)
880 return 0;
881
882 ShowWindow(hFrame, SW_SHOW);
883
884 MDIMainFrame* pMainFrame = GET_WINDOW(MDIMainFrame, hFrame);
885
886 if (pMainFrame)
887 pMainFrame->CreateChild(path, mode);
888
889 return hFrame;
890}

◆ CreateChild() [1/2]

ChildWindow * MDIMainFrame::CreateChild ( LPCITEMIDLIST  pidl,
int  mode = OWM_EXPLORE|OWM_DETAILS|OWM_PIDL 
)

Definition at line 914 of file mainframe.cpp.

915{
916 return reinterpret_cast<ChildWindow*>(SendMessage(_hwnd, PM_OPEN_WINDOW, mode|OWM_PIDL, (LPARAM)pidl));
917}
@ OWM_PIDL
view files in detail mode
Definition: mainframe.h:35
#define PM_OPEN_WINDOW
Definition: mainframe.h:29

◆ CreateChild() [2/2]

ChildWindow * MDIMainFrame::CreateChild ( LPCTSTR  path = NULL,
int  mode = OWM_EXPLORE|OWM_DETAILS 
)

Definition at line 909 of file mainframe.cpp.

910{
911 return reinterpret_cast<ChildWindow*>(SendMessage(_hwnd, PM_OPEN_WINDOW, mode, (LPARAM)path));
912}

Referenced by Create(), SDIMainFrame::Create(), and go_to().

◆ frame_get_clientspace()

void MDIMainFrame::frame_get_clientspace ( PRECT  prect)
protectedvirtual

Reimplemented from MainFrameBase.

Definition at line 1178 of file mainframe.cpp.

1179{
1181
1182#ifndef _NO_WIN_FS
1184 ClientRect rt(_hdrivebar);
1185 prect->top += rt.bottom+2;
1186 }
1187#endif
1188}
virtual void frame_get_clientspace(PRECT prect)
Definition: mainframe.cpp:558
LONG top
Definition: windef.h:307
BOOL WINAPI IsWindowVisible(_In_ HWND)

◆ go_to()

bool MDIMainFrame::go_to ( LPCTSTR  url,
bool  new_window 
)
protectedvirtual

Reimplemented from MainFrameBase.

Definition at line 1313 of file mainframe.cpp.

1314{
1315 if (!new_window) {
1316 HWND hwndClient = (HWND) SendMessage(_hmdiclient, WM_MDIGETACTIVE, 0, 0);
1317
1318 if (hwndClient)
1319 if (SendMessage(hwndClient, PM_JUMP_TO_URL, 0, (LPARAM)url))
1320 return true;
1321 }
1322
1323 if (CreateChild(url))
1324 return true;
1325
1326 return super::go_to(url, new_window);
1327}
#define PM_JUMP_TO_URL
Definition: window.h:390
static const WCHAR url[]
Definition: encode.c:1432
static HWND new_window(LPCSTR lpClassName, DWORD dwStyle, HWND parent)
Definition: editor.c:54
virtual bool go_to(LPCTSTR url, bool new_window)
Definition: mainframe.cpp:681

◆ resize_frame()

void MDIMainFrame::resize_frame ( int  cx,
int  cy 
)
protectedvirtual

Reimplemented from MainFrameBase.

Definition at line 1190 of file mainframe.cpp.

1191{
1192 if (cy <= 0)
1193 return; // avoid resizing children when receiving RBN_AUTOSIZE while getting minimized
1194
1195 RECT rect = {0, 0, cx, cy};
1196
1197 if (_hwndrebar) {
1199 rect.top += height;
1200 rect.top += 5;
1201 } else {
1204 WindowRect rt(_htoolbar);
1205 rect.top = rt.bottom;
1206 // rect.bottom -= rt.bottom;
1207 }
1208
1211 WindowRect rt(_hextrabar);
1212 int new_top = --rect.top + rt.bottom;
1213 MoveWindow(_hextrabar, 0, rect.top, rt.right, new_top, TRUE);
1214 rect.top = new_top;
1215 // rect.bottom -= rt.bottom;
1216 }
1217
1218#ifndef _NO_WIN_FS
1221 WindowRect rt(_hdrivebar);
1222 int new_top = --rect.top + rt.bottom;
1223 MoveWindow(_hdrivebar, 0, rect.top, rt.right, new_top, TRUE);
1224 rect.top = new_top;
1225 // rect.bottom -= rt.bottom;
1226 }
1227#endif
1228 }
1229
1231 int parts[] = {300, 500};
1232
1235 ClientRect rt(_hstatusbar);
1236 rect.bottom -= rt.bottom;
1237 }
1238
1240 WindowRect rt(_hsidebar);
1241 rect.left += rt.right-rt.left;
1242
1243 SetWindowPos(_hsidebar, 0, -1, rect.top-1, rt.right-rt.left, rect.bottom-rect.top+1, SWP_NOACTIVATE|SWP_NOZORDER);
1244 }
1245
1246 MoveWindow(_hmdiclient, rect.left-1, rect.top-1, rect.right-rect.left+1, rect.bottom-rect.top+1, TRUE);
1247}
#define TRUE
Definition: types.h:120
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
static const D3D_BLOB_PART parts[]
Definition: blob.c:76
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
#define RB_GETBARHEIGHT
Definition: commctrl.h:1608
_Out_opt_ int * cx
Definition: commctrl.h:585
#define SB_SETPARTS
Definition: commctrl.h:1954
& rect
Definition: startmenu.cpp:1413
WindowHandle _hstatusbar
Definition: mainframe.h:55
WindowHandle _hsidebar
Definition: mainframe.h:57
#define SWP_NOACTIVATE
Definition: winuser.h:1232
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define WM_SIZE
Definition: winuser.h:1601
#define SWP_NOZORDER
Definition: winuser.h:1237
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)

◆ TranslateMsg()

BOOL MDIMainFrame::TranslateMsg ( MSG pmsg)
protectedvirtual

Reimplemented from MainFrameBase.

Definition at line 920 of file mainframe.cpp.

921{
923 return TRUE;
924
925 return super::TranslateMsg(pmsg);
926}
virtual BOOL TranslateMsg(MSG *pmsg)
Definition: mainframe.cpp:379
BOOL WINAPI TranslateMDISysAccel(_In_ HWND, _In_ LPMSG)

◆ WndProc()

LRESULT MDIMainFrame::WndProc ( UINT  nmsg,
WPARAM  wparam,
LPARAM  lparam 
)
protectedvirtual
Todo:
read paths and window placements from registry

Reimplemented from MainFrameBase.

Definition at line 928 of file mainframe.cpp.

929{
930 switch(nmsg) {
931 case PM_OPEN_WINDOW: {
932 CONTEXT("MDIMainFrame PM_OPEN_WINDOW");
933
936 ShellPath shell_path = DesktopFolderPath();
937
938 if (lparam) {
939 if (wparam & OWM_PIDL) {
940 // take over PIDL from lparam
941 shell_path.assign((LPCITEMIDLIST)lparam); // create as "rooted" window
942 FileSysShellPath fsp(shell_path);
943 path = fsp;
944
945 if (path) {
946 LOG(FmtString(TEXT("MDIMainFrame PM_OPEN_WINDOW: path=%s"), path));
948 path = buffer;
949 }
950 } else {
951 // take over path from lparam
953 shell_path = path; // create as "rooted" window
954 }
955 } else {
958 *buffer = '\0';
959
960 path = buffer;
961 }
962
963 if (path && _tcsstr(path, TEXT("://"))) { // "http://...", "ftp://", ...
964 OBJ_CONTEXT("create WebChild window", path);
965
967 } else {
968 OBJ_CONTEXT("create ShellChildWndInfo", path);
969
970 // Shell Namespace as default view
971 ShellChildWndInfo create_info(_hmdiclient, path, shell_path);
972
973 if (wparam & OWM_ROOTED)
974 create_info._root_shell_path = shell_path;
975 else
976 create_info._root_shell_path = DesktopFolderPath(); //SpecialFolderPath(CSIDL_DRIVES, _hwnd);
977
978 create_info._pos.showCmd = wparam&OWM_SEPARATE? SW_SHOWNORMAL: SW_SHOWMAXIMIZED;
979 create_info._pos.rcNormalPosition.left = CW_USEDEFAULT;
980 create_info._pos.rcNormalPosition.top = CW_USEDEFAULT;
981 create_info._pos.rcNormalPosition.right = CW_USEDEFAULT;
982 create_info._pos.rcNormalPosition.bottom = CW_USEDEFAULT;
983
984 create_info._open_mode = wparam;
985
986 // FileChildWindow::create(_hmdiclient, create_info);
987 return (LRESULT)MDIShellBrowserChild::create(create_info);
988 }
989 return TRUE;} // success
990
991 case WM_SYSCOLORCHANGE: {
992 LRESULT res;
993 HWND hChild;
994
995 /* Forward WM_SYSCOLORCHANGE to common controls */
998
1001
1003 break; }
1004
1005 default: {
1006 LRESULT res;
1007
1008 if (super::ProcessMessage(nmsg, wparam, lparam, &res))
1009 return res;
1010 else
1011 return DefFrameProc(_hwnd, _hmdiclient, nmsg, wparam, lparam);
1012 }
1013 }
1014
1015 return 0;
1016}
Retrieval of file system paths of ShellPath objects.
Definition: shellclasses.h:933
GLuint res
Definition: glext.h:9613
GLuint buffer
Definition: glext.h:5915
@ OWM_SEPARATE
path is given as PIDL, otherwise as LPCTSTR
Definition: mainframe.h:36
@ OWM_ROOTED
window in explore mode
Definition: mainframe.h:33
#define LOG(txt)
Definition: utility.h:102
static UINT WPARAM wparam
Definition: combo.c:716
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
static HTREEITEM hChild
Definition: treeview.c:381
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
bool ProcessMessage(UINT nmsg, WPARAM wparam, LPARAM lparam, LRESULT *pres)
Definition: mainframe.cpp:311
wrapper class for item ID lists
Definition: shellclasses.h:652
void assign(LPCITEMIDLIST pidl, size_t size)
Definition: shellclasses.h:806
#define lstrcpy
Definition: winbase.h:3745
LONG_PTR LRESULT
Definition: windef.h:209
#define SW_SHOWMAXIMIZED
Definition: winuser.h:767
#define WM_SYSCOLORCHANGE
Definition: winuser.h:1616
#define _tcsstr
Definition: xmlstorage.h:199

Member Data Documentation

◆ _drives

TCHAR MDIMainFrame::_drives[BUFFER_LEN]
protected

Definition at line 130 of file mainframe.h.

Referenced by Command(), and MDIMainFrame().

◆ _hdrivebar

WindowHandle MDIMainFrame::_hdrivebar
protected

Definition at line 112 of file mainframe.h.

Referenced by Command(), frame_get_clientspace(), MDIMainFrame(), resize_frame(), and WndProc().

◆ _hextrabar

WindowHandle MDIMainFrame::_hextrabar
protected

Definition at line 110 of file mainframe.h.

Referenced by Command(), MDIMainFrame(), resize_frame(), and WndProc().

◆ _hmdiclient

HWND MDIMainFrame::_hmdiclient
protected

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