我想要做的是强制主框架窗口背景颜色完全透明。
到目前为止,我发现的唯一第一种方法是SetTransparent(wxByte alpha)
函数。但是,这似乎也为子控件设置了透明度 - 我不希望这样。
我一直在尝试多种方法来实现这一点,但没有一种方法可行。此外,关于此的大多数问题似乎已经过时。是否有任何工作方法(对于Windows)允许我设置主框架窗口的完整透明度?
答案 0 :(得分:0)
wxColour transparentColor = wxColour(wxTransparentColour);
SetBackgroundColour(transparentColor);
SetBackgroundStyle(wxBG_STYLE_CUSTOM);
SetWindowLong(GetHandle(), GWL_EXSTYLE, GetWindowLong(GetHandle(), GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(GetHandle(), transparentColor.GetRGB(), 255, LWA_ALPHA);
SetLayeredWindowAttributes(GetHandle(), transparentColor.GetRGB(), 255, LWA_COLORKEY);