Excel ActiveX标签在单击时闪烁/更改样式

时间:2011-11-18 18:11:07

标签: excel vba ms-office activex

这似乎是个小故障,多年来一直困扰着我。放置在工作表上的某些ActiveX控件在单击时会执行奇怪的操作。在下图中,没有任何代码,Label1被禁用,但是当单击Label1时,Label2消失。我也看到黑色标签在点击时变白。我知道防止这种情况的唯一方法是使用子类化/挂钩来拦截和取消wm_mousedown消息,但这对于这样一个简单的目标来说是很多工作。那里有人有一个简单的解决方案吗?

*编辑:我相信正在发生的是z-order / z-index将点击的控件带到顶部。但如果有办法防止这种情况,我很想知道如何。

Label2 disappears when Label1 is clicked even though Label1 is disabled

以下是单击标签时背景颜色更改的示例。请参阅标题为“原始值:”

的标签

Some labels change background color when clicked

1 个答案:

答案 0 :(得分:-1)

项目应该按照它们的布局顺序保留,我有很多项目包含重叠的菜单,形状和标签,它们都按照它们组织的层次顺序保留,它们移动的唯一时间是以编程方式重新创建它们要更新菜单等,那么你需要编写代码,从下到上依次将它们全部放回去。如果他们没有保持秩序,则存在问题,而不是设计缺陷。