⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mybutton.h

📁 超市管理系统超市管理系统超市管理系统超市管理系统超市管理系统超市管理系统
💻 H
字号:
//使用说明
//1:设置状态有三种:
//		A:正常即缺省状态不用对按钮做任何设置
//		B:设置为Disable和Notify为静态的文本
//		C:设置为Flat为隐藏形的
//2:设置对齐方式(SetXAlign)
//		A:文字在右 0 
//		B:文字在下 1
//		C:文字在上 2
//		D:文字在左 3
//3:设置图标(SetXico)
//------------------------------------------------------设计人:牛文平
#if !defined(AFX_MyButton_H__5254170E_59CF_11D1_ABBA_00A0243D1382__INCLUDED_)
#define AFX_MyButton_H__5254170E_59CF_11D1_ABBA_00A0243D1382__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CMyButton : public CButton
{
// Construction
public:
	CMyButton();
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMyButton)
	public:
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	protected:
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMyButton();
	//形状的设置数组
	CRgn   m_rgn;
	//效果色1
	COLORREF m_clrLeft;
	//效果色2
	COLORREF m_clrRight;
	//文本色
	COLORREF m_clrText;
	//背景色
	COLORREF m_clrBack;
	//设置为Flat时的背景色
	COLORREF m_clrFlatBack;
	//显示方式
	//文本 0 图形 1 ;
	int intStyle;
	//对齐方式
	//文字在右 0  文字在下1 文字在上2 文字在左 3
	int	intAlgin;
	//鼠标是否是按下状态
	BOOL m_blnMouseOn;
	//设置按钮样式
	//0-方形 1-方圆 2-椭圆
	int intButtonFace;
	//图标
	HICON Xicon;
	//图标的高度
	DWORD dwIconHeight;
	//图标的宽度
	DWORD dwIconWidth;
	//设置背景色
	void SetBackColor(COLORREF color);
	//设置文本色
	void SetTextColor(COLORREF color);
	//设置效果色
	void SetMaskColor(COLORREF colLeft,COLORREF colRight);
	//设置设置为Flat时的背景色
	void SetFlatBack(COLORREF colFlat);
	//鼠标离开按钮时触发
	LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam);
	LRESULT OnSetStyle(WPARAM wParam, LPARAM lParam);

	//设置图标
	void SetXIcon(UINT nIDResource);
	//显示方式
	//文字在右 0  文字在下1 文字在上2 文字在左 3
	void SetXAlign(int Align);
	//图像列表
	CImageList m_imgList;
	//图像大小
	CSize m_imgSize;
	//文本 0 图形 1;
	void SetXStyle(int Style);
	//设置背景
	void SetBackImage(UINT nIDResource);
	//设置按钮样式
	void SetButtonFace(int intStyle);
	//设置图像按钮
	void SetForeImage(UINT nIDResource,CSize sz);
	// Generated message map functions
protected:
	//{{AFX_MSG(CMyButton)
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg UINT OnGetDlgCode();
	afx_msg void OnSysColorChange();
	afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	//画图标
	void DrawIconX(CDC *pDC,CRect rcItem);
	//销毁图标,释放内存
	void DestroyXIcon();
	//得到图标的信息
	void GetXiconInf();
	void DrawImgX(CDC *pDC,CRect rcItem);
	//背景画刷
	CBrush m_BackBrush;
	BOOL m_bIsDefault;
	UINT m_nTypeStyle;
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MyButton_H__5254170E_59CF_11D1_ABBA_00A0243D1382__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -