GuiComboFont.h
上传用户:wlkj888
上传日期:2022-08-01
资源大小:806k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. /****************************************************************************
  2.  * *  
  3.  * GuiToolKit   *
  4.  *                           (MFC extension) *  
  5.  * Created by Francisco Campos G. www.beyondata.com fcampos@beyondata.com *
  6.  *--------------------------------------------------------------------------*    
  7.  * *
  8.  * This program is free software; so you are free to use it any of your *
  9.  * applications(Freeware, Shareware, Commercial), but leave this header *
  10.  * intact. *
  11.  * *
  12.  * These files are provided "as is" without warranty of any kind. *
  13.  * *
  14.  *        GuiToolKit is forever FREE CODE !!!!! *
  15.  * *
  16.  *--------------------------------------------------------------------------*
  17.  * Created by: Francisco Campos G. *
  18.  * Bug Fixes and improvements :(Add your name) *
  19.  * -Francisco Campos *
  20.  * *
  21.  ****************************************************************************/
  22. #pragma once
  23. #include "GuiDrawLayer.h"
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CGuiComboFont window
  26. class GUILIBDLLEXPORT CGuiComboFont : public CComboBox
  27. {
  28. // Construction
  29. public:
  30. DECLARE_DYNAMIC(CGuiComboFont)
  31. CGuiComboFont();
  32. virtual ~CGuiComboFont();
  33. // Attributes
  34. public:
  35. // Operations
  36. public:
  37. enum enTypeShow{CM_NORMAL = 0, CM_ONFOCUS, CM_SELECCIONADO};
  38. public:
  39. BOOL m_bOverCombo;
  40. int m_iWidthDrowDown;
  41. COLORREF m_clrBtnFace;
  42. COLORREF m_clrBtnLight;
  43. COLORREF m_clrBtnDark;
  44. CFont m_Font;
  45. BOOL m_bPress;
  46. BOOL        m_bFondoXp;
  47. BOOL m_IsCallMiniTool;
  48. BOOL bhistory;
  49. public:
  50. //******************************************************
  51. void DrawCombo(enTypeShow enShow, CDC* pDC);
  52. void DrawArrow(CDC* pDC, CRect m_rc);
  53. void SetColor(COLORREF clrFace);
  54. void        AutoColor(BOOL bColor = TRUE);
  55. virtual void PreSubclassWindow();
  56. virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  57. virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  58. static BOOL CALLBACK EnumFontsProc(LPLOGFONT lplf, LPTEXTMETRIC lptm, 
  59. DWORD dwFontType, LPARAM lpData);
  60. void FillerCombo();
  61. protected:
  62. CImageList m_imgArrow; // imagen arrow
  63. CPoint mHeight;
  64. GuiDrawLayer m_dw;
  65. BOOL bColor;
  66. // Generated message map functions
  67. protected:
  68. //{{AFX_MSG(CGuiComboFont)
  69. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  70. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  71. afx_msg void OnPaint();
  72. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  73. afx_msg void OnTimer(UINT nIDEvent);
  74. // afx_msg void OnKillFocus(CWnd* pNewWnd);
  75. afx_msg void OnCbnKillfocus();// version 7.0
  76. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  77. afx_msg void OnSetFocus(CWnd* pOldWnd);
  78. afx_msg void OnSysColorChange();
  79. afx_msg void OnCloseup();
  80. afx_msg void OnSize(UINT nType, int cx, int cy);
  81. //}}AFX_MSG
  82. afx_msg void OnCbnEditupdate();
  83. DECLARE_MESSAGE_MAP()
  84. };