MFC 滑动条实现

来源:互联网 发布:win8 装 ubuntu 编辑:程序博客网 时间:2024/05/23 05:08

//头文件

#ifndef GOLD_CONTROL_HEAD_FILE
#define GOLD_CONTROL_HEAD_FILE


#pragma once


#include "Stdafx.h"
#define IDM_MAX_SCORE  WM_USER+120//最大下注
#define IDM_MIN_SCORE  WM_USER+121//最小下注
#define IDM_OK_SCORE  WM_USER+122//确定消息
#define IDM_CANCEL_SCORE  WM_USER+123//取消消息
#define IDM_USER_ADD  WM_USER+124//用户加注
//////////////////////////////////////////////////////////////////////////


//金币控制
class CGoldControl : public CWnd
{
//变量定义
protected:
LONGLONG m_lMaxGold; //最大金币
LONGLONG m_lMinGold; //最小金币
LONGLONG m_lGoldCell[7]; //单元金币
CPoint m_BasicPoint; //基础位置
LONGLONG m_lFollowGold; //跟注金币
LONGLONG m_SecondGold; //第二金币


WORD m_bScoreTmp;//分数
bool m_bLeftButtonOn;//鼠标左键
CPoint m_bInitialPn; //初始位置
CPoint m_bLastPn; //最后位置
LONGLONG m_bNowGold; //当前金币


bool m_bKeyDown;//按键按下
//位置变量
protected:
int m_nWidth;//控件宽度
int m_nCellCount;//单元数目


//按纽控件
public:
CSkinButton m_btMaxScore; //最大按钮
CSkinButton    m_btMinScore; //最小按钮
CSkinButton    m_btThreeTmp; //三倍大盲
CSkinButton    m_btToTal; //底池按纽
CSkinButton m_btAdd; //加按钮
CSkinButton m_btMinus; //减按钮




//资源变量
protected:
CBitImage m_ImageLeft; //背景资源
CBitImage m_ImageMid; //背景资源
CBitImage m_ImageRight; //背景资源
CBitImage m_ImageNumber; //数字资源
CPngImageEx m_PngHaveScore; //有分数
CPngImageEx m_PngNoScore; //无分数
CPngImageEx m_PngScoreBar; //分数框


CEdit m_Edit;//编辑框
HBRUSH m_brMine; //颜色刷
bool m_IsFirstIn;//首次输入
bool m_MoveState;//移动状态
// bool m_IsKenIn; //键盘输入
//函数定义
public:
//构造函数
CGoldControl();
//析构函数
virtual ~CGoldControl();


//功能函数
public:
//获取金币
LONGLONG GetGold();
//设置金币
void SetGold(LONGLONG lGold);
//设置限注
void SetMaxGold(LONGLONG lMaxGold);
//设置最小
void SetMinGold(LONGLONG lMinGold);
//设置最小加注
void SetSmallGold(LONGLONG lSmallGold);
//设置位置
void SetBasicPoint(int nXPos, int nYPos);
//设置移动状态
void SetLeftButtonUp(bool IsUp);
//设置刷新
void SetText();
//发送加注
void SendAdd();
//获取金币字符串
WORD GetGlodString(LONGLONG lGold, TCHAR szString[]);
//获取最大金币
LONGLONG GetMaxGold();
//设置第二大金币
void SetSecondGold(LONGLONG bSecondGold);
//内部函数
private:
//调整控件
void RectifyControl();


BOOL PreTranslateMessage(MSG* pMsg);


//消息映射
protected:
//重画函数
afx_msg void OnPaint();
//左键按下消息
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
//键盘事件
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt,UINT nFlags);
////右键按下消息
//afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
//设置光标
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
//最小下注
afx_msg void OnMinScore();
//最大下注
afx_msg void OnMaxScore();
//三倍大盲
afx_msg void OnThreeTmp();
//底池按钮
afx_msg void OnToTal();
//+消息
afx_msg void OnAddScore();
//-消息
afx_msg void OnMinusScore();
//添加颜色
afx_msg HBRUSH    OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor) ;
//鼠标移动
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
//左键落
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//鼠标双击
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);


DECLARE_MESSAGE_MAP()
public:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

};




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


