www.mxdraw.com
内容索引主面
前一个向上下一个
CMxDrawFilterWinMsgObject::OnUpdateDisplay 方法

窗口更新显示事件

C++
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();
        }
Copyright (c) 2010. All rights reserved.
你认为该帮助怎么样? 发送反馈信息!