有没有办法在 VB6 中将工具提示添加到 MDI 父窗体?

Is there a way to add a ToolTip to an MDI Parent Form in VB6?

我目前正在从事一个使用 MDI 表单的项目。我想要实现的是,当用户将鼠标悬停在 MDI 菜单中的一个菜单选项上时,会出现一个 ToolTipText,描述可以在所述菜单中找到的内容。我知道在 VisualBasic 6 的某些选项中支持工具提示这一事实。但是,我似乎无法将其添加到 MDI 表单,或为此添加标签控件。有没有人 运行 遇到过这个问题,如果有,是否有解决方法或解决方案?

如果您有任何其他问题或意见,请告诉我。提前谢谢你。

我不知道 VB6 上(甚至非 MDI)的任何真正菜单都有工具提示 属性;因此,当 MDIForm 的一个子窗体显示其菜单时,MDIForm 也不会显示。

但是,有一些控件可以放在 MDI 父窗体上。其中最有用的可能是 PictureBox,您可以在其中放置任何类型的控件,例如 CommandButtons。它必须 "docked" 到 MDIForm 的顶部或底部,使用 PictureBox.Align 属性。 PictureBox 中的控件可以按您希望的任何方式放置,并且可以设置其正常的工具提示属性。

我幸运地使用的另一个 MIDForm 可用控件是 ToolBar 控件,它作为 CommonControls 组件的一部分出现。像 PictureBox 一样,它有一个 .Align 属性 来将它设置到 MDIForm 的顶部或底部。您可以在其上放置任何合理数量的 "buttons",并对它们的外观(图形等)进行合理控制;关于 OP 的查询,您可以为每个按钮分配一个工具提示。根据当前活动的表单改变按钮并不难,就像 MDI 菜单通常做的那样。

另一种可以考虑(但实施起来可能相当繁琐)的替代方法是读取每个 MDI 菜单的 Mouse.X 和 Mouse.Y 属性并设置 Label 控件的标题 (或文本框)使用鼠标悬停事件。

您需要找到每个 MDI 菜单的左上角和右下角点,如果它在框内,您可以显示带有预期标题的标签控件。但请注意,除了 PictureBoxes、Toolbars 和 Coolbars 等之外,您不能只在 MDI 窗体上放置任何控件。

因此必须首先将 Label 或 TextBox 控件放置在可以顶部对齐的 PictureBox 控件之上。