#endif

//实现

#include "Stdafx.h"

#include "Math.h"
#include "Resource.h"
#include "GoldControl.h"
#include ".\goldcontrol.h"
//////////////////////////////////////////////////////////////////////////
//宏定义


#define CELL_WIDTH 23//单元宽度
#define LESS_WIDTH 229//最小宽度
#define CONTROL_HEIGHT 58//控件高度
#define BAR_WIDTH9 //滑块的宽度
#define BAR_HEIGHT 18//滑块的高度
#define IMAGE_HEIGHT 58//图片高度
#define IMAGE_WIDTH 46//图片宽度


#define SCORE_WIDTH100 //分数框位置


//按钮标识
#define  IDC_MAXSCORE 101//最大下注
#define  IDC_MINSCORE 102//最小下注
#define  IDC_OK 103//确定按纽
#define  IDC_CANCEL 104//取消按纽
#define  IDC_ADD 105//加按钮
#define IDC_MINUS106 //减按钮
#define IDC_EDIT107 //编辑框
#define IDC_TEST108 //编辑选项


#define MIN_ADD m_lFollowGold//最小加注
//////////////////////////////////////////////////////////////////////////


BEGIN_MESSAGE_MAP(CGoldControl, CWnd)
ON_WM_PAINT()
ON_WM_LBUTTONUP()
//ON_WM_RBUTTONUP()
ON_WM_SETCURSOR()
ON_WM_CREATE()
ON_WM_KEYDOWN()
ON_WM_LBUTTONDBLCLK()
ON_BN_CLICKED(IDC_MINSCORE,OnMinScore)
ON_BN_CLICKED(IDC_MAXSCORE,OnMaxScore)
ON_BN_CLICKED(IDC_OK,OnThreeTmp)
ON_BN_CLICKED(IDC_CANCEL,OnToTal)
ON_BN_CLICKED(IDC_ADD,OnAddScore)
ON_BN_CLICKED(IDC_MINUS,OnMinusScore)
ON_WM_CTLCOLOR()

ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()

END_MESSAGE_MAP()


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




//构造函数
CGoldControl::CGoldControl()
{
//界面变量
m_nWidth=0;
m_nCellCount=0;


//设置变量
m_lMaxGold = 0L;
m_lMinGold = 0L;
ZeroMemory(m_lGoldCell,sizeof(m_lGoldCell));


//加载资源
HINSTANCE hInstance=AfxGetInstanceHandle();
m_ImageLeft.LoadFromResource(hInstance,IDB_LEFT);


m_PngHaveScore.LoadImage(this,hInstance,TEXT("SCORE_YES"));
m_PngNoScore.LoadImage(this,hInstance,TEXT("SCORE_NO"));
m_PngScoreBar.LoadImage(this,hInstance,TEXT("SCORE_BAR"));


m_IsFirstIn=false;
m_MoveState=false;
m_bScoreTmp=0;
m_bLeftButtonOn=false;
m_lFollowGold=0;
m_SecondGold=0;
}


//析构函数
CGoldControl::~CGoldControl()
{
}


//获取金币
LONGLONG CGoldControl::GetGold()
{
return m_bNowGold;
}


//设置金币
void CGoldControl::SetGold(LONGLONG lGold)
{
//设置变量
m_bNowGold=lGold;
SendAdd();
if(m_bNowGold==m_lMaxGold)
{
m_bScoreTmp=100;
}
else 
{
m_bScoreTmp=m_lMinGold*100/m_lMaxGold;
}
TCHAR szBuffer[64]=TEXT("");
GetGlodString(m_bNowGold,szBuffer);
m_Edit.SetWindowText(szBuffer);


InvalidateRect(CRect(92,29,208,50));
// InvalidateRect(CRect(10,30,77,44));
return;
}


//设置用户最小下注
void CGoldControl::SetMinGold(LONGLONG lMinGold)
{
//校验改变
if (lMinGold>m_lMaxGold) return;
if((lMinGold == m_lMinGold)||(lMinGold <0L)) return;
ZeroMemory(m_lGoldCell,sizeof(m_lGoldCell));


////设置变量
m_lMinGold = lMinGold;
//设置变量
int nIndex=0;
while (lMinGold>0L)
{
m_lGoldCell[nIndex++]=lMinGold%10L;
lMinGold/=10L;
}
//调整界面
InvalidateRect(CRect(92,29,208,50));
//InvalidateRect(CRect(10,30,77,44));
return;
}


