如何解决Delphi创建透明窗口
因此,我使用WinApi的CreateWindow函数创建了一个窗口,但似乎无法使孔窗口透明,该窗口显示为全黑或白色,不透明,这是我所缺少的吗?
begin
case uMsg of
WM_DESTROY:
begin
Cleanup;
PostQuitMessage(0);
Result := 0;
Exit;
end;
WM_PAINT:
begin
ValidateRect(hWnd,nil);
Result := 0;
Exit;
end;
end;
Result := DefWindowProc(hWnd,uMsg,wParam,lParam);
end;
var
wc: TWndClassEx = (cbSize: SizeOf(TWndClassEx); style: WS_EX_TRANSPARENT;
lpfnWndProc: @MsgProc; cbClsExtra: 0; cbWndExtra: 0; hInstance: 0;
hIcon: 0; hCursor: 0; hbrBackground: 0; lpszMenuName: nil;
lpszClassName: 'Window'; hIconSm: 0);
begin
wc.hInstance := GetModuleHandle(nil);
RegisterClassEx(wc);
hWindow := CreateWindow('Window','',300,GetDesktopWindow,wc.hInstance,nil);
if SUCCEEDED(hWindow) then
begin
ShowWindow(hWindow,SW_SHOW);
UpdateWindow(hWindow);
while GetMessage(msg,0) do
begin
TranslateMessage(msg);
dispatchMessage(msg);
end;
end;
解决方法
我已使用图像作为组件的父项,并将组件设置为使用父项
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。