Próbuję utworzyć pełnoekranowe przezroczyste okno bez ramki z tekstem, który jest wyświetlany na wierzchu. Tło tekstu powinno być przezroczyste, ale nie rzeczywiste oblicze czcionki. Problem polega na tym, że mogę zobaczyć tylko TextOut wyświetlany, gdy nie robię SetWindowRgn. Nie mam pojęcia co robię źle :(Przejrzyste okno win32 i tekst
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);
Tak, to rzeczywiście trudno zobaczyć okno pikseli 0 x 0 przekazywać wartości rozsądnych do CreateRectRgn ( –
Próbowałem z 0, 0, 1920, 1200 i teraz nic nie jest niewidoczne, chcę, aby cały ekran był niewidoczny :( – Kachinsky
@ user1040769 Czy możesz dodać to rozwiązanie na Githubie z przezroczystym okienkiem z ramką (tak, że widzimy gdzie okno jest przezroczyste) i jedno okienko podrzędne (takie jak przycisk), proszę? To byłoby tak wspaniałe, że możemy nauczyć się, jak widzę, jak to osiągnąłeś. rovide link. Dziękuję bardzo! – bluejamesbond