如何使用visual c+在win32 API中添加图片框+; 我在Visual C++中有一个窗口(Win32 API)应用程序。我没有使用MFC。我必须添加一个图片框到我的应用程序中,并定期更改此图片框的图像。有人能帮我完成上述任务吗?提前感谢。
在这里发布完整代码是一项相当复杂的任务,但我将尝试给出一些关于如何做到这一点的指导原则: 第一种方法是加载图像并绘制它如何使用visual c+在win32 API中添加图片框+; 我在Visual C++中有一个窗口(Win32 API)应用程序。我没有使用MFC。我必须添加一个图片框到我的应用程序中,并定期更改此图片框的图像。有人能帮我完成上述任务吗?提前感谢。,c++,winapi,C++,Winapi,在这里发布完整代码是一项相当复杂的任务,但我将尝试给出一些关于如何做到这一点的指导原则: 第一种方法是加载图像并绘制它 加载图像(不幸的是,普通Win32 API支持多种图像格式BMP、ICO…) 将上面的句柄存储在应用程序中的某个位置,您可以从WindowProcedure访问它 在WM_PAINT消息上的WinProc中,您需要绘制图像。代码类似于: HDC hdcMem = CreateCompatibleDC(hDC); // hDC is a DC structure supplie
HDC hdcMem = CreateCompatibleDC(hDC); // hDC is a DC structure supplied by Win32API
SelectObject(hdcMem, hImage);
StretchBlt(
hDC, // destination DC
left, // x upper left
top, // y upper left
width, // destination width
height, // destination height
hdcMem, // you just created this above
0,
0, // x and y upper left
w, // source bitmap width
h, // source bitmap height
SRCCOPY); // raster operation
hImage = LoadImage(NULL, file, IMAGE_BITMAP, w, h, LR_LOADFROMFILE);
SendMessage(hwnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hImage);
其中hwnd是静态控件的句柄
hImage = LoadImage(NULL, file, IMAGE_BITMAP, w, h, LR_LOADFROMFILE);
SendMessage(hwnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hImage);