界限模糊的问题(20分)

  • 主题发起人 主题发起人 Sterntaler
  • 开始时间 开始时间
S

Sterntaler

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]procedure TForm2.ListBox1MeasureItem(Control: TWidgetControl;
Index: Integer
var Height: Integer);
begin
// Height 是 TForm2 属性还是 var 参数?
Height := 18 + ListBox1 . Canvas . TextHeight (
(ListBox1 . Items . Objects [ Index ] as TTextInfo ) . Text )
end;
 
Height 是参数
Var 在参数定义中是一个传址说明
 
同意楼上!
参数
var后 是地址传递 而不是值传递!
 
谢谢各位劳心, 请告诉我为什么 Height 不是 TForm1 的成员, 好吗? 这是我最关心的.
 
可以认为是全局变量被同名局部变量覆盖吧!
 
Height只是一个参数而已.是ListBox要画的框的高度.在有局部变量和类的属性重名的问题时,
局部变量是优先的,所以如果这时你要用Form的Height就只能用Self.Height.
 
谢谢. 由于可给的分数不多, 只能这么分配分配了, 多多包涵. 下次一定多给一点.
特别感谢 lance2000, proman 的回答.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部