#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 加载图片 HBITMAP hBitmap = (HBITMAP) LoadImage(NULL, "example.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); // 创建窗口 HWND hWnd = CreateWindowEx(0, "STATIC", NULL, WS_VISIBLE | WS_CHILD | SS_BITMAP, 0, 0, 0, 0, NULL, NULL, hInstance, NULL); // 将图片显示到窗口上 SendMessage(hWnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hBitmap); // 消息循环 MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } // 释放资源 DeleteObject(hBitmap); return msg.wParam; }
时间: 2024-03-22 14:40:43 浏览: 112
Windows编程基础--窗体篇.rar_WinMain_Windows编程_pcm_winapi_winbase.h
5星 · 资源好评率100%
这段代码是一个 Win32 GUI 程序,使用了 Windows API 来创建一个窗口,并将一张图片显示在窗口上。
函数 `WinMain()` 是 Windows 程序的入口函数,用于初始化程序并启动消息循环。在这个函数中,首先调用了 `LoadImage()` 函数来加载一张图片,然后调用了 `CreateWindowEx()` 函数来创建一个窗口。在创建窗口时,使用了 `STATIC` 类型,表示这个窗口是一个静态控件,可以将一张图片显示在上面。接着,调用了 `SendMessage()` 函数来设置这个窗口的显示内容,将加载的图片显示在窗口上。最后,进入消息循环,等待用户操作。
在消息循环中,调用了 `GetMessage()` 函数来等待消息,然后使用 `TranslateMessage()` 函数和 `DispatchMessage()` 函数将消息传递给窗口过程函数进行处理。当收到 `WM_QUIT` 消息时,退出消息循环,并返回消息的参数作为程序的退出码。
在程序结束之前,使用 `DeleteObject()` 函数来释放加载的图片资源。
需要注意的是,这段代码中使用的字符串常量 `"example.bmp"` 应该是一个有效的位图文件的文件名,需要确保该文件存在并且可以被加载。
阅读全文