Exemple #1
0
//绘画时间
void CGameParrentView::DrawUserTimer(CDC * pDC, int nXPos, int nYPos, WORD wTime, WORD wTimerArea)
{
    if ((wTime>0)&&(wTimerArea>=wTime))
    {
        //创建 DC
        CDC DCBuffer;
        DCBuffer.CreateCompatibleDC(pDC);
        CImageHandle ImageHandle(&m_ImageTimer);
        HGDIOBJ hOldGdiObj=DCBuffer.SelectObject(ImageHandle.GetBitmapHandle());

        //绘画定时器
        int nDrawPos=nXPos;
        for (WORD nArea=10000; nArea>0; nArea/=10)
        {
            if (wTimerArea<nArea) continue;
            int nTimerPos=wTime/nArea;
            AlphaDrawImage(pDC,nDrawPos,nYPos,m_nXTimer,m_nYTimer,&DCBuffer,nTimerPos*m_nXTimer,0,RGB(255,0,255));
            wTime-=nTimerPos*nArea;
            nDrawPos+=m_nXTimer;
        }

        //清理资源
        DCBuffer.SelectObject(hOldGdiObj);
        DCBuffer.DeleteDC();
    }
    return;
}
Exemple #2
0
//重画函数
void CScoreView::OnPaint() 
{
	CPaintDC dc(this); 

	//设置 DC
	dc.SetBkMode(TRANSPARENT);
	dc.SetTextColor(RGB(255,0,0));
	dc.SelectObject(CSkinResourceManager::GetDefaultFont());
	//设置透明区域
	SetupRgn(&dc,m_ImageBack,RGB(255,0,255));


	//绘画背景
	CImageHandle ImageHandle(&m_ImageBack);
	//m_ImageBack.BitBlt(dc,0,0);
	m_ImageBack.AlphaDrawImage(&dc,0,0,RGB(255,0,255));


	//显示分数
	dc.SetTextColor(RGB(255,255,102));
	CRect rcDraw;
	CString strScore ;
	char szBuffer[64] ;
	for (WORD i=0;i<CountArray(m_szUserName);i++)
	{
		//用户名字
		rcDraw.left=10+20+10;
		rcDraw.right=130;
		rcDraw.top=i*23+80+8;
		rcDraw.bottom=rcDraw.top+12;
		dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS|DT_NOCLIP);

		//用户积分
		rcDraw.left=150-30-20-10-10;
		rcDraw.right=290;
		strScore.Format("%ld" , m_lGameScore[i]) ;
		//_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lGameScore[i]);
		dc.DrawText(strScore,strScore.GetLength(),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS|DT_NOCLIP);
	}

	if(m_lGameTax>0)
	{
		//显示税收
		rcDraw.left=30;
		rcDraw.right=114;
		rcDraw.top=i*22+51;
		rcDraw.bottom=rcDraw.top+12;
		LPCTSTR pszTax=TEXT("交易税");
		dc.DrawText(pszTax,lstrlen(pszTax),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS|DT_NOCLIP);

		//显示税收
		rcDraw.left=120;
		rcDraw.right=190;
		rcDraw.top=i*22+51;
		rcDraw.bottom=rcDraw.top+12;
	//	_snprintf(szBuffer,sizeof(szBuffer),"%ld",m_lGameTax);
		dc.DrawText(szBuffer,lstrlen(szBuffer),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS|DT_NOCLIP);
	}
	return;
}
Exemple #3
0
//╗ц╗н│я┬ы
void CGoldView::DrawGoldView(CDC * pDC, int nXPos, int nYPos)
{
	//╝╙╘╪╬╗═╝
	CImageHandle ImageHandle(&m_ImageGold);

	//╗ц╗н│я┬ы
	int nYPosDraw=nYPos-GOLD_IMAGE_HEIGHT/2;
	for (LONG i=0;i<CountArray(m_lGoldCount);i++)
	{
		for (LONG j=0;j<m_lGoldCount[i];j++)
		{
			m_ImageGold.AlphaDrawImage(pDC,nXPos-GOLD_IMAGE_WIDTH/2,nYPosDraw,GOLD_IMAGE_WIDTH,GOLD_IMAGE_HEIGHT,
				i*GOLD_IMAGE_WIDTH,0,RGB(255,0,255));
			nYPosDraw-=3;
		}
	}

	//╗ц╗н╩¤╫╓
	if (m_lGold!=0L)
	{
		TCHAR szBuffer[64]=TEXT("гд");
		GetGlodString(m_lGold,szBuffer+2);
		CRect DrawRect(nXPos-50,nYPos+GOLD_IMAGE_HEIGHT/2+5,nXPos+46,nYPos+GOLD_IMAGE_HEIGHT/2+17);
		pDC->SetTextColor(RGB(250,250,250));
		pDC->DrawText(szBuffer,lstrlen(szBuffer),&DrawRect,DT_CENTER|DT_VCENTER|DT_NOCLIP|DT_SINGLELINE);
	}

	return;
}
Exemple #4
0
//创建区域
bool CRgnButton::CreateControlRgn(COLORREF crTrans)
{
	CImageHandle ImageHandle(&m_ImageBack);
	if (ImageHandle.IsResourceValid())
	{
		//创建临时图
		CSkinImage BufferImage;
		int nButtonWidth=m_ImageBack.GetWidth()/5;
		int nButtomHeight=m_ImageBack.GetHeight();
		BufferImage.Create(nButtonWidth,nButtomHeight,32);
		ImageHandle->BitBlt(BufferImage.GetDC(),0,0,nButtonWidth,nButtomHeight,0,0);
		BufferImage.ReleaseDC();

		//创建区域
		HRGN hRgn=BufferImage.CreateImageRegion(crTrans);
		if (hRgn!=NULL)
		{
			m_crTrans=crTrans;
			SetWindowPos(NULL,0,0,nButtonWidth,nButtomHeight,SWP_NOMOVE);
			SetWindowRgn(hRgn,TRUE);
			m_ButtonRgn.DeleteObject();
			m_ButtonRgn.Attach(hRgn);
			return true;
		}
	}

	return false;
}
Exemple #5
0
void CDlgLeftShow::LoadSkin()
{
	TCHAR		path[MAX_PATH];
	CString		s = "..\\";
	CBcfFile f( s + "..\\" + m_skinmgr.GetGameSkinPath() + m_skinmgr.GetGameSkinBcfFileName());
	CString SkinFolder	= f.GetKeyVal("config", "skinfolder", m_skinmgr.GetSkinPath());
	wsprintf(path, "%s%sgame\\SomeOneLeft.bmp", s, SkinFolder);

	int cx,cy;
	CGameImage	m_bt;
	m_bt.SetLoadInfo(path,true);
	m_bkimage.SetLoadInfo(path,CGameImageLink::m_bAutoLock);
	CGameImageHelper ImageHandle(&m_bkimage);
	HRGN hRgn=AFCBmpToRgn(ImageHandle,m_bkimage.GetPixel(0,0),RGB(1,1,1));
	if (hRgn!=NULL)
	{
		SetWindowRgn(hRgn,TRUE);
	}
	//cx=ImageHandle.GetWidth();
	//cy=ImageHandle.GetHeight();
	//SetWindowPos(NULL,0,0,cx,cy,SWP_NOMOVE|SWP_NOZORDER);
	//CenterWindow(m_pParentWnd);

	wsprintf(path, "%s%sgame\\ok_bt.bmp", s, SkinFolder);

	m_bt.SetLoadInfo(path,true);
	m_btOk.LoadButtonBitmap(path,false);
	//m_btOk.SetWindowPos(NULL,0,0,m_bt.GetWidth()/4,m_bt.GetHeight(),SWP_NOMOVE|SWP_NOZORDER);
	//m_btOk.MoveWindow( (m_bkimage.GetWidth() - m_bt.GetWidth()/4)/2,
		//m_bkimage.GetHeight()-50,
		//m_bt.GetWidth()/4,
		//m_bt.GetHeight()
		//);
}
Exemple #6
0
//»æ»­³ïÂë
void CGoldView::DrawGoldView(CDC * pDC, int nXPos, int nYPos)
{
	//¼ÓÔØλͼ
	CImageHandle ImageHandle(&m_ImageGold);

	//»æ»­ÅÐ¶Ï 
	if (m_lGold<=0L) return;

	//»ñÈ¡ÊôÐÔ
	INT nJettonHeight=m_ImageGold.GetHeight();
	INT nJettonWidth=m_ImageGold.GetWidth()/3;

	//»æ»­³ïÂë
	INT nXPos1=nXPos-nJettonWidth/2;
	INT nYPos1=nYPos-nJettonHeight/2;
	m_ImageGold.AlphaDrawImage(pDC,nXPos1,nYPos1,nJettonWidth,nJettonHeight,nJettonWidth*m_nGoldIndex,0,RGB(255,0,255));

	//»­Êý×Ö
	TCHAR szNum[64];
	//_snprintf( szNum,CountArray(szNum),TEXT("%ld"),m_lScore );
	GetGlodString( m_lGold,szNum );
	CRect rcNum( nXPos1,nYPos1,nXPos1+nJettonWidth,nYPos1+nJettonHeight );

	//´´½¨×ÖÌå
	CFont ViewFont;
	ViewFont.CreateFont(-12,0,0,0,700,0,0,0,134,3,2,1,1,TEXT("ËÎÌå"));
	COLORREF OldClr = pDC->SetTextColor(RGB(0x0, 0x10, 0x70));
	CFont * pOldFont=pDC->SelectObject(&ViewFont);
	pDC->DrawText( szNum,lstrlen(szNum),&rcNum,DT_VCENTER|DT_CENTER|DT_SINGLELINE|DT_END_ELLIPSIS );
	pDC->SetTextColor(OldClr);
	//ÇåÀí×ÊÔ´
	pDC->SelectObject(pOldFont);

	return;
}
Exemple #7
0
//创建区域
bool CRgnDialog::CreateControlRgn(COLORREF crTrans)
{
	//加载资源
	CImageHandle ImageHandle(&m_ImageBack);

	//创建区域
	CRgn RgnControl;
	m_ImageBack.CreateImageRegion(RgnControl,crTrans);

	//设置窗口
	if (RgnControl.GetSafeHandle()!=NULL)
	{
		//移动窗口
		SetWindowRgn(RgnControl,TRUE);
		SetWindowPos(NULL,0,0,m_ImageBack.GetWidth(),m_ImageBack.GetHeight(),SWP_NOMOVE);

		//删除区域
		m_DialogRgn.DeleteObject();
		m_DialogRgn.Attach(RgnControl.Detach());

		return true;
	}

	return false;
}
Exemple #8
0
//重画函数
void CWorldEdit::OnPaint()
{
	CPaintDC dc(this);

	//设置底图
	CGameImage * pBackImage=NULL;
	if (m_TitlePic.IsNull()==false) pBackImage=&m_TitlePic;
	else pBackImage=&CGameImageLink::m_TitleResource.m_BackPic;

	//绘画标题
	CRect ClientRect;
	GetClientRect(&ClientRect);
	CGameImageHelper ImageHandle(pBackImage);
	ImageHandle.StretchBlt(dc.GetSafeHdc(),ClientRect,CRect(0,0,ImageHandle.GetWidth(),ImageHandle.GetHeight()));
	dc.Draw3dRect(&ClientRect,RGB(0,0,200),RGB(0,0,250));

	//绘画图标
	if ((ClientRect.Width()>ICON_SIZE)&&(m_hIcon!=NULL))
	{
		DrawIconEx(dc.GetSafeHdc(),ClientRect.left+5,ClientRect.top+(ClientRect.Height()-ICON_SIZE)/2,m_hIcon,ICON_SIZE,ICON_SIZE,0,NULL,DI_NORMAL);
		ClientRect.left+=ICON_SIZE+5;
	}

	//绘画标题
	ClientRect.left+=5;
	CString strTitle;
	GetWindowText(strTitle);
	dc.SetBkMode(TRANSPARENT);
	dc.SelectObject(&CGameImageLink::m_HFont);
	dc.SetTextColor(CGameImageLink::m_TitleResource.m_crTextColor);
	DWORD dwStyte=GetStyle();
	if (dwStyte&SS_CENTER) dc.DrawText(strTitle,&ClientRect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	else if (dwStyte&SS_RIGHT) dc.DrawText(strTitle,&ClientRect,DT_VCENTER|DT_RIGHT|DT_SINGLELINE);
	else dc.DrawText(strTitle,&ClientRect,DT_VCENTER|DT_LEFT|DT_SINGLELINE);
}
Exemple #9
0
//重画函数
void CScoreView::OnPaint() 
{
	CPaintDC dc(this); 

	//设置 DC
	dc.SetBkMode(TRANSPARENT);
	dc.SetTextColor(RGB(255,255,255));
	dc.SelectObject(CSkinResourceManager::GetDefaultFont());

	//设置区域
	CRect rt;
	GetClientRect(&rt);
	CRgn WndRgn;
	WndRgn.CreateRoundRectRgn(rt.left,rt.top,rt.right,rt.bottom,10,10);
	SetWindowRgn(WndRgn,TRUE);
	WndRgn.DeleteObject();

	//绘画背景
	CImageHandle ImageHandle(&m_ImageBack);
	m_ImageBack.BitBlt(dc,0,0);

	//显示分数
	WORD wStation=0;
	TCHAR szBuffer[64]=TEXT("");
	CImageHandle HandleWinLose(&m_ImageWinLose);
	INT nWinLoseWidth = m_ImageWinLose.GetWidth()/3;
	INT nWinLostHeight = m_ImageWinLose.GetHeight();
	for (WORD i=0;i<CountArray(m_szUserName);i++)
	{
		if (m_szUserName[i][0]!=0)
		{
			//输出名字
			CRect rcName(28,wStation*29+79,117,(wStation+1)*29+79);
			dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

			//输出成绩
			CRect rcScore(117,wStation*29+79,182,(wStation+1)*29+79);
			_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lScore[i]);
			dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

			//胜负标志
			BYTE byIndex = 0;
			if( m_lScore[i] == 0 ) byIndex = 2;
			else if( m_lScore[i] < 0 ) byIndex = 1;
			m_ImageWinLose.AlphaDrawImage(&dc,182+(253-182)/2-nWinLoseWidth/2,wStation*29+79+29/2-nWinLostHeight/2,nWinLoseWidth,nWinLostHeight,
				byIndex*nWinLoseWidth,0,RGB(255,0,255));

			//服务费用
			CRect rcService(253,wStation*29+79,321,(wStation+1)*29+79);
			_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lGameTax[i]);
			dc.DrawText(szBuffer,lstrlen(szBuffer),&rcService,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

			//设置变量
			wStation++;
		}
	}

	return;
}
Exemple #10
0
//绘画准备
void CGameParrentView::DrawUserReady(CDC * pDC, int nXPos, int nYPos)
{
    CImageHandle ImageHandle(&m_ImageReady);
    int nImageWidth=ImageHandle->GetWidth();
    int nImageHeight=ImageHandle->GetHeight();
    AlphaDrawImage(pDC,nXPos-nImageWidth/2,nYPos-nImageHeight/2,nImageWidth,nImageHeight,ImageHandle.GetBitmapHandle(),0,0,RGB(255,0,255));
    return;
}
Exemple #11
0
///////////////////////////////////////////////动画/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//骰子动画
void CGameClientView::ActionDice1( CDC *pDC, int nFrame )
{
	CImageHandle ImageHandle( &m_ActionDice1);
	LONG lWidth, lHeight;
	lWidth = m_csActionDice1.cx;
	lHeight = m_csActionDice1.cy;

	m_ActionDice1.AlphaDrawImage( pDC, PS_BX_DICE, PS_BY_DICE, lWidth, lHeight, lWidth*nFrame, 0, COLORTRANS);
}
Exemple #12
0
//骰子动画2
void CGameClientView::ActionDice2( CDC *pDC,int pos1, int pos2 )
{
	CImageHandle ImageHandle( &m_ActionDice2);
	LONG lWidth, lHeight;
	lWidth = m_csActionDice2.cx;
	lHeight = m_csActionDice2.cy;

	m_ActionDice2.AlphaDrawImage( pDC, PS_BX_DICE1, PS_BY_DICE1, lWidth, lHeight, lWidth*pos1, 0, COLORTRANS);
	m_ActionDice2.AlphaDrawImage( pDC, PS_BX_DICE2, PS_BY_DICE2, lWidth, lHeight, lWidth*pos2, 0, COLORTRANS);
}
Exemple #13
0
//调整位置
bool CSkinButton::FixButtonSize()
{
	if (m_ImageBack.IsSetLoadInfo()&&GetSafeHwnd())
	{
		CImageHandle ImageHandle(&m_ImageBack);
		SetWindowPos(NULL,0,0,ImageHandle->GetWidth()/5,ImageHandle->GetHeight(),SWP_NOMOVE);
		return true;
	}
	return false;
}
Exemple #14
0
//画听标记
void CGameClientView::ShowTingPic( CDC *pDC,int x, int y )
{
	CImageHandle ImageHandle( &m_ImageTingBack);
	LONG lWidth, lHeight;
	lWidth = 44;
	lHeight = 44;

	m_ImageTingBack.AlphaDrawImage( pDC, x, y, lWidth, lHeight, 0, 0, COLORTRANS);

}
Exemple #15
0
//绘画背景
void CGameParrentView::DrawViewImage(CDC * pDC, CSkinImage & SkinImage, enImageMode ImageMode)
{
    //获取位置
    RECT rcClient;
    GetClientRect(&rcClient);

    //绘画位图
    switch (ImageMode)
    {
    case enMode_ElongGate:	//拉伸模式
    {
        CImageHandle ImageHandle(&SkinImage);
        int nImageWidth=ImageHandle->GetWidth();
        int nImageHeight=ImageHandle->GetHeight();
        ImageHandle->StretchBlt(pDC->m_hDC,0,0,rcClient.right,rcClient.bottom,0,0,nImageWidth,nImageHeight);
        return;
    }
    case enMode_Centent:	//居中模式
    {
        CImageHandle ImageHandle(&SkinImage);
        int nXPos=(rcClient.right-ImageHandle->GetWidth())/2;
        int nYPos=(rcClient.bottom-ImageHandle->GetHeight())/2;
        ImageHandle->BitBlt(pDC->m_hDC,nXPos,nYPos);
        return;
    }
    case enMode_Spread:		//平铺模式
    {
        CImageHandle ImageHandle(&SkinImage);
        int nImageWidth=ImageHandle->GetWidth();
        int nImageHeight=ImageHandle->GetHeight();
        for (int nXPos=0; nXPos<rcClient.right; nXPos+=nImageWidth)
        {
            for (int nYPos=0; nYPos<rcClient.bottom; nYPos+=nImageHeight)
            {
                ImageHandle->BitBlt(pDC->m_hDC,nXPos,nYPos);
            }
        }
        return;
    }
    }
    return;
}
Exemple #16
0
//重画函数
void CScoreView::OnPaint() 
{
	WORD i;
	CPaintDC dc(this); 

	SetupRgn(&dc,bImage,RGB(255,0,255));

	//设置 DC
	dc.SetBkMode(TRANSPARENT);
	dc.SetTextColor(RGB(250,250,250));
	dc.SelectObject(&CSkinAttribute::m_DefaultFont);

	//绘画背景
	CImageHandle ImageHandle(&m_ImageBack);
	m_ImageBack.BitBlt(dc,0,0);

	//显示分数
	CRect rcDraw;
	TCHAR szBuffer[64]=TEXT("");
	for ( i=0;i<CountArray(m_szUserName);i++)
	{
		//用户名字
		rcDraw.left=40;
		rcDraw.right=125;
		rcDraw.top=i*22+80;
		rcDraw.bottom=rcDraw.top+12;
		dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS);

		//用户积分
		rcDraw.left=145;
		rcDraw.right=215;
		_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lGameScore[i]);
		dc.DrawText(szBuffer,lstrlen(szBuffer),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS);
	}

	//显示税收
	rcDraw.left=40;
	rcDraw.right=125;
	rcDraw.top=i*22+90;
	rcDraw.bottom=rcDraw.top+12;
	LPCTSTR pszTax=TEXT("交易税");
	dc.DrawText(pszTax,lstrlen(pszTax),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS);

	//显示税收
	rcDraw.left=145;
	rcDraw.right=215;
	rcDraw.top=i*22+90;
	rcDraw.bottom=rcDraw.top+12;
	_snprintf(szBuffer,sizeof(szBuffer),"%ld",m_lGameTax);
	dc.DrawText(szBuffer,lstrlen(szBuffer),&rcDraw,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS);

	return;
}
Exemple #17
0
//重画函数
void CRgnDialog::OnPaint()
{
	CPaintDC dc(this);

	//绘画底图
	CRect ClientRect;
	GetClientRect(&ClientRect);
	CImageHandle ImageHandle(&m_ImageBack);
	if (m_ImageBack.IsNull()==false) m_ImageBack.BitBlt(dc,0,0);

	return;
}
Exemple #18
0
//绘画同意标志
void CUsingSkinClass::DrawArgeeFlag(CDC * pDC, int iXPos, int iYPos)
{
	CGameImageHelper ImageHandle(&m_PicAgree);
	CDC destdc;
	destdc.CreateCompatibleDC(pDC);
	destdc.SelectObject(ImageHandle);
	::TransparentBlt(pDC->GetSafeHdc(),iXPos,iYPos,ImageHandle.GetWidth(),ImageHandle.GetHeight(),destdc.GetSafeHdc(),0,0,ImageHandle.GetWidth(),ImageHandle.GetHeight(),destdc.GetPixel(0,0));
	//AFCStretchImage(pDC,iXPos,iYPos,AGREE_WIDTH,AGREE_HEIGHT,ImageHandle,0,0,AGREE_WIDTH,AGREE_HEIGHT,RGB(0,128,128));
	///{{ Added by zxd 20100709 释放GDI资源
	destdc.DeleteDC();
	/// Added by zxd 20100709 释放GDI资源}}
	return;
}
//建立消息
int CConcealCardView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (__super::OnCreate(lpCreateStruct)==-1) return -1;

	//设置背景
	SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);

	//移动窗口
	CImageHandle ImageHandle(&m_ImageBack);
	SetWindowPos(NULL,0,0,m_ImageBack.GetWidth(),m_ImageBack.GetHeight(),SWP_NOMOVE|SWP_NOZORDER);

	return 0;
}
Exemple #20
0
int CAInfo::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);
	//移动窗口
	CImageHandle ImageHandle(&m_Bg);
	SetWindowPos(NULL,0,0,m_Bg.GetWidth(),m_Bg.GetHeight(),SWP_NOMOVE|SWP_NOZORDER);

	m_Font.CreateFont(-12,0,0,0,400,NULL,NULL,NULL,134,3,2,1,2,TEXT("宋体"));

	return 0;
}
Exemple #21
0
//重画函数
void CBitmapRgnWindow::OnPaint()
{
	CPaintDC dc(this);

	//绘画底图
	if (m_BackBitmap.IsNull()==false)
	{
		CRect ClientRect;
		GetClientRect(&ClientRect);
		CGameImageHelper ImageHandle(&m_BackBitmap);
		ImageHandle.BitBlt(dc.GetSafeHdc(),0,0);
	}

	return;
}
Exemple #22
0
//初始化函数
BOOL CScoreView::OnInitDialog()
{
	__super::OnInitDialog();

	//设置数据
	m_lGameScore = 0L;

	//设置界面
	SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);

	//移动窗口
	CImageHandle ImageHandle(&m_ImageBack);
	SetWindowPos(NULL,0,0,m_ImageBack.GetWidth()/3,m_ImageBack.GetHeight(),SWP_NOMOVE|SWP_NOZORDER);

	return TRUE;
}
Exemple #23
0
//初始化函数
BOOL CDlgLeftShow::OnInitDialog()
{
	CDialog::OnInitDialog();

	TCHAR		path[MAX_PATH];



	CString		s = "..\\";// CINIFile::GetAppPath ();/////本地路径
	CBcfFile    inif(s+"bzgame.bcf");


	CBcfFile f( s + "..\\" + m_skinmgr.GetGameSkinPath() + m_skinmgr.GetGameSkinBcfFileName());
	CString SkinFolder	= f.GetKeyVal("config", "skinfolder", m_skinmgr.GetSkinPath());
	wsprintf(path, "%s%sgame\\SomeOneLeft.bmp", s, SkinFolder);
			
	int cx,cy;
	CGameImage	m_bt;
	m_bt.SetLoadInfo(path,true);
	m_bkimage.SetLoadInfo(path,CGameImageLink::m_bAutoLock);
	CGameImageHelper ImageHandle(&m_bkimage);
	HRGN hRgn=AFCBmpToRgn(ImageHandle,m_bkimage.GetPixel(0,0),RGB(1,1,1));
	if (hRgn!=NULL)
	{
		SetWindowRgn(hRgn,TRUE);
	}
	cx=ImageHandle.GetWidth();
	cy=ImageHandle.GetHeight();
	SetWindowPos(NULL,0,0,cx,cy,SWP_NOMOVE|SWP_NOZORDER);
	CenterWindow(m_pParentWnd);

	wsprintf(path, "%s%sgame\\ok_bt.bmp", s, SkinFolder);

	m_bt.SetLoadInfo(path,true);
	m_btOk.LoadButtonBitmap(path,false);
	m_btOk.SetWindowPos(NULL,0,0,m_bt.GetWidth()/4,m_bt.GetHeight(),SWP_NOMOVE|SWP_NOZORDER);
	SetDlgItemText(IDOK, TEXT(""));
	m_btOk.MoveWindow( (m_bkimage.GetWidth() - m_bt.GetWidth()/4)/2,
		m_bkimage.GetHeight()-50,
		m_bt.GetWidth()/4,
		m_bt.GetHeight()
		);


	m_bkBrush=CreateSolidBrush(m_bkimage.GetPixel(20,35));
	return true;
}
Exemple #24
0
//绘画时间
void CUsingSkinClass::DrawTimer(CDC * pDC, int iXPos, int iYPos, UINT uTime)
{
	if ((uTime!=0L)&&(uTime<100L))
	{
		UINT uFirst=uTime/10L,uLast=uTime%10;
		CGameImageHelper ImageHandle(&m_PicTimer);
		CDC destdc;
		destdc.CreateCompatibleDC(pDC);
		destdc.SelectObject(ImageHandle);
		::TransparentBlt(pDC->GetSafeHdc(),iXPos,iYPos,TIME_WIDTH/2,TIME_HEIGHT,destdc.GetSafeHdc(),uFirst*TIME_WIDTH/2,0,TIME_WIDTH/2,TIME_HEIGHT,RGB(0,0,0));
		::TransparentBlt(pDC->GetSafeHdc(),iXPos+15,iYPos,TIME_WIDTH/2,TIME_HEIGHT,destdc.GetSafeHdc(),uLast*TIME_WIDTH/2,0,TIME_WIDTH/2,TIME_HEIGHT,RGB(0,0,0));
		///{{ Added by zxd 20100709 释放GDI资源
		destdc.DeleteDC();
		/// Added by zxd 20100709 释放GDI资源}}
	}
	return;
}
Exemple #25
0
void CShowScore::SetBkImage(TCHAR  path[])
{
	m_bk.SetLoadInfo(path,CGameImageLink::m_bAutoLock);
	CGameImageHelper ImageHandle(&m_bk);
	HRGN hRgn=AFCBmpToRgn(ImageHandle,RGB(255,0,255),RGB(1,1,1));
	
	if (hRgn!=NULL)
	{
		SetWindowPos(NULL,0,0,ImageHandle.GetWidth(),ImageHandle.GetHeight(),SWP_NOZORDER|SWP_NOOWNERZORDER|SWP_NOMOVE);
		SetWindowRgn(hRgn,TRUE);
		///{{ Added by zxd 20100709 释放区域对象
		DeleteObject(hRgn);
		///Added by zxd 20100709 释放区域对象}}
	}

	Invalidate(false);
}
Exemple #26
0
//重画函数
void CScoreView::OnPaint() 
{
	CPaintDC dc(this); 

	//设置 DC
	dc.SetBkMode(TRANSPARENT);
	dc.SetTextColor(RGB(0,0,0));
	dc.SelectObject(&CSkinAttribute::m_DefaultFont);

	//绘画背景
	CImageHandle ImageHandle(&m_ImageBack);
	m_ImageBack.BitBlt(dc,0,0);

	//显示分数
	WORD wStation=0;
	TCHAR szBuffer[64]=TEXT("");
	for (WORD i=0;i<CountArray(m_szUserName);i++)
	{
		if (m_szUserName[i][0]!=0)
		{
			//输出名字
			CRect rcName(15,i*19+63,141,i*19+82);
			dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

			//输出成绩
			CRect rcScore(141,i*19+63,197,i*19+82);
			_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lScore[i]);
			dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

			//设置变量
			wStation++;
		}
	}

	//显示税收
	CRect rcName(15,i*19+63,141,i*19+82);
	dc.DrawText(TEXT("税 收"),lstrlen(TEXT("税 收")),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

	//输出税收
	CRect rcScore(141,i*19+63,197,i*19+82);
	_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lTax);
	dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS);

	return;
}
Exemple #27
0
//建立消息
int CScoreView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (__super::OnCreate(lpCreateStruct)==-1) return -1;

	//设置数据
	m_lTax=0L;
	memset(m_lScore,0,sizeof(m_lScore));
	memset(m_szUserName,0,sizeof(m_szUserName));

	//设置界面
	SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);

	//移动窗口
	CImageHandle ImageHandle(&m_ImageBack);
	SetWindowPos(NULL,0,0,m_ImageBack.GetWidth(),m_ImageBack.GetHeight(),SWP_NOMOVE|SWP_NOZORDER);

	return 0;
}
Exemple #28
0
//初始化函数
BOOL CScoreView::OnInitDialog()
{
	__super::OnInitDialog();

	//设置数据
	m_lBaseScore=0L;
	m_lGameTax=0L;
	memset(m_lGameScore,0,sizeof(m_lGameScore));
	memset(m_szUserName,0,sizeof(m_szUserName));

	//设置界面
	SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);

	//居中窗口
	CenterWindow(GetParent());

	CImageHandle ImageHandle(&m_ImageBack);
	if (ImageHandle.IsResourceValid())
	{
		//创建临时图
		CSkinImage BufferImage;
		int nImageWidth=m_ImageBack.GetWidth();
		int nImageHeight=m_ImageBack.GetHeight();
		BufferImage.Create(nImageWidth,nImageHeight,32);
		ImageHandle->BitBlt(BufferImage.GetDC(),0,0,nImageWidth,nImageHeight,0,0);
		BufferImage.ReleaseDC();

		//创建区域
		CRgn ImageRgn;
		BufferImage.CreateImageRegion( ImageRgn, RGB( 255, 0, 255 ) );
		if ( (( HRGN )ImageRgn) !=NULL)
		{
			SetWindowPos(NULL,0,0,nImageWidth,nImageHeight,SWP_NOMOVE);
			SetWindowRgn(( HRGN )ImageRgn,TRUE);

			ImageRgn.DeleteObject();

			return true;
		}
	}


	return TRUE;
}
Exemple #29
0
//重画函数
void CScoreView::OnPaint() 
{
	CPaintDC dc(this); 

	//设置 DC
	dc.SetBkMode(TRANSPARENT);
	dc.SetTextColor(RGB(255,255,255));
	dc.SelectObject(&CSkinAttribute::m_DefaultFont);

	//绘画背景
	CImageHandle ImageHandle(&m_ImageBack);
	m_ImageBack.BitBlt(dc,0,0);

	//绘画标题
	LPCTSTR pszAccount=TEXT("用户名"),pszScore=TEXT("成绩");
	dc.TextOut(30,38,pszAccount,lstrlen(pszAccount));
	dc.TextOut(140,38,pszScore,lstrlen(pszScore));

	//显示分数
	WORD wStation=0;
	TCHAR szBuffer[64]=TEXT("");
	for (WORD i=0;i<CountArray(m_szUserName);i++)
	{
		if (m_szUserName[i][0]!=0)
		{
			dc.TextOut(30,(int)(wStation*20+58),m_szUserName[i]);
			_snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lScore[i]);
			dc.TextOut(140,(int)(wStation*20+58),szBuffer,lstrlen(szBuffer));
			wStation++;
		}
	}

	//显示税收
	if (wStation>0)
	{
		LPCTSTR pszTax=TEXT("交易税");
		dc.TextOut(30,(int)(wStation*20+58),pszTax,lstrlen(pszTax));
		_snprintf(szBuffer,sizeof(szBuffer),"%ld",m_lTax);
		dc.TextOut(140,(int)(wStation*20+58),szBuffer,lstrlen(szBuffer));
	}

	return;
}
Exemple #30
0
//重画函数
void CSkinHeaderCtrl::OnPaint() 
{
	//获取位置
	CRect ClientRect;
	GetClientRect(&ClientRect);

	//设置自画
	HD_ITEM HDItem;
	HDItem.mask=HDI_FORMAT;
	int iItemCount=GetItemCount();
	for (int i=0;i<iItemCount;i++)
	{
		GetItem(i,&HDItem);
		HDItem.fmt|=HDF_OWNERDRAW;
		SetItem(i,&HDItem);
	}

	//建立缓冲图
	CBitmap BufferBmp;
	CClientDC ClientDC(this);
	BufferBmp.CreateCompatibleBitmap(&ClientDC,ClientRect.Width(),ClientRect.Height());
	m_BufferDC.CreateCompatibleDC(&ClientDC);
	m_BufferDC.SelectObject(&BufferBmp);
	m_BufferDC.SetBkMode(TRANSPARENT);
	m_BufferDC.SetTextColor(m_SkinAttribute.m_crHeadText);
	m_BufferDC.SelectObject(CSkinResourceManager::m_DefaultFont);

	//加载位图
	CImageHandle ImageHandle(&m_SkinAttribute.m_ImageHead);
	if (ImageHandle.IsResourceValid())
	{
		ImageHandle->StretchBlt(m_BufferDC,ClientRect.left,ClientRect.top,ClientRect.Width(),ClientRect.Height());
		m_BufferDC.Draw3dRect(ClientRect.left,ClientRect.top,ClientRect.Width(),ClientRect.Height(),RGB(0,0,0),RGB(0,0,0));
		Default();
	}
	
	//绘画界面
	ClientDC.BitBlt(0,0,ClientRect.Width(),ClientRect.Height(),&m_BufferDC,0,0,SRCCOPY);
	m_BufferDC.DeleteDC();
	BufferBmp.DeleteObject();
	
	return;
}