//设置用户最高下注数
void CGoldControl::SetMaxGold(LONGLONG lMaxGold)
{
//效验改变
if (m_lMaxGold==lMaxGold) return;


//设置变量
m_lMaxGold=lMaxGold;


//计算单元
m_nCellCount=0;
while (lMaxGold>0L)
{
lMaxGold/=10L;
m_nCellCount++;
}
m_nCellCount=__min(CountArray(m_lGoldCell),__max(m_nCellCount,1));


//设置界面
m_nWidth=229;


MoveWindow(m_BasicPoint.x-m_nWidth,m_BasicPoint.y-CONTROL_HEIGHT,m_nWidth,CONTROL_HEIGHT);
return;
}




//设置位置
void CGoldControl::SetBasicPoint(int nXPos, int nYPos)
{
//设置变量
m_BasicPoint.x=nXPos;
m_BasicPoint.y=nYPos;


//调整界面
RectifyControl();


return;
}
void CGoldControl::SetText()
{
TCHAR szBuffer[64]=TEXT("");
GetGlodString(m_bNowGold,szBuffer);
m_Edit.SetWindowText(szBuffer);


InvalidateRect(CRect(92,29,208,50));
}
//设置小盲
void CGoldControl::SetSmallGold(LONGLONG lSmallGold)
{
m_lFollowGold=lSmallGold;
}
//调整控件
void CGoldControl::RectifyControl()
{
MoveWindow(m_BasicPoint.x-m_nWidth,m_BasicPoint.y-CONTROL_HEIGHT,m_nWidth,CONTROL_HEIGHT);


CRect rcButton;
HDWP hDwp=BeginDeferWindowPos(32);
const UINT uFlags=SWP_NOACTIVATE|SWP_NOZORDER|SWP_NOCOPYBITS|SWP_NOSIZE;


//最大按钮
m_btMaxScore.GetWindowRect(&rcButton);
DeferWindowPos(hDwp,m_btMaxScore,NULL,12+rcButton.Width()*3,2,0,0,uFlags);


//最小按钮
DeferWindowPos(hDwp,m_btMinScore,NULL,6,2,0,0,uFlags);


//三倍大盲
DeferWindowPos(hDwp,m_btThreeTmp,NULL,10+rcButton.Width()*2,2,0,0,uFlags);


//底池按钮
DeferWindowPos(hDwp,m_btToTal,NULL,8+rcButton.Width(),2,0,0,uFlags);


//加按钮
DeferWindowPos(hDwp,m_btAdd,NULL,210,22,0,0,uFlags);


//减按钮
DeferWindowPos(hDwp,m_btMinus,NULL,79,21,0,0,uFlags);


//结束移动
EndDeferWindowPos(hDwp);

return;
}


WORD CGoldControl::GetGlodString(LONGLONG lGold, TCHAR szString[])
{
LONGLONG lTemp=(LONGLONG)lGold; 
if(lGold<0L) return 0;
//处理小数点
DWORD dwCharBit=0L;


//转换字符
lTemp = (LONGLONG)lGold;


WORD i=0;
while(1)
{
lTemp/=10;
i++;
if(lTemp<10)
{
break;
}
}
DWORD dwNumBit=0L;

lTemp=lGold;
if(i>=7 && i<=9)
{
lTemp/=1000;
dwNumBit++;
szString[dwCharBit++]=(TCHAR)('K');


}
if(i>9)
{
lTemp/=1000000;
dwNumBit++;
szString[dwCharBit++]=(TCHAR)('M');
}

do
{
dwNumBit++;
szString[dwCharBit++]=(TCHAR)(lTemp%10+TEXT('0'));
lTemp/=10;
} while (lTemp>0L);


//调整字符
if (szString[dwCharBit-1]==TEXT(',')) szString[dwCharBit-1]=0;
szString[dwCharBit]=0;


//尾头交换
_tcsrev(szString);


return (WORD)dwNumBit;
}


