【发布时间】:2010-10-05 21:29:14
【问题描述】:
环境是 C/C++ 下的普通 win32,没有任何花哨的 MFC 或类似的 mumbo-jumbo。我有一扇窗户,里面有几个孩子和孙子。有些孩子是奇形怪状的图标,我需要它们有透明的背景(奇形怪状的图标)。考虑一个这样的伪结构:
- 父母1
- Child1(正常)
- Child2(形状奇特的图标)
- Child3(正常)/Parent2
- 孙子1(正常)
- Grandchild2(形状奇特的图标)
上面,Child2 和 Grandchild2 应该有透明背景(WM_ERASEBKGND 什么都不做,或者 (WNDCLASS)->hbrBackground = NULL)。现在这些图标的背景是透明的,但透明到极端——我在 Parent1 下看到了东西——桌面等。
这一切都发生在 Windows Mobile 下。
我需要为 Parent1 和 Parent2 设置任何额外的标志吗?您可能会提供什么好技巧?
如果没有人遇到类似问题,我会感到惊讶,因为现在许多应用程序必须显示图标,各种形状和大小。
编辑:形状奇特的窗口是带有透明胶片的图标。如果父窗口不对这些特定窗口进行剪辑,但每次父窗口自己绘制时使它们无效,那就太好了。 CS_PARENTDC 看起来很有希望,但还不够有希望。有什么想法吗?
【问题讨论】:
标签: c++ c user-interface winapi windows-mobile