// NCButton.h: interface for the CNCButton class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_NCBUTTON_H__F74B28E4_0F45_4E80_B6C4_59FD5968D2AA__INCLUDED_)
#define AFX_NCBUTTON_H__F74B28E4_0F45_4E80_B6C4_59FD5968D2AA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// #include <iostream.h>
// #include <string>
// #include <stdio.h>
// using namespace std;
// 对齐方式
#define ALIGN_LEFT
0x0001
#define ALIGN_TOP
0x0002
#define ALIGN_RIGHT
0x0004
#define ALIGN_BOTTOM
0x0008
// 按钮状态
#define BTNSTATE_NORMAL
0x0000
// 正常
#define BTNSTATE_MOUSEOVER
0x0001
// 鼠标在上面
#define BTNSTATE_LBUTTONDOWN
0x0002
// 鼠标左键按下
// 按钮位图
#define BTNBMP_NORMAL
0x0000
#define BTNBMP_MOUSEOVER
0x0001
#define BTNBMP_LBUTTONDOWN
0x0002
class CNCButton
{
private:
HWND
m_hParentWnd;
// 父窗口句柄
UINT
m_nID;
// 按钮ID
RECT
m_Rect;
// 按钮具体位置
SIZE
m_sizeBtn;
// 尺寸
POINT
m_ptOffset;
// 位置
BOOL
m_bCreated;
// 创建成功的标志
string
m_strText;
// 按钮文字
string
m_strTooltip;
// 工具提示
UINT
m_nAlign;
// 对齐方式
UINT
m_nState;
// 状态
UINT
m_nBmpNormal;
// 正常时候的位图ID
UINT
m_nBmpHover;
// 热点位图ID
UINT
m_nBmpDown;
// 按下时的位图ID
HFONT
m_hFont;
// 字体
HWND
m_hTooltip;
// 工具提示
public:
void
SetTooltip(LPCTSTR lpszText);
void
ShowTooltip(BOOL bShow);
void
SetText(LPCTSTR lpszText, LPCTSTR lpszFont, int nSize, BYTE lfCharSet = GB2312_CHARSET);
void
SetButtonBitmap(UINT nBmpID, UINT nCase);
void
DrawTransparentBmp(HDC hdc, int nXOriginDest, int nYOriginDest, int nWidth, int nHeight, WORD wBmpID, COLORREF crTransparent);
void
FillSolidRect(HDC hdc, int x, int y, int cx, int cy, COLORREF clr);
void
Draw3dRect(HDC hdc, LPRECT lpRect, COLORREF clrTopLeft, COLORREF clrBottomRight );
UINT
GetButtonID() { return m_nID; }
UINT
GetState() { return m_nState; }
void
SetState(UINT nState) { m_nState = nState;
}
HWND
GetParentWnd() { return m_hParentWnd; }
BOOL
OnHitTest(POINT point);
void
SetAlign(UINT nAlign);
BOOL
Create(LPCTSTR lpszText, HWND hParentWnd, POINT& ptOffset, SIZE& sizeBtn, UINT nID);
BOOL
IsCreated() { return m_bCreated; }
void
OnPaint();
CNCButton();
virtual void OnSetCursor();
virtual void OnParentSize(UINT nSide, LPRECT lpRect );
virtual void OnPaintDown(HDC hdc);
virtual void OnPaintHover(HDC hdc);
virtual void OnPaintNormal(HDC hdc);
virtual void OnMouseMove(POINT point);
virtual void OnMouseLButtonDown();
virtual void OnMouseLButtonUp();
virtual void OnMouseClick();
virtual void OnMouseLeave();
virtual ~CNCButton();
};
#endif // !defined(AFX_NCBUTTON_H__F74B28E4_0F45_4E80_B6C4_59FD5968D2AA__INCLUDED_)
这是.h文件。
在网上查了说是没有引用
// #include <iostream.h>
// #include <string>
// #include <stdio.h>
// using namespace std;
这些头文件,我添上了,但是还报错