Tam ekran şeffaf, kenarlıksız bir pencere oluşturmaya çalışıyorum. Metin arka planı şeffaf olmalı, ancak gerçek yazı tipi yüzü olmamalıdır. Sorun şu ki, yalnızca SetWindowRgn yapmazken görüntülenen TextOut'u görebiliyorum. . Ben yanlış ne yapıyorum :(Şeffaf win32 penceresi ve metni
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hInst = hInstance;
DWORD Flags1 = WS_EX_COMPOSITED | WS_EX_LAYERED | WS_EX_NOACTIVATE | WS_EX_TOPMOST | WS_EX_TRANSPARENT;
DWORD Flags2 = WS_POPUP;
hWnd = CreateWindowEx(Flags1, szWindowClass, szTitle, Flags2, 0, 0, 1920, 1200, 0, 0, hInstance, 0);
if(!hWnd)return FALSE;
HRGN GGG = CreateRectRgn(0, 0, 0, 0);
SetWindowRgn(hWnd, GGG, false);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
DeleteObject(GGG);
return TRUE;
}
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
SetBkMode(hdc, TRANSPARENT);
TextOut(hdc, 50, 50, L"MY TEXT", lstrlen(L"MY TEXT"));
EndPaint(hWnd, &ps);
Evet, bir 0 x 0 piksel penceresini görmek gerçekten de zordur (CreateRectRgn için aklı başında değerler iletin –
0, 0, 1920, 1200 ile denedim ve şimdi hiçbir şey görünmez, ekranın tamamını görünmez istiyorum :( – Kachinsky
@ user1040769 Github'a bu çözümü bir sınırla birlikte şeffaf bir pencere ile ekleyebilir misiniz? Pencerenin şeffaf olduğu bir pencere ve bir çocuk penceresi (bir düğme gibi) lütfen bu kadar iyi olur, bu şekilde nasıl başardığınızı görmemizi öğrenebiliriz. bir bağlantıyı yönlendirmek. Çok teşekkür ederim! "SetWindowRgn" işlevi için – bluejamesbond