gpt4 book ai didi

Delphi:框架属性在我期望的时候没有更新(它们被卡住了)

转载 作者:行者123 更新时间:2023-12-03 15:18:03 25 4
gpt4 key购买 nike

我的表单上有一个框架。当我更改框架(添加/删除按钮、标签)时,表单上不会出现任何更改,或者控件在表单中具有框架中的其他位置。如果要从表单中删除框架并再次添加 -> 好的。

为什么?我记得在 Delphi 2010(现在的 Delphi XE)中没有任何问题。

谢谢。

最佳答案

所以您创建了一个框架,然后将其实例拖放到另一个窗体上,问题是后来对原始框架所做的更改不会立即显示,直到您删除该实例并重新拖放它?

您不需要删除框架,只需右键单击并选择您希望其属性来自其主(原始框架)属性的控件,然后单击恢复为继承。奇怪的是,“全选”在框架中不起作用。

这是我避免使用框架的原因之一。我希望框架有一个“不允许定制”属性(AllowCustom=false),通过不允许框架具有这种奇怪的双属性集,可以防止任何设计时 DFM 冲突。

规范化框架的另一种方法是右键单击并将表单视为文本,然后将框架缩小为:

 inline Frame61: TMyFrame61
Left = 0
Top = 0
Width = 500
Height = 500
Align = alNone
TabOrder = 0
ExplicitLeft = 31
ExplicitTop = 33
end

现在它根本不包含任何重写的属性。

如果我将其中一个控件拖动到其他位置(即使是意外),则在已放置框架的 DFM 中会发生以下情况:

 inline Frame61: TMyFrame6
Left = 0
Top = 0
Width = 500
Height = 500
Align = alNone
TabOrder = 0
ExplicitWidth = 527
ExplicitHeight = 337
inherited Edit2: TEdit
Left = 19
Top = 77
ExplicitLeft = 19
ExplicitTop = 77
end
end

DFM 中的这些额外内容会干扰您在其他级别所做的更改。通常添加额外的控件和删除控件是没有问题的(额外的控件应该在添加时自动显示,而删除的控件应该消失),但是由于定位问题(控件重叠/等)的影响,效果可能是你不这样做稍后才能看到更改。

关于Delphi:框架属性在我期望的时候没有更新(它们被卡住了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com