📄 guibutton.h
字号:
//-----------------------------------------------------------------------//
// This is a part of the GuiLib MFC Extention. //
// Autor : Francisco Campos //
// (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved //
// This code is provided "as is", with absolutely no warranty expressed //
// or implied. Any use is at your own risk. //
// You must obtain the author's consent before you can include this code //
// in a software library. //
// If the source code in this file is used in any application //
// then acknowledgement must be made to the author of this program //
// fco_campos@tutopia.com //
//-----------------------------------------------------------------------//
#if !defined(AFX_SBUTTON_H__94947860_0E28_43E3_9F81_E966EF769ABE__INCLUDED_)
#define AFX_SBUTTON_H__94947860_0E28_43E3_9F81_E966EF769ABE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CSButton window
#include "GuiLib.h"
//*****************************************************************
class GUILIBDLLEXPORT CGuiButton : public CButton
{
// Construction
public:
//*************************************************
CGuiButton();
virtual ~CGuiButton();
//*************************************************
enum Style{ //Disposic祗n del estilo
STYLE_3D=0,
STYLE_SEMIFLAT=1,
STYLE_FLAT=2,
STYLEXP=3
};
enum AlingMsg{//alineacion del Mensaje
ALING_LEFT=0,
ALING_RIGTH=1
};
enum TypeButton{ //
TYPE_NORMAL=0,//Un boton normal
TYPE_ARROW=1, //un Boton con flecha por lo general para menus
TYPE_LINK=2 //Un boton con links
};
enum StyleArrow{
ARROW_RIGHT=0, //el flecha va a la derecha
ARROW_DOWN=1 //el flecha va hacia abajo
};
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
virtual BOOL PreTranslateMessage(MSG* pMsg);
virtual void PreSubclassWindow();
public:
//*********************************************************
void SetToolTip(LPCTSTR lpMsg); //pone tooltip al boton
void SetCaption(LPCSTR lpMsg); //pone un mensaje en el boton
void SetStyleBorder(Style m_Style=STYLE_3D); //el boton es 3d semiflat estilo xp, etc
void SetTypeButton(TypeButton m_TypeButton=TYPE_NORMAL);
void SetAlingArrow(StyleArrow m_AlingArron=ARROW_RIGHT);
void DrawBottonXP(CDC* pDC, CRect rc,BOOL bPress);
BOOL SetImage(UINT uBitmapNormal,UINT uBitmapFoco=(UINT)-1,
UINT uBitmapPush=(UINT)-1);
void SetImage(HICON hIcon);
void SetAlingMsg(AlingMsg m_AlingMsg=ALING_LEFT);
void ShowImage( BOOL m_viewimage=TRUE);
void ShowText( BOOL m_viewText=TRUE);
void ShowMenu();
void CalLayout();
void SetColor(COLORREF m_clrFace);
CSize GetSizeButton();
void SetDarkButton(BOOL bDark){m_bIsDark=bDark;};
void AutoSizeButton(BOOL m_bAutoAjust=TRUE);
void SetPopupMenu(CMenu* pMenu);
//********************************************************
protected:
CMenu* m_pMenu;
//********************************************************
CToolTipCtrl m_ToolTipCtrl;
int m_iAling; //message aling
int m_iStyle; //Border Style
int m_iTypeButton; //Style bottom (Arrow,Normal,Link)
int m_iSelected;
int m_iStyleArrow;
HICON m_hicon[3];
LPCSTR m_lpMsg;
BOOL m_viewImage;
BOOL m_ViewText;
int m_iResMenu;
BOOL m_iMenuActivo;
COLORREF m_clrface;
CSize m_szButton;
BOOL m_ReposWindow;
BOOL m_bIsDark;
// *******************************************************
public:
HMENU m_hMenu;
protected:
//{{AFX_MSG(CSButton)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnSysColorChange( );
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SBUTTON_H__94947860_0E28_43E3_9F81_E966EF769ABE__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -