Windows WS_EX_分层窗口不会相对于其父窗口移动
我创建了一个具有WS_EX_分层扩展样式的窗口。 在此之后,我将此窗口的父窗口更改为acall到SetParent。 但当我在桌面上移动父窗口时,我的窗口并没有改变它相对于父窗口的位置Windows WS_EX_分层窗口不会相对于其父窗口移动,windows,winapi,win32gui,Windows,Winapi,Win32gui,我创建了一个具有WS_EX_分层扩展样式的窗口。 在此之后,我将此窗口的父窗口更改为acall到SetParent。 但当我在桌面上移动父窗口时,我的窗口并没有改变它相对于父窗口的位置 int translevel = 50; /* 0 - 255 */ SetWindowLong(m_hWnd,GWL_EXSTYLE,GetWindowLong(m_hWnd,GWL_EXSTYLE)|WS_EX_LAYERED ); ::SetLayeredWindowAttribu
int translevel = 50; /* 0 - 255 */
SetWindowLong(m_hWnd,GWL_EXSTYLE,GetWindowLong(m_hWnd,GWL_EXSTYLE)|WS_EX_LAYERED );
::SetLayeredWindowAttributes(m_hWnd,RGB(0,0,0),translevel, 0x02);
HWND hParent = ::FindWindow(TEXT("TSSHELLWND"), NULL);
::SetParent(m_hWnd, hParent);
注意:-TSSHELLWND是mstsc会话窗口。我想把我的窗口作为mstsc会话窗口的子窗口
它不会移动,因为我在子窗口上应用了LAYESRED属性吗???在Windows8之前的系统上,不能在子窗口上使用
WS\u EX\u LAYERED
:
Windows 8:顶级窗口和子窗口支持WS_EX_分层样式。以前的Windows版本仅支持顶级Windows的WS_EX_分层
在Windows8之前的系统上,您不能在子窗口上使用
WS\u EX\u LAYERED
:
Windows 8:顶级窗口和子窗口支持WS_EX_分层样式。以前的Windows版本仅支持顶级Windows的WS_EX_分层
嗯,它不是子窗口,只有顶级窗口可以是分层窗口。使它成为系统窗口的父窗口,无论TShellwnd是什么,看起来都相当麻烦。当然它以前不是那个窗口的子窗口。好吧,它不是子窗口,只有顶级窗口可以是分层窗口。使它成为系统窗口的父窗口,无论TShellwnd是什么,看起来都相当麻烦。这肯定不是以前那个窗户的儿童窗户。