0
滾動骰子並顯示相應的裸片位圖由diceroll製作的位圖
一些快速高效的代碼示例?
void CMFCApplication12Dlg::OnBnClickedDiceroll()
{
int die1 = 1 + rand() % 6; // first die roll
int die2 = 1 + rand() % 6; // second die roll
//display die1 & die2
}
// 無效CMFCApplication12Dlg :: OnPaint處理()
{
//load the image file
CString szFilename("C:\\Talla\\yourimg.bmp");
HBITMAP hBmp = (HBITMAP)::LoadImage(NULL,szFilename,
IMAGE_BITMAP,0,0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
//Create a Bitmap Object and Attach It to the Object
CBitmap bmp;
bmp.Attach(hBmp);
// Create a Memory DC and Select the BMP to It
CClientDC dc(this);
CDC bmDC;
bmDC.CreateCompatibleDC(&dc);
CBitmap *pOldbmp = bmDC.SelectObject(&bmp);
//Get the BMP Height and Width
BITMAP bi;
bmp.GetBitmap(&bi);
//Get the Block of Pixels from memoryDC to the Screen
dc.BitBlt(0,0,bi.bmWidth,bi.bmHeight,&bmDC,0,0,SRCCOPY);
bmDC.SelectObject(pOldbmp);
}
詳細說明...... – Mac 2013-04-25 01:46:06
@Mac代碼你看起來像一個很好的開始。不要將它放在OnBnClicked處理程序中,而要將它放在OnPaint處理程序中。您不需要CClientDC,因爲您會在OnPaint中自動獲取一個。 – 2013-04-25 02:14:38
@Mac正如我所說的,你調用InvalidateRect並且OnPaint會被調用。 – 2013-04-25 02:40:54