gpt4 book ai didi

c++ - 在 WinApi 中更改背景图像

转载 作者:行者123 更新时间:2023-11-28 06:52:38 24 4
gpt4 key购买 nike

所以这个问题我已经有一段时间了......我似乎无法解决它......我设法设置了相对容易的开始背景,但我只是不知道如何在我的应用程序中更改它。

我导入了 2 个带 ID 的位图:IDI_BITMAP1IDI_BITMAP2

我使用 bitmap1 作为起始背景,我想在用户单击按钮时更改背景 case ID_MENUBUTTON1://change background任何人都可以帮我解决这个问题吗?我真的试图理解它,但我就是做不到。以下是我创建开始背景的方式:

case WM_CREATE:

/* Create start background image */
hBMP[0] = LoadBitmap(hInst, MAKEINTRESOURCE(IDI_BITMAP1));

hBitmap[0] = CreateWindowEx(0,
L"Static",
L"",
WS_CHILD | WS_VISIBLE | SS_BITMAP,
-10,
0,
0,
0,
hwnd,
(HMENU)IDI_BITMAP2,
hInst,
NULL);

SendMessage(hBitmap[0], STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBMP[0]);

我知道可以使用 WM_PAINT 来做到这一点,但我不太确定它如何与我想要的一起工作,那就是只有当用户单击按钮时背景才会改变。

代码是 C++,使用 VS13

最佳答案

如果我对你的问题的理解正确,那么你已经在启动时正确设置了背景,但你希望能够在运行时更改它。

如果是这样,那么您就成功了一半以上。最初设置背景的方式

SendMessage(hBitmap[0], STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBMP[0]);

跟你以后换背景是一样的。只需为最后一个参数传递一个不同的位图句柄。

关于c++ - 在 WinApi 中更改背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23643156/

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