DkToolBar.h
上传用户:lds876
上传日期:2013-05-25
资源大小:567k
文件大小:3k
源码类别:

P2P编程

开发平台:

Visual C++

  1. // DkToolBar.h : header file
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. // CDkToolBar window
  5. #ifndef __CDKTOOLBAR__
  6. #define __CDKTOOLBAR__
  7. class CToolBarInfo
  8. {
  9. public:
  10. TBBUTTON  tbButton; // information regarding the button
  11. LPCTSTR  btnText; // text for the button
  12. };
  13. class CDkToolBar : public CToolBar
  14. {
  15. // Construction
  16. public:
  17. // default construction
  18.  CDkToolBar();
  19. // overridden Create(...) allows initialization of toolbar
  20.  // information which allows user-customization; allows
  21.  // specification of registry key which allows toolbar
  22.  // state persistance
  23. BOOL  Create(CWnd *pParentWnd,
  24. DWORD dwCtrlStyle = TBSTYLE_FLAT, 
  25. DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP, 
  26. UINT nID = AFX_IDW_TOOLBAR, 
  27. CToolBarInfo *tbInfo = NULL,
  28. CString regSubKey = "",
  29. CString regValue = "",
  30. HKEY regKey = HKEY_CURRENT_USER);
  31. // overridden LoadToolBar allows automatic restoration
  32.  // of toolbar information and calculation of total
  33.  // button count
  34. inline BOOL  LoadToolBar(UINT idResource, BOOL restore = FALSE)
  35. {
  36. BOOL  success; // indicates success;
  37. // load the toolbar bitmap
  38. success = CToolBar::LoadToolBar(idResource);
  39. // count the buttons
  40. nButtons = GetToolBarCtrl().GetButtonCount();
  41. // if we're supposed to restore last setting
  42. if (restore)
  43. {
  44. RestoreState();
  45. }
  46. return success;
  47. }
  48. // Attributes
  49. public:
  50. virtual BOOL  PreTranslateMessage(MSG* pMsg);
  51. void  SaveState();
  52. void  RestoreState();
  53. int  NButtons(); // number of buttons on toolbar
  54. // Operations
  55. public:
  56. // Overrides
  57. // ClassWizard generated virtual function overrides
  58. //{{AFX_VIRTUAL(CDkToolBar)
  59. //}}AFX_VIRTUAL
  60. // Implementation
  61. public:
  62. virtual ~CDkToolBar();
  63. // Generated message map functions
  64. protected:
  65. CToolBarInfo *toolBarInfo; // table of buttons and text
  66. int  nButtons; // number of buttons on toolbar
  67. CSize  defBtnSize; // default button size
  68. CSize  defImgSize; // default image size
  69. CSize  txtBtnSize; // size of buttons with text
  70. BOOL  iconsAndText; // indicates if text is shown under icons
  71. HKEY  registryKey; // key where toolbar information is kept
  72. CString  registrySubKey; // key where toolbar information is kept
  73. CString  registryValue; // value where toolbar information is kept
  74. //{{AFX_MSG(CDkToolBar)
  75. afx_msg void OnPopupCustomize();
  76. afx_msg void OnDestroy();
  77. //}}AFX_MSG
  78. afx_msg void OnToolBarQueryDelete(NMHDR *notify, LRESULT *result);
  79. afx_msg void OnToolBarQueryInsert(NMHDR *notify, LRESULT *result);
  80. afx_msg void OnToolBarChange(NMHDR *notify, LRESULT *result);
  81. afx_msg void OnToolBarBeginDrag(NMHDR *notify, LRESULT *result);
  82. afx_msg void OnToolBarEndDrag(NMHDR *notify, LRESULT *result);
  83. afx_msg void OnToolBarBeginAdjust(NMHDR *notify, LRESULT *result);
  84. afx_msg void OnToolBarCustomHelp(NMHDR *notify, LRESULT *result);
  85. afx_msg void OnToolBarEndAdjust(NMHDR *notify, LRESULT *result);
  86. afx_msg void OnToolBarGetButtonInfo(NMHDR *notify, LRESULT *result);
  87. afx_msg void OnToolBarReset(NMHDR *notify, LRESULT *result);
  88. afx_msg void OnContextMenu(CWnd*, CPoint point);
  89. DECLARE_MESSAGE_MAP()
  90. };
  91. /////////////////////////////////////////////////////////////////////////////
  92. #endif