读书人

向高手 於 ComboBox 控件高度的

发布时间: 2012-03-09 16:54:56 作者: rapoo

向高手求助 於 ComboBox 控件高度的。
TMyComboBox = class(TWinControl)
我做了一合控件.控件包含一Label控件 Align:=alLeft;
和一 ComboBox 控件 Align:=alRight; 大家知道 ComboBox 的高度是根它的字高度定的 所以 在 TMyComboBox.Create() 的候不知道怎控制 Self.Height
具原因分析入下,求教怎解。

constructor TdhDBBnEd.Create(AOwner: TComponent);
begin
inherited Create(AOwner); // Self.ParentFont=True 也就是Self的字
//跟 AOwner 的化而化. 我也希望它跟著。
EdtBox:=TComboBox .Create(Self); //EdtBox.ParentFont=True 所以字也著跟
//Self化。
Self.Height:=EdtBox.Height;
End;
做的果是控件放在一改字大小的TForm上控件正常。
而放在一改字大小的Form上界面就出Debug 如果Form字改小了Self.Height > EdtBox.Height EdtBox有前部布Self 如果Form字改大了
Self.Height < EdtBox.Height EdtBox的下面部分被Self截掉了,有全部示出
教怎解。分不了,可以崽加分。


[解决办法]
constructor TdhDBBnEd.Create(AOwner: TComponent);
begin
inherited Create(AOwner); // Self.ParentFont=True 也就是Self的字
//跟 AOwner 的化而化. 我也希望它跟著。
EdtBox:=TComboBox .Create(Self); //EdtBox.ParentFont=True 所以字也著跟
//Self化。
Self.Height:=EdtBox.Height;
End;

==============================

上面这个构造函数,本身就有问题。 EdtBox是什么?类属性?方法?对象?

友情UP,全当路过。
[解决办法]
用 ComboBox1.Canvas.TextHeight( "嚣 ");测试其高度 +固定修正值 应该可以滴啦

读书人网 >.NET

热点推荐