📄 cbutton.cpp
字号:
#include "../GameH.h"
CButton::CButton()
{
ID=0;
Text=NULL;
IsCheck=FALSE;
CR[0]=RGB(255,0,128);CR[1]=RGB(255,255,0);CR[2]=RGB(0,255,0); //颜色初始化
ClickSound=NULL;
x=0;y=0;
PicS=NULL;
}
CButton::~CButton()
{
if(PicS!=NULL)
{
PicS->Release();
PicS=NULL;
}
//其他的不用管了
}
bool CButton::InitButton(int XID,char *XText,int Xx,int Xy,char *CS)
{
ID=XID;Text=XText;x=Xx;y=Xy;ClickSound=CS;
CR[0]=RGB(255,0,128);CR[1]=RGB(255,255,0);CR[2]=RGB(0,255,0); //颜色初始化
return true;
}
void CButton::Show(LPDIRECTDRAWSURFACE7 Surf)
{
if (IsCheck==FALSE) {ButtonFont.SetColor(CR[0]);ButtonFont.PrintText(Surf,x,y,Text);} //鼠标没在上面或没激活
if (IsCheck==TRUE) {ButtonFont.SetColor(CR[1]);ButtonFont.PrintText(Surf,x,y,Text);} //鼠标到上面或用键盘移动
if (IsCheck==2) {ButtonFont.SetColor(CR[2]);ButtonFont.PrintText(Surf,x,y,Text);} //点击鼠标或激活并回车
}
BOOL CButton::CheckLoop(bool MMoveT,bool KDown,bool MDown,LPDIRECTDRAWSURFACE7 Surf)
{
POINT cs;
GetCursorPos(&cs);
if (MMoveT==true&&KDown==true) {RunMessage(MS_PLAYSOUND,0,ClickSound,0,0,0,0,NULL,0);IsCheck=2;}
else if (MMoveT==true) IsCheck=TRUE;
if (cs.x>x&&cs.x<int(x+((strlen(Text)*ButtonFont.font_Size)>>1))&&cs.y>y&&cs.y<int(y+ButtonFont.font_Size))
{
if (MDown==true) {RunMessage(MS_PLAYSOUND,0,ClickSound,0,0,0,0,NULL,0);IsCheck=2;}
else IsCheck=TRUE;
}
else IsCheck=FALSE;
Show(Surf); //显示
return IsCheck;
}
bool CButton::SetButtonColor(COLORREF color1,COLORREF color2,COLORREF color3)
{
CR[0]=color1;CR[1]=color2;CR[2]=color3;
return true;
}
bool CButton::SetButtonFont(int size,char *FontName)
{
ButtonFont.SetFont(size,FontName) ;
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -