CustomizeDialog.h

上传用户:lczygg
上传日期:2007-07-03
资源大小:2947k
文件大小:4k
源码类别:语音合成与识别
开发平台:Visual C++
  1. /////////////////////////////////////////////////////////////////////////////
  2. // CustomizeDialog.h: interface for the CCustomizeDialog class.
  3. //
  4. /////////////////////////////////////////////////////////////////////////////
  5. // Copyright (c) 2001 by Nikolay Denisov. All rights reserved.
  6. //
  7. // This code is free for personal and commercial use, providing this 
  8. // notice remains intact in the source files and all eventual changes are
  9. // clearly marked with comments.
  10. //
  11. // You must obtain the author's consent before you can include this code
  12. // in a software library.
  13. //
  14. // No warrantee of any kind, express or implied, is included with this
  15. // software; use at your own risk, responsibility for damages (if any) to
  16. // anyone resulting from the use of this software rests entirely with the
  17. // user.
  18. //
  19. // Please email bug reports, bug fixes, enhancements, requests and
  20. // comments to: nick@actor.ru
  21. /////////////////////////////////////////////////////////////////////////////
  22. #ifndef __CUSTOMIZEDIALOG_H__
  23. #define __CUSTOMIZEDIALOG_H__
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. // This define determines whether the List Boxes in Customize Toolbar has Customdraw or not.
  28. //#define CUSTOM_DRAW  // should listbox custom draw be done ,as it uses undocumented things
  29. enum TextOptions
  30. {
  31.     toNone          = -1,
  32.     toTextLabels    =  0,
  33.     toTextOnRight   =  1,
  34.     toNoTextLabels  =  2,
  35. };
  36. enum IconOptions
  37. {
  38.     ioNone          = -1,
  39.     ioSmallIcons    =  0,
  40.     ioLargeIcons    =  1,
  41. };
  42. // Customize dialog
  43. #define IDD_CUSTOMIZE                   0x7900
  44. // Customize dialog controls
  45. #define IDC_CB_TEXTOPTIONS              1000
  46. #define IDC_CB_ICONOPTIONS              1001
  47. class CToolBarEx;
  48. /////////////////////////////////////////////////////////////////////////////
  49. // CCustomizeDialog dialog
  50. class CCustomizeDialog : public CWnd
  51. {
  52.     DECLARE_DYNAMIC( CCustomizeDialog );
  53. // Construction
  54. public:
  55.     CCustomizeDialog( CToolBarEx* pToolBar,
  56.                       TextOptions eTextOptions,
  57.                       IconOptions eIconOptions );
  58. // Operations
  59. public:
  60.     void SetTextOptions( TextOptions eTextOptions);
  61.     void SetIconOptions( IconOptions eIconOptions);
  62.     TextOptions  GetTextOptions() { return m_eTextOptions; }
  63.     IconOptions GetIconOptions() { return m_eIconOptions; }
  64. // Overrides
  65.     // ClassWizard generated virtual function overrides
  66.     //{{AFX_VIRTUAL(CCustomizeDialog)
  67. protected:
  68. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  69. //}}AFX_VIRTUAL
  70. // Implementation
  71. protected:
  72. #ifdef CUSTOM_DRAW
  73.     CSize GetButtonSize() const;
  74. #endif // CUSTOM_DRAW
  75. // Implementation data
  76. protected:
  77.     CToolBarEx*     m_pToolBar;
  78. // Generated message map functions
  79. protected:
  80. #ifdef CUSTOM_DRAW
  81. void GetColors();
  82. #endif // CUSTOM_DRAW
  83. CComboBox m_wndIconOptions;
  84. CComboBox m_wndTextOptions;
  85. CStatic m_wndIconOptionsText;
  86. CStatic m_wndTextOptionsText;
  87.     TextOptions m_eTextOptions;
  88.     IconOptions m_eIconOptions;
  89. #ifdef CUSTOM_DRAW
  90. COLORREF m_clrHighLightText;
  91. COLORREF m_clrBtnText;
  92.     COLORREF m_clrHighLight;
  93.     COLORREF m_clrBtnFace;
  94.     COLORREF m_clrGrayText;
  95.     COLORREF m_clr3dShadow;
  96.     COLORREF m_clr3dHilite;
  97. #endif // CUSTOM_DRAW
  98.     //{{AFX_MSG(CCustomizeDialog)
  99.     afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  100.     afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
  101.     afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
  102. afx_msg void OnSysColorChange();
  103. //}}AFX_MSG
  104.     afx_msg void OnTextOptions();
  105.     afx_msg void OnIconOptions();
  106.     LRESULT OnInitDialog( WPARAM wParam, LPARAM lParam );
  107.     DECLARE_MESSAGE_MAP()
  108. };
  109. /////////////////////////////////////////////////////////////////////////////
  110. #endif  // !__CUSTOMIZEDIALOG_H__