13#if defined(BI_HAS_PRAGMA_ONCE)
54 auto Create() ->
bool override;
85 LPCLIENTCREATESTRUCT ClientAttr;
128 std::unique_ptr<TMDIClient> clientWnd =
nullptr,
134 std::unique_ptr<TMDIClient> clientWnd =
nullptr,
137#if defined(OWL5_COMPAT)
156 auto SetMenu(HMENU) ->
bool override;
203 ClientAttr = clientattr;
Base class for an extensible interface for auto enabling/disabling of commands (menu items,...
TDropInfo is a simple class that supports file-name drag-and-drop operations using the WM_DROPFILES m...
TFrameWindow(TWindow *parent, LPCTSTR title=nullptr, TWindow *clientWnd=nullptr, bool shrinkToClient=false, TModule *module=nullptr)
Constructs a window object with the parent window supplied in parent, which is zero if this is the ma...
TMDIChild defines the basic behavior of all MDI child windows.
Multiple Document Interface (MDI) client windows (represented by a TMDIClient object) manage the MDI ...
LPCLIENTCREATESTRUCT GetClientAttr()
Returns the client create struct for the MDI client.
virtual bool CloseChildren()
Closes the TMDIChild windows owned by this MDI client.
void CmTileChildren()
CM_TILECHILDREN.
auto GetWindowClassName() -> TWindowClassName override
Returns TMDIClient's registration class name, "MDICLIENT.".
void SetClientAttr(LPCLIENTCREATESTRUCT clientattr)
Sets the client create struct for the MDI client.
TMDIClient(TModule *module=0)
Constructor for a TMDIClient.
void CmChildActionEnable(TCommandEnabler &commandEnabler)
If there are MDI child windows, CmChildActionEnalbe enables any one of the child window action menu i...
void CmTileChildrenHoriz()
CM_TILECHILDREN.
void CmArrangeIcons()
CM_ARRANGEICONS.
void EvDropFiles(TDropInfo)
Forwards dropped file messages by default to the parent (MDI Frame) where they can be handled,...
void CmCreateChild()
CM_CREATECHILD.
TMDIChild * GetActiveMDIChild()
Use the Windows message to get the active mdi child, and then down cast to our MDI child derived clas...
virtual TMDIChild * InitChild()
Constructs an instance of a TMDIChild with this TMDIClient as parent.
void CmCloseChildren()
CM_CLOSECHILDREN.
virtual void TileChildren(int tile=MDITILE_VERTICAL)
Sizes and arranges all of the non-iconized MDI child windows within the MDI client window.
virtual void ArrangeIcons()
Arranges the MDI child window icons at the bottom of the MDI client window.
auto Create() -> bool override
Creates the interface element associated with the MDI client window.
virtual TMDIChild * CreateChild()
Initializes and creates a new TMDIChild by calling InitChild and Create.
void CmCascadeChildren()
CM_CASCADECHILDREN.
HWND EvMDICreate(MDICREATESTRUCT &createStruct)
Intercepts the WM_MDICREATE message sent when MDI child windows are created, and, if the client's sty...
virtual void CascadeChildren()
Sizes and arranges all of the non-iconized MDI child windows within the MDI client window.
auto PreProcessMsg(MSG &) -> bool override
Preprocess messages in order to translate MDI accelerator keys.
void EvMDIDestroy(HWND hWnd)
Destroys an MDI child window.
Multiple Document Interface (MDI) frame windows, represented by TMDIFrame, are overlapped windows tha...
auto SetMenu(HMENU) -> bool override
Searches for the MDI child menu in the new menu bar and updates the child menu position with the spec...
auto GetClientWindow() -> TMDIClient *override
Returns a pointer to the MDI client window.
auto PerformCreate() -> THandle override
Overrides TWindow's virtual PerformCreate function.
virtual TResult DefWindowProc(TMsgId, TParam1, TParam2)
Overrides TWindow::DefWindowProc and provides default processing for any incoming message the MDI fra...
static HMENU FindChildMenu(HMENU)
Find & return the child menu of an MDI frame's (or anyone's) menu bar.
auto GetCommandTarget() -> HWND override
Locates and returns the child window that is the target of the command and the command enabling messa...
TMDIFrame(LPCTSTR title, TResId menuResId, std::unique_ptr< TMDIClient > clientWnd=nullptr, TModule *=nullptr)
Constructs an MDI frame window object using the caption (title) and resource ID (menuResId).
ObjectWindows dynamic-link libraries (DLLs) construct an instance of TModule, which acts as an object...
Type-safe encapsulation of a Windows class name, a union between ATOM and LPCTSTR.
TWindow(TWindow *parent, LPCTSTR title=nullptr, TModule *module=nullptr)
Adds this to the child list of parent if nonzero, and calls EnableAutoCreate so that this will be cre...
HWND THandle
TWindow encapsulates an HWND.
Definition of class TFrameWindow.
#define DECLARE_STREAMABLE_OWL(cls, ver)
#define DECLARE_STREAMABLE_INLINES(cls)
Definition of class TMDIChild.
Object Windows Library (OWLNext Core).
UINT TMsgId
Message ID type.
LPARAM TParam2
Second parameter type.
WPARAM TParam1
First parameter type.
LRESULT TResult
Result type.