//重画函数
void CGoldControl::OnPaint()
{
CPaintDC dc(this);


//获取位置
CRect ClientRect;
GetClientRect(&ClientRect);


if(m_bKeyDown==true)
{
m_bKeyDown=false;

CString szBuffer1;
m_Edit.GetWindowText(szBuffer1);
LONGLONG bScoreNum=_wtol(szBuffer1);
if(bScoreNum>99999999)
{
TCHAR szBuffer[64]=TEXT("");
GetGlodString(bScoreNum,szBuffer);
m_Edit.SetWindowText(szBuffer1);
}


if(bScoreNum>=m_lMinGold && bScoreNum<=m_lMaxGold)
{
m_bNowGold=bScoreNum;
m_bScoreTmp=bScoreNum*100/m_lMaxGold;
SendAdd();
}
else if(bScoreNum>m_lMaxGold)
{
SetGold(m_lMaxGold);
}
else
{
m_bNowGold=bScoreNum;
m_bScoreTmp=m_lMinGold*100/m_lMaxGold;
SendAdd();
}
}


//建立缓冲图
CDC BackFaceDC;
CBitmap BufferBmp;
BufferBmp.CreateCompatibleBitmap(&dc,ClientRect.Width(),ClientRect.Height());
BackFaceDC.CreateCompatibleDC(&dc);
BackFaceDC.SelectObject(&BufferBmp);


//绘画背景
m_ImageLeft.BitBlt(BackFaceDC,0,0);
m_PngNoScore.DrawImage(&BackFaceDC,SCORE_WIDTH,37,m_PngNoScore.GetWidth(),m_PngNoScore.GetHeight(),0,0);
m_PngHaveScore.DrawImage(&BackFaceDC,SCORE_WIDTH,37,(m_PngHaveScore.GetWidth()/100)*m_bScoreTmp,m_PngHaveScore.GetHeight(),0,0);
m_PngScoreBar.DrawImage(&BackFaceDC,SCORE_WIDTH-4+m_bScoreTmp,28,m_PngScoreBar.GetWidth(),m_PngScoreBar.GetHeight(),0,0);


//绘画界面
dc.BitBlt(0,0,ClientRect.Width(),ClientRect.Height(),&BackFaceDC,0,0,SRCCOPY);


return;
}


//左键弹起消息
void CGoldControl::OnLButtonUp(UINT nFlags, CPoint point)
{
__super::OnLButtonUp(nFlags,point);


m_bLeftButtonOn=false;
InvalidateRect(CRect(92,29,208,50));
m_MoveState=false;



return;
}


//设置光标
BOOL CGoldControl::OnSetCursor(CWnd * pWnd, UINT nHitTest, UINT message)
{
//获取鼠标
POINT point;
GetCursorPos(&point);
ScreenToClient(&point);


if ((point.y>17)&&(point.y<57)&&(point.x>SCORE_WIDTH-20)&&(point.x<(SCORE_WIDTH+120)))
{
SetCursor(LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDC_CARD_CUR)));

return TRUE;
}


return __super::OnSetCursor(pWnd, nHitTest, message);
}


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


int CGoldControl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (__super::OnCreate(lpCreateStruct) == -1)
return -1;


// TODO:  Add your specialized creation code here
//创建控件
CRect rcCreate(0,0,0,0);
m_btMaxScore.Create(TEXT(""),WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_MAXSCORE);
m_btMinScore.Create(TEXT(""),WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_MINSCORE);
m_btThreeTmp.Create(TEXT(""),WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_OK);
m_btToTal.Create(TEXT(""),WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_CANCEL);
m_btAdd.Create(TEXT(""),WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_ADD);
m_btMinus.Create(TEXT(""),WS_CHILD|WS_VISIBLE,rcCreate,this,IDC_MINUS);


m_Edit.Create(ES_LEFT|ES_NUMBER|WS_VISIBLE|WM_CTLCOLOR,CRect(9,30,77,47),this,IDC_EDIT);


