设计期不能同步问题(5分)

  • 主题发起人 主题发起人 delnus
  • 开始时间 开始时间
D

delnus

Unregistered / Unconfirmed
GUEST, unregistred user!
写复合组件的时候,在一个空白面板(TPanel)上添加了两个RadioButton

并为其添加了两个属性(published):Radio1Caption Radio2Caption 然而在设计期间修改
Radio1(2)Caption的值,在窗体上不能同步显示出来,按过回车键才完全显示。

是不是与ComponentState有关?应该如何解决不能同步的问题?
 
不同步不行吗?
 
那是因為PropertyEditor的關係
因為string屬性的預設PropertyEditor是TStringProperty, 當只有你按下回車, 或者移開
該屬性Cell, 編輯的字串才會寫到該component的屬性中
如果想要在編輯的任何改變時字串就會寫到該component的屬性, 以Refresh Caption
要用TCaptionProperty,
可以Register函式中加入以下
RegisterPropertyEditor(TypeInfo(string), {類名稱}, '屬性名稱', TCaptionProperty);
TCaptionProperty 在D5是定義在DsgnIntf中,所以必需Use它;
如果在D6 DsgnIntf已不存在, 你可以用Search的方式找找TCaptionProperty定義
在那個Unit中
 
多人接受答案了。
 
后退
顶部