【问题标题】:Modifying VB6 control properties from text editor leads to unexpected behavior从文本编辑器修改 VB6 控件属性会导致意外行为
【发布时间】:2013-07-25 18:42:07
【问题描述】:

所以我正在编写一个脚本来快速修改一个带有 COM 控件的 VB6 应用程序的接口。 (在 C# .net 中创建)。大部分都可以正常工作,但有些面板给我带来了很多麻烦。

基本上,我打开 .frm 文件并阅读它,当我找到一些控件时,我会修改它们的值或插入新的东西。当我找到一个面板时,我会在它周围创建一个不同的面板,这样看起来会更好。我会将Top = 2340 放入新元素的文件中。如果我在记事本中打开.frm,我可以清楚地看到Top 的值在2340。打开 VB6 后,面板的最高值为 Top = 8190。它也修改了左值,但没有别的。如果我保存并退出 vb6,然后在记事本中重新打开 .frm,Top 的值将保存在 8190

为什么 VB6 使用的值与 .frm 文件中的值不同?它是否试图避免元素堆叠在一起?在读取文件和打开文件之间发生了什么,这会强制 Top 属性的值不同?

【问题讨论】:

    标签: vb6


    【解决方案1】:

    只是一个理论,但我认为问题在于 ScaleMode 属性设置不正确。默认情况下,除非容器窗口具有该属性,否则它将设置为 Twips。因此,在某些容器下可能有效的内容在其他容器中无效。

    例如,MDIForm 容器强制 Twips,甚至可以根据对齐重新定位对象。

    如果这是表单本身,我认为它不值得一提,请确保 StartUpPosition 正确设置为 0(手动)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多