ExtColorDlg.h
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:5k
源码类别:

界面编程

开发平台:

Visual C++

  1. // This is part of the Professional User Interface Suite library.
  2. // Copyright (C) 2001-2009 FOSS Software, Inc.
  3. // All rights reserved.
  4. //
  5. // http://www.prof-uis.com
  6. // mailto:support@prof-uis.com
  7. //
  8. // This source code can be used, modified and redistributed
  9. // under the terms of the license agreement that is included
  10. // in the Professional User Interface Suite package.
  11. //
  12. // Warranties and Disclaimers:
  13. // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND
  14. // INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
  15. // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  16. // IN NO EVENT WILL FOSS SOFTWARE INC. BE LIABLE FOR ANY DIRECT,
  17. // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES,
  18. // INCLUDING DAMAGES FOR LOSS OF PROFITS, LOSS OR INACCURACY OF DATA,
  19. // INCURRED BY ANY PERSON FROM SUCH PERSON'S USAGE OF THIS SOFTWARE
  20. // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  21. #if (!defined __EXTCOLORDLG_H)
  22. #define __EXTCOLORDLG_H
  23. #if (!defined __EXT_MFC_DEF_H)
  24. #include <ExtMfcDef.h>
  25. #endif // __EXT_MFC_DEF_H
  26. #if _MSC_VER > 1000
  27. #pragma once
  28. #endif // _MSC_VER > 1000
  29. #if (!defined __EXTCOLORCTRL_H)
  30. #include <ExtColorCtrl.h>
  31. #endif
  32. #if (!defined __EXT_BUTTON_H)
  33. #include <ExtButton.h>
  34. #endif
  35. #if (!defined __EXT_COMBO_BOX_H)
  36. #include <ExtComboBox.h>
  37. #endif
  38. #if (!defined __EXT_RESIZABLE_DIALOG_H)
  39. #include <ExtResizableDialog.h>
  40. #endif
  41. #if (!defined __EXT_LABEL_H)
  42. #include <ExtLabel.h>
  43. #endif
  44. #if (!defined __EXT_SPIN_H)
  45. #include <ExtSpinWnd.h>
  46. #endif
  47. #if (!defined __EXT_NC_FRAME_H)
  48. #include <ExtNcFrame.h>
  49. #endif
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CExtColorDlg dialog
  52. #if (!defined __EXT_MFC_NO_SPIN)
  53. typedef CExtSpinWnd CExtSpinWndInColorDlg;
  54. typedef CExtEdit CExtEditInColorDlg;
  55. #else
  56. typedef CSpinButtonCtrl CExtSpinWndInColorDlg;
  57. typedef CEdit CExtEditInColorDlg;
  58. #endif
  59. #if (!defined __EXT_MFC_NO_NC_FRAME)
  60. #define __BASEOF_CExtColorDlg__ CExtNCW < CExtResizableDialog >
  61. #else
  62. #define __BASEOF_CExtColorDlg__ CExtResizableDialog
  63. #endif
  64. #if _MFC_VER == 0x700
  65. #ifndef __EXT_PROFUIS_STATIC_LINK
  66. template class __PROF_UIS_API __BASEOF_CExtColorDlg__;
  67. #endif  // #ifndef __EXT_PROFUIS_STATIC_LINK
  68. #endif
  69. class __PROF_UIS_API CExtColorDlg
  70. : public __BASEOF_CExtColorDlg__
  71. {
  72. // Construction
  73. public:
  74. DECLARE_DYNAMIC( CExtColorDlg );
  75. CExtColorDlg(
  76. COLORREF clrInit = RGB(255,255,255),
  77. COLORREF clrNew = RGB(255,255,255),
  78. CWnd * pParent = NULL
  79. ); // standard constructor
  80. virtual ~CExtColorDlg();
  81. COLORREF m_clrInit,m_clrNew;
  82. CExtSafeString m_strCaption; // if non-empty - used to setup color dialog caption
  83. CExtSafeString m_strSection, m_strEntryDialogPosition, m_strEntryColorModelSelection;
  84. // Dialog Data
  85. //{{AFX_DATA(CExtColorDlg)
  86. CExtSpinWndInColorDlg m_SpinC;
  87. CExtSpinWndInColorDlg m_SpinM;
  88. CExtSpinWndInColorDlg m_SpinY;
  89. CExtSpinWndInColorDlg m_SpinS;
  90. CExtSpinWndInColorDlg m_SpinR;
  91. CExtSpinWndInColorDlg m_SpinL;
  92. CExtSpinWndInColorDlg m_SpinH;
  93. CExtSpinWndInColorDlg m_SpinG;
  94. CExtSpinWndInColorDlg m_SpinB;
  95. CExtEditInColorDlg m_EditC;
  96. CExtEditInColorDlg m_EditM;
  97. CExtEditInColorDlg m_EditY;
  98. CExtEditInColorDlg m_EditS;
  99. CExtEditInColorDlg m_EditR;
  100. CExtEditInColorDlg m_EditL;
  101. CExtEditInColorDlg m_EditH;
  102. CExtEditInColorDlg m_EditG;
  103. CExtEditInColorDlg m_EditB;
  104. CExtComboBox m_ComboType;
  105. CExtButton m_BtnCancel;
  106. CExtButton m_BtnOK;
  107. CExtLabel m_labelColors;
  108. CExtLabel m_labelChR;
  109. CExtLabel m_labelChG;
  110. CExtLabel m_labelChB;
  111. CExtLabel m_labelChC;
  112. CExtLabel m_labelChM;
  113. CExtLabel m_labelChY;
  114. CExtLabel m_labelChH;
  115. CExtLabel m_labelChS;
  116. CExtLabel m_labelChL;
  117. CExtLabel m_labelTxtNew;
  118. CExtLabel m_labelTxtCurrent;
  119. //}}AFX_DATA
  120. // ClassWizard generated virtual function overrides
  121. //{{AFX_VIRTUAL(CExtColorDlg)
  122. protected:
  123. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  124. //}}AFX_VIRTUAL
  125. virtual void OnOK();
  126. virtual void OnCancel();
  127. // Implementation
  128. protected:
  129. bool m_bDialogInitColplete,m_bSyncingValues;
  130. HICON m_hIcon;
  131. CExtColorCtrl m_wndColorCtrl,m_wndColorDiff;
  132. virtual bool OnQueryAutomaticRTLTransform() const
  133. {
  134. return true;
  135. }
  136. virtual bool _ColorModelLoad();
  137. virtual bool _ColorModelSave();
  138. // Generated message map functions
  139. //{{AFX_MSG(CExtColorDlg)
  140. virtual BOOL OnInitDialog();
  141. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  142. afx_msg void OnSelendokComboSelType();
  143. afx_msg void OnSize(UINT nType, int cx, int cy);
  144. //}}AFX_MSG
  145. LRESULT OnColorChanged(WPARAM wParam,LPARAM lParam);
  146. afx_msg void SyncFromEditRGB();
  147. afx_msg void SyncFromEditCMY();
  148. afx_msg void SyncFromEditHSL();
  149. DECLARE_MESSAGE_MAP()
  150. private:
  151. void SyncToEditRGB(
  152. COLORREF clr,
  153. bool bSyncRGB,
  154. bool bSyncCMY,
  155. bool bSyncHLS
  156. );
  157. public:
  158. virtual __EXT_MFC_INT_PTR DoModal();
  159. }; // class CExtColorDlg
  160. //{{AFX_INSERT_LOCATION}}
  161. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  162. #endif // __EXTCOLORDLG_H