|
|
1.1 ! root 1: /* ! 2: * tree.h ! 3: */ ! 4: ! 5: /* ! 6: * Window class for tree ! 7: */ ! 8: ! 9: class CTREEWND : public CMDIChildWnd ! 10: { ! 11: private: ! 12: int m_cxChar; ! 13: int m_cyChar; ! 14: int m_cxCaps; ! 15: int m_nMaxWidth; ! 16: int m_cxClient; ! 17: int m_cyClient; ! 18: int m_nSelectLine; ! 19: CMenu * m_pMenuCurrent; ! 20: BOOL m_bWindowActive; ! 21: CRect rtArea; /* Size of total display */ ! 22: CPoint ptOrigin; ! 23: LOGFONT logFont; ! 24: BOOL fZoom; ! 25: RANGESTRUCT rs; ! 26: TIMERROOT timerRoot; ! 27: ! 28: public: ! 29: CTREEWND(); ! 30: ~CTREEWND(); ! 31: ! 32: RANGESTRUCT * prs() { return &rs; }; ! 33: ! 34: BOOL Create(LPCSTR szTitle, LONG style = 0, ! 35: const RECT& rect = rectDefault, CMDIFrameWnd* pParent = NULL); ! 36: ! 37: void InvalidateLine(); ! 38: ! 39: void InitTiming() {return; }; ! 40: void AddTiming(int iDepth, char * pszModule, char * pszFunction, int iCalls, TIMETYPE timeTotal, TIMETYPE timeFunction) ! 41: { ! 42: timerRoot.AddTiming(iDepth, pszModule, pszFunction, iCalls, timeTotal, timeFunction); ! 43: } ! 44: void EndTiming() { ! 45: CClientDC cdc( this ); ! 46: CRect rt; ! 47: ! 48: timerRoot.SetProperties(SET_COLORS|SET_PERCENT|SET_STRING|SET_SIZE|SET_LOCATION, ! 49: FALSE, &rs, &cdc); ! 50: SetRect(timerRoot.RectTotal()); ! 51: return; ! 52: }; ! 53: ! 54: void SetRect(CRect rt) { ! 55: rtArea = rt; ! 56: ! 57: ptOrigin.y = min( ptOrigin.y, rtArea.Height()); ! 58: SetScrollRange(SB_VERT, 0, rtArea.Height(), FALSE); ! 59: SetScrollPos( SB_VERT, ptOrigin.y, TRUE ); ! 60: ! 61: ptOrigin.x = min( ptOrigin.x, rtArea.Width() ); ! 62: ! 63: SetScrollRange( SB_HORZ, 0, rtArea.Width(), FALSE ); ! 64: SetScrollPos( SB_HORZ, ptOrigin.x, TRUE ); ! 65: return; ! 66: } ! 67: ! 68: // Message handlers ! 69: ! 70: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); ! 71: afx_msg void OnDestroy(); ! 72: afx_msg void OnDown(); ! 73: afx_msg void OnMDIActivate(BOOL bActivate, CWnd * pActivateWnd, CWnd * pDeactiveWnd); ! 74: afx_msg void OnExpandAll(); ! 75: afx_msg void OnFont(); ! 76: afx_msg void OnHScroll( UINT wParam, UINT pos, CScrollBar * control); ! 77: afx_msg void OnKeyDown( UINT wParam, UINT, UINT ); ! 78: afx_msg void OnLButtonDblClk( UINT wParam, CPoint location ); ! 79: afx_msg void OnLButtonDown( UINT wParam, CPoint location ); ! 80: afx_msg void OnPaint(); ! 81: afx_msg void OnRanges(); ! 82: afx_msg void OnSize(UINT nType, int cx, int cy); ! 83: afx_msg void OnTotal(); ! 84: afx_msg void OnUp(); ! 85: afx_msg void OnVScroll( UINT wParam, UINT pos, CScrollBar * control); ! 86: afx_msg void OnXYZ(); ! 87: afx_msg void OnZoom(); ! 88: ! 89: DECLARE_MESSAGE_MAP() ! 90: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.