SECLayoutNode Class
class SECLayoutNode
Common base class to all layout nodes
Defined in: LAYOUTND.H
Class Members
Attributes
virtual int GetDeferWindowCount()
Queries the number of child items to be drawn by a DeferWindowPos call in RealizeNode.
virtual BOOL IsNodeAttached()
Gets current node attachment state.
virtual void SetMinMaxSize(const CSize& sizeMin,const CSize& sizeMax,DWORD dwFlags=0)
Sets the minimum/maximum node size information.
virtual void GetMinMaxSize(CSize& sizeMin,CSize& sizeMax,DWORD& dwFlags)
Gets the minimum/maximum node size information.
virtual void SetParentNode(SECLayoutNode* pNode)
Sets the node parent.
virtual SECLayoutNode* GetParentNode()
Gets the node parent.
virtual SECLayoutNode* GetRootParentNode()
Gets the root node parent.
virtual void SetRecalcDirty(BOOL bSetAncestorsDirty=FALSE)
Marks as dirty for needed position recalculation.
virtual void ClearRecalcDirty()
Marks as clean for needed position recalculation.
virtual void SetInvalidateDirty()
Marks as dirty for needed invalidation.
virtual BOOL IsInvalidateDirty()
Gets the invalidation dirty flag.
virtual void SetNodeExStyle(DWORD dwExStyle=0,BOOL bRecurseChildren=FALSE)
Sets the node extended style information.
virtual void ModifyNodeStyleEx(DWORD dwRemove=0,DWORD dwAdd=0,BOOL bRecurseChildren=FALSE)
Modifies the node extended style information.
virtual DWORD GetNodeExStyle()
Gets the node extended style information
virtual inline void GetInitialRect(CRect& rectInitial)
Gets initial rectangle setting.
virtual void SetInitialRect(const CRect& rectInitial)
Sets the initial rectangle setting.
virtual void SetInitialRect()
Sets the initial rectangle setting.
virtual inline void ResetInitialRect(const CRect& rectInitial)
Resets the initial rectangle setting.
virtual inline void GetPreferredRect(CRect& rectPreferred)
Gets the preferred rectangle setting.
virtual inline void SetPreferredRect(const CRect& rectPreferred)
Sets the preferred rectangle setting.
virtual inline CRect GetCurrentRect()
Gets current rectangle setting.
virtual inline void SetCurrentRect(const CRect& rectCurrent)
Sets current rectangle setting.
virtual inline CRect GetOldRect()
Gets the rectangle setting previous to the last recalculation.
virtual inline void SetOldRect(const CRect& rectOld)
Resets the rectangle setting previous to the last recalculation.
virtual inline CRect GetInvalidateRect()
Gets the invalidation rectangle setting.
virtual inline void SetInvalidateRect(const CRect& rectInv)
Sets the invalidation rectangle setting.
Operations
virtual int AddLayoutNode(SECLayoutNode* pNode)
Adds a layout node as a child.
virtual BOOL ChangeChildNodePosition(SECLayoutNode* pNodeToChange, SECLayoutNode* pNodeTarget,BOOL bAfter=TRUE)
Changes the position of one child node relative to another.
virtual int RemoveLayoutNode(SECLayoutNode* pNode)
Removes a layout node as a child.
virtual CRect RecalcLayout(const CRect& rectDesired, BOOL bChildNegotiate=TRUE, BOOL bStrictRecalc=FALSE)
Recalculates the position of this and all child nodes.
virtual BOOL RealizeNode(HDC hDC=NULL)
Applies the latest recalculation to actual screen display.
virtual BOOL PerformInvalidation(BOOL bDoErase,BOOL bRecurseChildren=TRUE)
Kicks off the node painting invalidation.
inline void ClearInvalidateDirty()
Clears the "dirty" flag for optimized invalidation.
virtual void CalcMinBoundingRect(CRect& rectBounding)
Calculates the minimum bounding rect based on the current rect of this and all children nodes.
virtual void RecalcZOrder(BOOL bRecurseChildren=TRUE)
Recalculates the Z-Order for this node as appropriate.
virtual void SetNodeHorizontal(BOOL bHorz=TRUE,BOOL bRecurse=FALSE)
Sets the base node orientation setting.
BOOL GetNodeHorizontal()
Gets the base node orientation setting.
void SetNodeTitle(LPCTSTR lpszTitle)
Sets the node title string.
LPCTSTR GetNodeTitle()
Gets the node title string.
virtual void UpdateFrameTitle()
Updates the node title in a manner appropriate to the derived class.
Overridables
virtual CRect OnRecalcLayout(const CRect& rectDesired,BOOL bChildNegotiate, BOOL bStrictRecalc)
Callback on RecalcLayout. Override this for custom layout.
virtual void OnInvalidateRect(const CRect& rectInvalid,BOOL bDoErase)
Node painting invalidation is occurring. Override for custom redraw optimizations.
virtual BOOL DoProcessRecalcLayout(BOOL bStrict,const CRect& rectDesired)
Override to selectively allow or reject recalculation attempts.
virtual void OnNegotiateNodeRect(CRect& rectNode)
Override to hook into parent-child layout negotiation
virtual void OnApplyOverrides(const CRect& rectOld,CRect& rectNew)
Override to hook into node "manual overrides"