//加载位图
HINSTANCE hInstance=AfxGetInstanceHandle();
m_btMaxScore.SetButtonImage(IDB_BT_MAX,hInstance,false,false);
m_btMinScore.SetButtonImage(IDB_BT_MIN,hInstance,false,false);
m_btThreeTmp.SetButtonImage(IDB_BT_OK,hInstance,false,false);
m_btToTal.SetButtonImage(IDB_BT_CANCEL,hInstance,false,false);
m_btAdd.SetButtonImage(IDB_ADD,hInstance,false,false);


m_btMinus.SetButtonImage(IDB_MINUS,hInstance,false,false);


return 0;
}


//最小下注
void CGoldControl::OnMinScore()
{
SetGold(m_lMinGold);
((CGameClientView *)(this->GetParent()))->SendEngineMessage(IDM_MIN_SCORE,WPARAM(m_lMinGold),LPARAM(m_lMinGold));
SendAdd();


return ;
}


//最大下注
void CGoldControl::OnMaxScore()
{
SetGold(m_lMaxGold);
((CGameClientView *)(this->GetParent()))->SendEngineMessage(IDM_MAX_SCORE,WPARAM(m_lMaxGold),LPARAM(m_lMaxGold));
SendAdd();


return ;
}


//三倍大盲
void CGoldControl::OnThreeTmp()
{
LONGLONG lGold = GetGold();
((CGameClientView *)(this->GetParent()))->SendEngineMessage(IDM_OK_SCORE,WPARAM(lGold),LPARAM(lGold));
SendAdd();


return;
}


//底池按钮
void CGoldControl::OnToTal()
{
((CGameClientView *)(this->GetParent()))->SendEngineMessage(IDM_CANCEL_SCORE,0,0);
SendAdd();


return;
}
//+消息
void  CGoldControl::OnAddScore()
{
m_bNowGold += MIN_ADD;


if(m_bNowGold>m_lMaxGold)
{
m_bNowGold=m_lMaxGold;
}
m_bScoreTmp = m_bNowGold*100/m_lMaxGold;


TCHAR szBuffer[64]=TEXT("");
GetGlodString(m_bNowGold,szBuffer);
m_Edit.SetWindowText(szBuffer);


InvalidateRect(CRect(92,29,208,50));
//InvalidateRect(CRect(10,30,77,44));
SendAdd();
}
//发送加注
void CGoldControl::SendAdd()
{
if(m_bNowGold<m_lMinGold)
{
m_bNowGold=m_lMinGold;
}
if(m_bNowGold>m_lMaxGold)
{
m_bNowGold=m_lMaxGold;
}
((CGameClientView *)(this->GetParent()))->SendEngineMessage(IDM_USER_ADD,WPARAM(m_bNowGold),0);


return ;
}


//—消息
void  CGoldControl::OnMinusScore()
{
m_bNowGold -= MIN_ADD;


if(m_bNowGold<m_lMinGold)
{
m_bNowGold=m_lMinGold;
}
m_bScoreTmp = m_bNowGold*100/m_lMaxGold;


TCHAR szBuffer[64]=TEXT("");
GetGlodString(m_bNowGold,szBuffer);
m_Edit.SetWindowText(szBuffer);


InvalidateRect(CRect(92,29,208,50));
//InvalidateRect(CRect(10,30,77,44));
SendAdd();


}


