www.mxdraw.com
|
窗口更新显示事件
virtual void OnUpdateDisplay(bool isUpCurrentActiveViewDisplay, bool isUpAllBuffer);
用于控件同步显示的模块实现,例如sampleedit.sln中的分屏显示功能代码:
class CSplitScreenDisplayManager : public CMxDrawFilterWinMsgObject { public: CSplitScreenDisplayManager(void); virtual ~CSplitScreenDisplayManager(void); void Init(MxDraw::MXDRAWOCXHANDLE hDrawOcx,CWnd* pParent); void UnInit(); void ShowRegion(bool isShow); protected: virtual void OnUpdateDisplay(bool isUpCurrentActiveViewDisplay,bool isUpAllBuffer); virtual LRESULT OnViewMouseMove(UINT nFlags,McGePoint2d point); private: MxDraw::MXDRAWOCXHANDLE m_hDrawOcx; CSplitScreenDisplayDialog m_lbRegion; // 左下区域显示对话框。 CSplitScreenDisplayDialog m_ltRegion; // 左上区域显示对话框。 CSplitScreenDisplayDialog m_rtRegion; // 右上区域显示对话框。 CSplitScreenDisplayDialog m_rbRegion; // 右下区域显示对话框。 bool m_isShow; }; void CSplitScreenDisplayManager::OnUpdateDisplay(bool isUpCurrentActiveViewDisplay,bool isUpAllBuffer) { if(!m_isShow) return; m_lbRegion.Invalidate(); m_ltRegion.Invalidate(); m_rtRegion.Invalidate(); m_rbRegion.Invalidate(); }