wxWidgets怎么实现wxWindow背景的透明化处理

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
lianxu110
Experienced Solver
Experienced Solver
Posts: 53
Joined: Tue Mar 12, 2013 5:29 am

wxWidgets怎么实现wxWindow背景的透明化处理

Post by lianxu110 »

大家好,我最近在做一个项目,项目中使用wxWidgets类库进行GUI开发,由于所有的控件都是继承自wxWindow的,在使用中由于要处理控件重叠的问题,所以在遇到不规则绘图时,需要把wxWindow里的背景色给透掉。这里我已经尝试过了一种方法,就是在窗口和窗口上的控件里都定义擦除背景方法,然后在这个方法里什么也不做。发现在父窗口设置了背景的时候是行不通的,子窗口还是有背景出现。
我想这个问题应该是比较普遍的问题,想问下大家有没有可行的方法,指点一下,谢谢啦!
fancyivan
Experienced Solver
Experienced Solver
Posts: 80
Joined: Wed May 26, 2010 8:42 am
Location: Beijing, China
Contact:

Re: wxWidgets怎么实现wxWindow背景的透明化处理

Post by fancyivan »

samples/shaped这个例子不行么?
OS: Win7 Ultimate SP1 x64(Windows XP Pro SP3 in VirtualBox)
Compiler: MinGW32 (gcc4.8.1 + gdb7.6.1)
IDE: Code::Blocks 12.11
Lib: wxWidgets3.0.0
lianxu110
Experienced Solver
Experienced Solver
Posts: 53
Joined: Tue Mar 12, 2013 5:29 am

Re: wxWidgets怎么实现wxWindow背景的透明化处理

Post by lianxu110 »

fancyivan wrote:samples/shaped这个例子不行么?
不行呢,那个应该是在dc上画的,我的是元件调用的就是wxWindow的方法,我使用的那些元件都是继承自wxWindow这个类的。
Post Reply