📄 framelayout.tex
字号:
\membersection{wxFrameLayout::HitTestPane}\label{wxframelayouthittestpane}
\func{bool}{HitTestPane}{\param{cbDockPane* }{pPane}, \param{int }{x}, \param{int }{y}}
Returns TRUE if the position is within the given pane.
\membersection{wxFrameLayout::HitTestPanes}\label{wxframelayouthittestpanes}
\func{cbDockPane*}{HitTestPanes}{\param{const wxRect\& }{rect}, \param{cbDockPane* }{pCurPane}}
Returns the pane for which the rectangle hit test succeeds, giving
preference to the given pane if supplied.
\membersection{wxFrameLayout::HookUpToFrame}\label{wxframelayouthookuptoframe}
\func{void}{HookUpToFrame}{\void}
Hooks the layout up to the frame (pushes the layout onto the
frame's event handler stack).
\membersection{wxFrameLayout::InverseVisibility}\label{wxframelayoutinversevisibility}
\func{void}{InverseVisibility}{\param{cbBarInfo* }{pBar}}
Toggles the bar between visible and hidden.
\membersection{wxFrameLayout::LocateBar}\label{wxframelayoutlocatebar}
\func{bool}{LocateBar}{\param{cbBarInfo* }{pBarInfo}, \param{cbRowInfo** }{ppRow}, \param{cbDockPane** }{ppPane}}
The purpose of this function is unknown.
\membersection{wxFrameLayout::OnActivate}\label{wxframelayoutonactivate}
\func{void}{OnActivate}{\param{wxActivateEvent\& }{event}}
Handles activation events. Currently does nothing.
\membersection{wxFrameLayout::OnEraseBackground}\label{wxframelayoutonerasebackground}
\func{void}{OnEraseBackground}{\param{wxEraseEvent\& }{event}}
Handles background erase events. Currently does nothing.
\membersection{wxFrameLayout::OnIdle}\label{wxframelayoutonidle}
\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
Handles idle events.
\membersection{wxFrameLayout::OnKillFocus}\label{wxframelayoutonkillfocus}
\func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
Handles focus kill events. Currently does nothing.
\membersection{wxFrameLayout::OnLButtonDown}\label{wxframelayoutonlbuttondown}
\func{void}{OnLButtonDown}{\param{wxMouseEvent\& }{event}}
Event handler for a left down button event.
\membersection{wxFrameLayout::OnLButtonUp}\label{wxframelayoutonlbuttonup}
\func{void}{OnLButtonUp}{\param{wxMouseEvent\& }{event}}
Event handler for a left button up event.
\membersection{wxFrameLayout::OnLDblClick}\label{wxframelayoutonldblclick}
\func{void}{OnLDblClick}{\param{wxMouseEvent\& }{event}}
Event handler for a left doubleclick button event.
\membersection{wxFrameLayout::OnMouseMove}\label{wxframelayoutonmousemove}
\func{void}{OnMouseMove}{\param{wxMouseEvent\& }{event}}
Event handler for a mouse move event.
\membersection{wxFrameLayout::OnPaint}\label{wxframelayoutonpaint}
\func{void}{OnPaint}{\param{wxPaintEvent\& }{event}}
Handles paint events, calling PaintPane for each pane.
\membersection{wxFrameLayout::OnRButtonDown}\label{wxframelayoutonrbuttondown}
\func{void}{OnRButtonDown}{\param{wxMouseEvent\& }{event}}
Event handler for a right button down event.
\membersection{wxFrameLayout::OnRButtonUp}\label{wxframelayoutonrbuttonup}
\func{void}{OnRButtonUp}{\param{wxMouseEvent\& }{event}}
Event handler for a right button up event.
\membersection{wxFrameLayout::OnSetFocus}\label{wxframelayoutonsetfocus}
\func{void}{OnSetFocus}{\param{wxFocusEvent\& }{event}}
Handles focus set events. Currently does nothing.
\membersection{wxFrameLayout::OnSize}\label{wxframelayoutonsize}
\func{void}{OnSize}{\param{wxSizeEvent\& }{event}}
Event handler for a size event.
\membersection{wxFrameLayout::PopAllPlugins}\label{wxframelayoutpopallplugins}
\func{void}{PopAllPlugins}{\void}
Pop all plugins.
\membersection{wxFrameLayout::PopPlugin}\label{wxframelayoutpopplugin}
\func{void}{PopPlugin}{\void}
Similar to wxWindow's "push/pop-event-handler" methods, execept
that the plugin is deleted upon "popping".
\membersection{wxFrameLayout::PositionClientWindow}\label{wxframelayoutpositionclientwindow}
\func{void}{PositionClientWindow}{\void}
Called to apply the calculated layout to window objects.
\membersection{wxFrameLayout::PositionPanes}\label{wxframelayoutpositionpanes}
\func{void}{PositionPanes}{\void}
Called to apply the calculated layout to window objects.
\membersection{wxFrameLayout::PushDefaultPlugins}\label{wxframelayoutpushdefaultplugins}
\func{void}{PushDefaultPlugins}{\void}
Adds the default plugins. These are cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin,
cbAntiflickerPlugin, cbSimpleCustomizePlugin.
This method is automatically invoked if no plugins were found upon
firing of the first plugin-event, i.e. when wxFrameLayout configures itself.
\membersection{wxFrameLayout::PushPlugin}\label{wxframelayoutpushplugin}
\func{void}{PushPlugin}{\param{cbPluginBase* }{pPugin}}
Similar to wxWindow's "push/pop-event-handler" methods, execept
that the plugin is deleted upon "popping".
\membersection{wxFrameLayout::RecalcLayout}\label{wxframelayoutrecalclayout}
\func{void}{RecalcLayout}{\param{bool }{repositionBarsNow = FALSE}}
Recalculates the layout of panes, and all bars/rows in each pane.
\membersection{wxFrameLayout::RedockBar}\label{wxframelayoutredockbar}
\func{bool}{RedockBar}{\param{cbBarInfo* }{pBar}, \param{const wxRect\& }{shapeInParent}, \param{cbDockPane* }{pToPane = NULL}, \param{bool }{updateNow = TRUE}}
ReddockBar can be used for repositioning existing bars. The given bar is first removed
from the pane it currently belongs to, and inserted into the pane, which "matches"
the given rectangular area. If pToPane is not NULL, the bar is docked to this given pane.
To dock a bar which is floating, use the wxFrameLayout::DockBar method.
\membersection{wxFrameLayout::RefreshNow}\label{wxframelayoutrefreshnow}
\func{void}{RefreshNow}{\param{bool }{recalcLayout = TRUE}}
Recalculates layout and performs on-screen update of all panes.
\membersection{wxFrameLayout::ReleaseEventsFromPane}\label{wxframelayoutreleaseeventsfrompane}
\func{void}{ReleaseEventsFromPane}{\param{cbDockPane* }{fromPane}}
Called by plugins; also releases mouse in the parent frame.
\membersection{wxFrameLayout::ReleaseEventsFromPlugin}\label{wxframelayoutreleaseeventsfromplugin}
\func{void}{ReleaseEventsFromPlugin}{\param{cbPluginBase* }{pPlugin}}
Releases user input events for the given plugin.
Input events are: mouse movement, mouse clicks, keyboard input
\membersection{wxFrameLayout::RemoveBar}\label{wxframelayoutremovebar}
\func{void}{RemoveBar}{\param{cbBarInfo* }{pBar}}
Removes the bar from the layout permanently, and hides its corresponding window if present.
\membersection{wxFrameLayout::RemovePlugin}\label{wxframelayoutremoveplugin}
\func{void}{RemovePlugin}{\param{wxClassInfo* }{pPlInfo}}
Checks if the plugin of the given class is hooked, and removes
it if found.
\membersection{wxFrameLayout::ReparentWindow}\label{wxframelayoutreparentwindow}
\func{void}{ReparentWindow}{\param{wxWindow* }{pChild}, \param{wxWindow* }{pNewParent}}
Reparents pChild to have parent pNewParent.
\membersection{wxFrameLayout::RepositionFloatedBar}\label{wxframelayoutrepositionfloatedbar}
\func{void}{RepositionFloatedBar}{\param{cbBarInfo* }{pBar}}
Applies the calculated layout to a floating bar.
\membersection{wxFrameLayout::RouteMouseEvent}\label{wxframelayoutroutemouseevent}
\func{void}{RouteMouseEvent}{\param{wxMouseEvent\& }{event}, \param{int }{pluginEvtType}}
Routes the mouse event to the appropriate pane.
\membersection{wxFrameLayout::SetBarState}\label{wxframelayoutsetbarstate}
\func{void}{SetBarState}{\param{cbBarInfo* }{pBar}, \param{int }{newStatem}, \param{bool }{updateNow}}
Changes the bar's docking state (see possible control bar states).
\membersection{wxFrameLayout::SetFrameClient}\label{wxframelayoutsetframeclient}
\func{void}{SetFrameClient}{\param{wxWindow* }{pFrameClient}}
Passes the client window (e.g. MDI client window) to be controlled by
frame layout, the size and position of which should be adjusted to be
surrounded by controlbar panes, whenever the frame is resized or the dimensions
of control panes change.
\membersection{wxFrameLayout::SetMargins}\label{wxframelayoutsetmargins}
\func{void}{SetMargins}{\param{int }{top}, \param{int }{bottom}, \param{int }{left}, \param{int }{right}, \param{int }{paneMask = wxALL\_PANES}}
Sets the margins for the given panes.
The margins should go into cbCommonPaneProperties in the future.
Note: this method should be called before any custom plugins are attached.
\membersection{wxFrameLayout::SetPaneBackground}\label{wxframelayoutsetpanebackground}
\func{void}{SetPaneBackground}{\param{const wxColour\& }{colour}}
Sets the pane background colour.
\membersection{wxFrameLayout::SetPaneProperties}\label{wxframelayoutsetpaneproperties}
\func{void}{SetPaneProperties}{\param{const cbCommonPaneProperties\& }{props}, \param{int }{paneMask = wxALL\_PANES}}
Sets the pane properties for the given alignment.
Note: changing properties of panes does not result immediate on-screen update.
\membersection{wxFrameLayout::SetTopPlugin}\label{wxframelayoutsettopplugin}
\func{void}{SetTopPlugin}{\param{cbPluginBase* }{pPlugin}}
Hooking custom plugins to frame layout.
Note: when hooking one plugin on top of the other,
use SetNextHandler or similar methods
of wxEvtHandler class to compose the chain of plugins,
than pass the left-most handler in this chain to
the above methods (assuming that events are delegated
from left-most towards right-most handler).
This secenario is very inconvenient and "low-level",
so use the Add/Push/PopPlugin methods instead.
\membersection{wxFrameLayout::SetUpdatesManager}\label{wxframelayoutsetupdatesmanager}
\func{void}{SetUpdatesManager}{\param{cbUpdatesManagerBase* }{pUMgr}}
Destroys the previous manager if any, and sets the new one.
\membersection{wxFrameLayout::ShowFloatedWindows}\label{wxframelayoutshowfloatedwindows}
\func{void}{ShowFloatedWindows}{\param{bool }{show}}
Shows all floated windows.
\membersection{wxFrameLayout::UnhookFromFrame}\label{wxframelayoutunhookfromframe}
\func{void}{UnhookFromFrame}{\void}
Unhooks the layout from the frame.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -