gpt4 book ai didi

c++ - diceroll 的位图

转载 作者:行者123 更新时间:2023-11-28 03:18:17 25 4
gpt4 key购买 nike

你会如何掷骰子并显示相应的骰子面位图

一些快速高效的代码示例?

void CMFCApplication12Dlg::OnBnClickedDiceroll()

{
int die1 = 1 + rand() % 6; // first die roll
int die2 = 1 + rand() % 6; // second die roll
//display die1 & die2
}

// void 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);
}

最佳答案

使用 InvalidateRect 使窗口无效以便它重新绘制自己。在 WM_PAINT 处理程序中,您需要将模具编号转换为资源 ID。然后使用 LoadImage 从资源中加载位图。创建一个内存DC并将位图选择进去,然后使用BitBlt将它复制到窗口。

关于c++ - diceroll 的位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16204552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com