SVRVIEW.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:
Windows编程
开发平台:
Visual C++
- // svrview.h : interface of the CServerView class
- //
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1998 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
- #include "svritem.h"
- class CServerView : public CScrollView
- {
- protected: // create from serialization only
- CServerView();
- DECLARE_DYNCREATE(CServerView)
- // Attributes
- public:
- CServerDoc* GetDocument()
- {
- ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CServerDoc)));
- ASSERT_VALID(m_pDocument);
- return (CServerDoc*)m_pDocument;
- }
- void SetSelection(CServerNode* pNewSel, CDC* pDC);
- void SetSelection(CServerNode* pNewSel);
- // Operations
- public:
- void SetScrollInfo();
- BOOL SetZoomFactor(CSize zoomNum, CSize zoomDenom);
- void UpdateServerView();
- CSize CalcActualViewSize(CDC *pDC);
- CSize CalcActualItemSize(CServerNode* pItem, CDC *pDC);
- CSize CalcScaledViewSize();
- CSize CalcScaledItemSize(CServerNode* pItem);
- BOOL DoPasteItem(COleDataObject* pDataObject);
- void DoPasteNative(COleDataObject* pDataObject);
- void DoPasteText(COleDataObject* pDataObject);
- void DoImportText(CArchive &ar);
- void ScrollToItem(CServerNode* pItem, BOOL bScrollUp);
- void Locate(int cnt, BOOL bScrollUp);
- void InvalidateItem(CServerNode* pItem, CDC* pDC);
- void InvalidateItem(CServerNode* pItem);
- void ToggleSelectedItem();
- // Implementation
- public:
- virtual ~CServerView();
- virtual void OnDraw(CDC* pDC);
- virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
- virtual void OnInitialUpdate();
- virtual void OnPrepareDC(CDC* pDC, CPrintInfo* pInfo = NULL);
- #ifdef _DEBUG
- virtual void AssertValid() const;
- virtual void Dump(CDumpContext& dc) const;
- #endif
- protected:
- // drag/drop stuff
- COleDropTarget m_dropTarget;
- DROPEFFECT m_prevDropEffect;
- // current selection - store the node and the last drawn rect
- CServerNode* m_pSelectedNode;
- static CServerNode* NEAR m_pDragNode;
- // upper left of drawing
- CPoint m_ptStart;
- // zoom factor
- CSize m_zoomNum;
- CSize m_zoomDenom;
- // implementation helpers
- void SelectAtPoint(CPoint point, CPoint& pointHit);
- void DoBranch(CServerNode *pItem, BOOL bHide);
- virtual BOOL OnDrop(COleDataObject* pDataObject,
- DROPEFFECT dropEffect, CPoint point);
- virtual DROPEFFECT OnDragEnter(COleDataObject* pDataObject,
- DWORD grfKeyState, CPoint point);
- virtual DROPEFFECT OnDragOver(COleDataObject* pDataObject,
- DWORD grfKeyState, CPoint point);
- virtual void OnDragLeave();
- // Generated message map functions
- protected:
- //{{AFX_MSG(CServerView)
- afx_msg void OnChangeName();
- afx_msg void OnAddNode();
- afx_msg void OnUpdateHasSel(CCmdUI* pCmdUI);
- afx_msg void OnEditCopy();
- afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
- afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
- afx_msg void OnImportText();
- afx_msg void OnViewZoomCustom();
- afx_msg void OnEditCut();
- afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
- afx_msg void OnEditPaste();
- afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
- afx_msg void OnEditClear();
- afx_msg void OnTreeCollapsebranch();
- afx_msg void OnTreeExpandall();
- afx_msg void OnTreeExpandbranch();
- afx_msg void OnTreeExpandonelevel();
- afx_msg void OnUpdateTreeCollapsebranch(CCmdUI* pCmdUI);
- afx_msg void OnUpdateTreeExpandonelevel(CCmdUI* pCmdUI);
- afx_msg void OnUpdateTreeExpandall(CCmdUI* pCmdUI);
- afx_msg void OnUpdateTreeExpandbranch(CCmdUI* pCmdUI);
- afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
- afx_msg void OnSize(UINT nType, int cx, int cy);
- //}}AFX_MSG
- // special message handling
- afx_msg void OnZoom(UINT nID);
- afx_msg void OnUpdateZoom(CCmdUI* pCmdUI);
- DECLARE_MESSAGE_MAP()
- friend class CServerViewDC;
- };
- class CServerDC : public CClientDC
- {
- CFont font;
- CFont *pOldFont;
- public:
- CServerDC(CServerView *pView);
- ~CServerDC();
- };
- /////////////////////////////////////////////////////////////////////////////