hWnd=CreateWindowEx(WS_EX_APPWINDOW | WS_EX_LAYERED, _TEXT("resclass"), _TEXT("resclass"), WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN,230,250,600,250,NULL,NULL,hInstance,NULL);
hWndEdit=CreateWindowEx(WS_EX_CLIENTEDGE | WS_EX_LAYERED, _TEXT("resclass"), NULL, WS_OVERLAPPEDWINDOW|WS_CHILD|WS_VISIBLE,10,10,400,22,hWnd,NULL,hInstance,NULL);
if (SetLayeredWindowAttributes(hWnd, RGB(255, 255, 255), 255, LWA_ALPHA) == FALSE)
{
MessageBox(NULL, _TEXT("SetLayeredWindowAttributes hWnd"), _TEXT("failed"), MB_OK);
}
if (SetLayeredWindowAttributes(hWndEdit, RGB(255, 255, 255), 255, LWA_ALPHA) == FALSE)
{
MessageBox(NULL, _TEXT("SetLayeredWindowAttributes hWndEdit"), _TEXT("failed"), MB_OK);
}
MessageBox(NULL, _TEXT("SetLayeredWindowAttributes"), _TEXT("successfuly"), MB_OK);
UpdateWindow(hWnd);
UpdateWindow(hWndEdit);
ShowWindow(hWnd,nCmdShow);
ShowWindow(hWndEdit,nCmdShow);
Прозрачный EditBox в окне
Похоже, что нужно использовать примерно такой код:
Код:
Но не работает - слетает на SetLayeredWindowAttributes(hWndEdit, RGB(255, 255, 255), 255, LWA_ALPHA) :( Помогите!
Для дочерних окон WS_EX_LAYERED не канает.