小编joe*_*nni的帖子

使用GDI+使窗口的透明度只影响背景

我正在尝试使用 GDI+ 和 C++ 在屏幕顶部覆盖图像。我已成功将图像绘制到不透明窗口,但我只希望窗口的背景是透明的,而不是整个窗口。

这是我的代码:

#include <windows.h>
#include <gdiplus.h>

LRESULT CALLBACK WindowProcessMessages(HWND hwnd, UINT msg, WPARAM param, LPARAM lparam);
void draw(HDC hdc);

int WINAPI WinMain(HINSTANCE currentInstance, HINSTANCE previousInstance, PSTR cmdLine, INT cmdCount) {
    // Initialize GDI+
    Gdiplus::GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR gdiplusToken;
    Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, nullptr);

    // Register the window class
    const char* CLASS_NAME = "myWin32WindowClass";
    WNDCLASS wc{};
    wc.hInstance = currentInstance;
    wc.lpszClassName = CLASS_NAME;
    wc.hCursor = LoadCursor(nullptr, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
    wc.lpfnWndProc = WindowProcessMessages;
    RegisterClass(&wc);

    // Create the window
    //CreateWindow(CLASS_NAME, "Drawing Image", …
Run Code Online (Sandbox Code Playgroud)

c++ gdi+

6
推荐指数
1
解决办法
376
查看次数

标签 统计

c++ ×1

gdi+ ×1