抱歉,除了“高级自定义属性”之外,我不知道如何命名它。如果我知道,我会先搜索一下。
我正在使用第三方控件处理遗留代码。
在VB6中,当您将该控件拖到窗体上时,您可以在“属性”窗口中看到该控件支持的所有属性。比如MarginLeft、MarginRight等等。
那没问题。
在“属性”窗口中,最上面的属性一般是“(名称)”字段,它是控件的名称。
但是我正在使用的第三方控件在“(名称)”上方还有另外两个“假属性”,即“(关于)”和“(自定义)”。
当您点击“(关于)”时,将会出现一个显示公司信息的对话框。当您单击“(自定义)”时,将出现另一个对话框,显示更多属性。这些对话框在 VB6 中显示。
在“(自定义)”对话框中,可以修改普通属性(与直接在属性窗口中修改相同)。你可以做更多。还有更多属性不是普通属性(至少您在“属性”窗口中找不到任何内容)。
当您保存此表单时,对于普通属性,所有内容都将保存到 .FRM 文件中。例如。,
Control1.MarginLeft = 5
Control1.Text = "I am a control"
但是,对于在(自定义)对话框中编辑的“高级属性”,它们不会保存在.FRM 中,而是以二进制格式保存在.FRX 中。
例如,在(自定义)对话框中,您可以编辑一个名为“标题”的属性,其中包括该标题的文本、字体、粗细、显示样式以及许多与标题类似的属性。在 .FRM 中,它类似于,
Control1.Caption = "frmForm1.frx":013F
标题的所有文本和相关属性都以二进制格式保存在 .FRX 文件中。
需要注意的是,普通的“属性”窗口中没有“Caption”属性,只能在“(自定义)”对话框中进行编辑。
我的问题如下,
如何实现这样一个可以在VB6中显示的(自定义)对话框?
如何让VB6的属性窗口显示(关于)和(自定义)?
如何告诉VB6 Caption属性不应显示在属性窗口中,但可以直接在代码中使用Control1.Caption = xxxx.frx:offset
?
如何告诉VB6这个Caption属性应该保存在.FRX中,以及如何告诉VB6数据的大小,以便VB6可以自动管理偏移量?
如何通过VB6自动加载数据,以便在(自定义)对话框中显示正确的值?
据我所知,.frx 格式是秘密,有很多人在研究各种 .frx 用于标准控件,如二进制(图像)、列表和文本。我很好奇第 3 方控件如何利用 .frx,第 3 方控件是否应该定义自己的 .frx 格式?包括例如Length前面有多少字节(或者根本没有长度字段,它是固定长度),style1有多少字节,style2有多少字节等。
多谢。如果您知道这个“高级属性”的正确名称是什么,请告诉我名称,我可以自己搜索。
我尝试搜索高级属性,但没有真正得到我想知道的任何信息。