我正在尝试创建一个自定义控件,用于显示每个像素alphablend的位图(就像其他一些人已经知道的那样)。创建自定义透明控件
现在我正在资源编辑器中使用自定义控件,并将其附加到从CWnd派生的类。当我注册我的自定义类时,我将WNDCLASS结构的hbrBackground设置为NULL_BRUSH,以实现控件的透明度。
在我使用的AlphaBlend画的每个像素的阿尔法混合位图控制的OnPaint中。
这工作得很好,但我有这样两个问题:
我想改变显示位图,当鼠标在控制。由于控件是透明的,一个位图不会被另一个位图重叠的区域不会被擦除。图像更改后如何擦除背景?
第二个问题与两个重叠控件有关。我的控制被绘制在具有渐变的其他控件上(实际上是在其他控件中)。问题是,如果我把我的控制在z顺序之前,其他控件重叠我的控制,我的不显示。如果我将其他控件放在z顺序中,我无法在我的控件中获取鼠标消息。
也许我做错了什么或者我错了我如何实现我的控制。任何形式的帮助,将不胜感激。
感谢,
哈维尔