2012-08-17 84 views
1

我有一些VB6控件已放置在自己创建的框架OCX上。这个问题是当框架变得可见时,有时候控件(在这个例子中是2个组合框)缺失,你可以通过它看到Form的背景颜色。VB6控件在用户控件框架上显示为透明

用户控件,只是2梯度图像,标题为标题。

是否有任何UserControls的设置,我需要知道这将解决这个问题?

enter image description here

EDITED

自动重:真 剪辑控制:真

+0

什么是您的AutoRedraw和ClipCOntrols属性设置为您的自定义框架? – tcarvin 2012-08-20 11:31:57

+0

@tcarvin编辑,两者都属实。 – gberg927 2012-08-20 13:02:28

+0

对不起,延迟,一直很忙。组合框是否是标准VB6的一次自定义?其他控件是否具有非默认的AutoRedraw或ClipControl设置?如果您拖动表单,组合框将被刷新?如果你用另一个窗户覆盖它们然后揭示它们,它们是否被刷新? – tcarvin 2012-08-24 12:51:51

回答

1

剪辑控件必须设置为False。解决了我整个问题。感谢您的答案,但

0

1)确保你的容器用户控件具有自动重=真实ClipControls =真

2)将以下代码添加到您的容器usercontrol中:

Private Sub UserControl_Paint() 
    Refresh 
End Sub 
+1

将AutoRedraw设置为True时,您不应该获取Paint事件。 – tcarvin 2012-08-28 11:30:21

0

设置背景图片为

backgroundimage.zorder 1

而你控制

combobox1.zorder 0

您可以在运行时做到这一点。我认为你的组合框在Z-Order中被推回到你的图像后面。这与设计时的“前置”和“后推”选项类似。

+0

如果你打算downvote并至少发布你为什么要这样做,那么你就应该打起精神来。它至少可以帮助OP或我自己理解为什么。在使用控件之前,我有这个问题,它是Z-Order! – Dorian 2012-08-27 20:09:49