STATBAR.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // statbar.h : definition of old backward compatible CStatusBar
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. #ifndef _STATBAR_H_
  13. #define _STATBAR_H_
  14. struct AFX_STATUSPANE;      // private to implementation
  15. class COldStatusBar : public CControlBar
  16. {
  17. DECLARE_DYNAMIC(COldStatusBar)
  18. // Construction
  19. public:
  20. COldStatusBar();
  21. BOOL Create(CWnd* pParentWnd,
  22. DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM,
  23. UINT nID = AFX_IDW_STATUS_BAR);
  24. BOOL SetIndicators(const UINT* lpIDArray, int nIDCount);
  25. // Attributes
  26. public: // standard control bar things
  27. int CommandToIndex(UINT nIDFind) const;
  28. UINT GetItemID(int nIndex) const;
  29. void GetItemRect(int nIndex, LPRECT lpRect) const;
  30. public:
  31. void GetPaneText(int nIndex, CString& s) const;
  32. BOOL SetPaneText(int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE);
  33. void GetPaneInfo(int nIndex, UINT& nID, UINT& nStyle, int& cxWidth) const;
  34. void SetPaneInfo(int nIndex, UINT nID, UINT nStyle, int cxWidth);
  35. UINT GetPaneStyle(int nIndex) const;
  36. void SetPaneStyle(int nIndex, UINT nStyle);
  37. // Implementation
  38. public:
  39. virtual ~COldStatusBar();
  40. virtual CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
  41. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  42. #ifdef _DEBUG
  43. virtual void AssertValid() const;
  44. virtual void Dump(CDumpContext& dc) const;
  45. void EnableDocking(DWORD dwDockStyle);
  46. #endif
  47. protected:
  48. HFONT m_hFont;
  49. int m_cxSizeBox;        // for Win4 style size box in corner
  50. BOOL m_bHideSizeBox;    // hide size box if TRUE
  51. inline AFX_STATUSPANE* _GetPanePtr(int nIndex) const;
  52. void DrawStatusText(CDC* pDC, const CRect& rect,
  53. LPCTSTR lpszText, UINT nStyle);
  54. virtual void DoPaint(CDC* pDC);
  55. virtual void OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler);
  56. //{{AFX_MSG(COldStatusBar)
  57. afx_msg UINT OnNcHitTest(CPoint point);
  58. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  59. afx_msg void OnSize(UINT nType, int cx, int cy);
  60. afx_msg LRESULT OnSetFont(WPARAM wParam, LPARAM lParam);
  61. afx_msg LRESULT OnGetFont(WPARAM wParam, LPARAM lParam);
  62. afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);
  63. afx_msg LRESULT OnGetText(WPARAM wParam, LPARAM lParam);
  64. afx_msg LRESULT OnGetTextLength(WPARAM wParam, LPARAM lParam);
  65. afx_msg LRESULT OnSizeParent(WPARAM wParam, LPARAM lParam);
  66. afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection);
  67. //}}AFX_MSG
  68. DECLARE_MESSAGE_MAP()
  69. };
  70. // define CStatusBar to COldStatusBar for convenience
  71. #define CStatusBar COldStatusBar
  72. #endif //!_STATBAR_H_