我正在嘗試使全屏透明無邊框窗口上顯示完美的文本。文本背景應該是透明的,但不是實際的字體。問題是,當我不執行SetWindowRgn時,我只能看到TextOut。我不知道我做錯了:(透明的win32窗口和文本
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);
是的,這的確是很難看到一個0 X 640像素的窗口傳遞理智值CreateRectRgn( )。 – 2013-03-25 00:35:11
我試着用0,0,1920年,1200和現在沒有什麼是不可見的,我想整個屏幕無形:( – Kachinsky 2013-03-25 16:22:03
@ user1040769能否請你在Github上有透明的窗口邊框添加此溶液(所以我們可以看到窗口是透明的)和一個孩子窗口(如一個按鈕)?這將是非常偉大的方式,我們可以學習我看到你是如何做到這一點的。提供鏈接。非常感謝! – bluejamesbond 2013-09-14 15:28:48