//鼠标移动
void CGoldControl::OnMouseMove(UINT nFlags, CPoint point)
{
if(point.x<100 || point.x>SCORE_WIDTH+110)
return;


if(!m_bLeftButtonOn)
{
return;
}


if(m_bLeftButtonOn==true && m_MoveState==true)
{
m_bScoreTmp=point.x-SCORE_WIDTH;
if(m_bScoreTmp<=0)
{
m_bScoreTmp=0;
m_bNowGold=m_lMinGold;
}
if(m_bScoreTmp>=1)
{
m_bNowGold = (((m_lMaxGold/100)*m_bScoreTmp)/MIN_ADD);
m_bNowGold *= MIN_ADD;


if(m_bScoreTmp >= 100)
{
m_bScoreTmp=100;
m_bNowGold=m_lMaxGold;
}
}

if(m_bNowGold<m_lMinGold)
{
m_bNowGold=m_lMinGold;
}
if(m_bNowGold>m_lMaxGold)
{
m_bNowGold=m_lMaxGold;
}


TCHAR szBuffer[64]=TEXT("");
GetGlodString(m_bNowGold,szBuffer);
m_Edit.SetWindowText(szBuffer);


SendAdd();
InvalidateRect(CRect(92,29,208,50));
//InvalidateRect(CRect(10,30,77,44));
}



__super::OnMouseMove(nFlags,point);
}
//左键按下
void CGoldControl:: OnLButtonDown(UINT nFlags, CPoint point)
{
if(point.x<SCORE_WIDTH-8 || point.x>SCORE_WIDTH+108 || point.y<17 || point.y>50)
return;

m_bLeftButtonOn=true;


if((point.x>=SCORE_WIDTH-5+m_bScoreTmp) && (point.x<SCORE_WIDTH+5+m_bScoreTmp+BAR_WIDTH))
{
m_MoveState=true;
m_bInitialPn=point;


InvalidateRect(CRect(92,29,208,50));
__super::OnLButtonDown(nFlags, point);


return ;
}
if(point.x<SCORE_WIDTH-5)
{
OnMinusScore();
}
else if(point.x>SCORE_WIDTH+5+m_bScoreTmp+BAR_WIDTH)
{
OnAddScore();
}


InvalidateRect(CRect(92,29,208,50));
//InvalidateRect(CRect(10,30,77,44));


__super::OnLButtonDown(nFlags, point);
}
void CGoldControl::OnKeyDown(UINT nChar, UINT nRepCnt,UINT nFlags)
{  
m_bKeyDown=true;
InvalidateRect(CRect(92,29,208,50));
//InvalidateRect(CRect(10,30,77,44));
}
BOOL CGoldControl::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_LBUTTONDOWN)//左键按下  
{
return FALSE;
}
if(pMsg->message == WM_LBUTTONDBLCLK)//左键按下  
{
return FALSE;
}
AFX_MODULE_STATE* pModuleState = _AFX_CMDTARGET_GETSTATE();
if (pModuleState->m_pfnFilterToolTipMessage != NULL)
(*pModuleState->m_pfnFilterToolTipMessage)(pMsg, this);


SendMessage(pMsg->message,pMsg->wParam,pMsg->lParam);


return FALSE;


}
HBRUSH    CGoldControl:: OnCtlColor(CDC*   pDC,   CWnd*   pWnd,   UINT   nCtlColor) 
{
   if   ((pWnd-> GetDlgCtrlID()   ==   IDC_EDIT)   &&   (nCtlColor   ==   CTLCOLOR_EDIT))   
{             
COLORREF   clr   =   RGB(255,255,255);           
pDC-> SetTextColor(clr);       //设置文本            
clr   =   RGB(27,81,128);            
pDC-> SetBkColor(clr);           //设置背景    
m_brMine   =   ::CreateSolidBrush(clr);            
return   m_brMine;//作为约定,返回背景色对应的刷子句柄     
}     
else    
{              
HBRUSH   hbr   =   CWnd::OnCtlColor(pDC,   pWnd,   nCtlColor);           
return   hbr;   
}  
}
//右键弹起
void  CGoldControl::SetLeftButtonUp(bool IsUp)
{
m_MoveState=false;
m_bLeftButtonOn=false;

}
//获取最大金币
LONGLONG CGoldControl:: GetMaxGold()
{
return m_lMaxGold;
}
//设置第二金币
void CGoldControl::SetSecondGold(LONGLONG bSecondGold)
{
m_SecondGold=bSecondGold;
}


//鼠标双击 
void CGoldControl::OnLButtonDblClk(UINT nFlags, CPoint point)
 {
if(point.x<SCORE_WIDTH-8 || point.x>SCORE_WIDTH+108 || point.y<17 || point.y>50)
return;


if(point.x<SCORE_WIDTH-5)
{
OnMinusScore();
}
else if(point.x>SCORE_WIDTH+5+m_bScoreTmp+BAR_WIDTH)
{
OnAddScore();
}


InvalidateRect(CRect(92,29,208,50));
 }
0 0
原创粉丝点击