SwitcherWnd.h
上传用户:sdpcwz
上传日期:2009-12-14
资源大小:1237k
文件大小:2k
源码类别:

书籍源码

开发平台:

Visual C++

  1. #if !defined(AFX_SWITCHERWND_H__91B9D501_D8DB_11D2_9FDF_D79776C64A53__INCLUDED_)
  2. #define AFX_SWITCHERWND_H__91B9D501_D8DB_11D2_9FDF_D79776C64A53__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // SwitcherWnd.h
  7. //
  8. // Programmed by: JIMMY BRUSH (Kathy007@email.msn.com)
  9. // 
  10. // Legal:
  11. //
  12. // THIS CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
  13. // You may use and distribute this code provided that you do not
  14. // remove this title header and that you do not charge money for
  15. // it. If you want to update the code, feel free to do so, as long
  16. // as you *mark your changes* in code AND in the revision log below
  17. // (and send it to me ;)
  18. #include "SwitcherButton.h"
  19. #define SWM_SELCHANGE (WM_USER + 137)
  20. #define SWM_UNSELECT (WM_USER + 138)
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CSwitcherWnd window
  23. class CSwitcherWnd : public CWnd
  24. {
  25. // Construction
  26. public:
  27. CSwitcherWnd();
  28. // Attributes
  29. public:
  30. // Operations
  31. public:
  32. // Overrides
  33. // ClassWizard generated virtual function overrides
  34. //{{AFX_VIRTUAL(CSwitcherWnd)
  35. //}}AFX_VIRTUAL
  36. // Implementation
  37. public:
  38. BOOL ModifyButton(int index, CString text, HICON icon);
  39. int GetNumButtons();
  40. HICON GetButtonIcon(int id);
  41. CString GetButtonText(int id);
  42. BOOL SetSel(int num);
  43. int GetSel();
  44. int FindButton(CString text, HICON icon = NULL, int StartAt = 0);
  45. BOOL RemoveButton(int index);
  46. void RemoveAll();
  47. BOOL AddButton(CString title, HICON icon);
  48. BOOL DoCreate(CWnd* parent, int x, int y, int cx, int cy = 25, CString title = "SwitcherWnd");
  49. virtual ~CSwitcherWnd();
  50. protected:
  51. int m_iNextButtonStart;
  52. int m_iButtonWidth;
  53. int m_iSelectedButton;
  54. void ResizeButtons(int NewSize);
  55. CSwitcherButton* GetButtonFromID(int id);
  56. CPtrArray m_Buttons;
  57. CWnd* m_wndParent;
  58. // Generated message map functions
  59. protected:
  60. //{{AFX_MSG(CSwitcherWnd)
  61. afx_msg void OnDestroy();
  62. afx_msg void OnPaint();
  63. afx_msg void OnSize(UINT nType, int cx, int cy);
  64. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  65. //}}AFX_MSG
  66. afx_msg LRESULT OnUnselect(WPARAM, LPARAM);
  67. afx_msg LRESULT OnSelChange(WPARAM, LPARAM);
  68. DECLARE_MESSAGE_MAP()
  69. };
  70. /////////////////////////////////////////////////////////////////////////////
  71. //{{AFX_INSERT_LOCATION}}
  72. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  73. #endif // !defined(AFX_SWITCHERWND_H__91B9D501_D8DB_11D2_9FDF_D79776C64A53__INCLUDED_)