怎样根据TMemo的行数设置Tmemo的高度,让Tmemo刚好能显示所有的文本?
比如:1行 15
2行 30
3行 42
....
当然要根据Tmemo的字体来设。
(不用考虑会太高,我程序中它最多可能是10行。)
比如:1行 15
2行 30
3行 42
....
当然要根据Tmemo的字体来设。
(不用考虑会太高,我程序中它最多可能是10行。)
解决方案 »
- 如何实现Delphi连接paradox数据库?
- 请教:利用ADODataSet的LoadFromFile导入数据 不能存入数据库文件
- 我用ADOQuery1连接数据库,现在我想在进度条里显示读取数据的进度该如何实现!请各位大哥告知,谢谢
- RAVE报表:程序中打几份报表出问题.
- 请问内网通是什么个思路?应该要怎么写?
- 我的主程序传递一个数据库连接字符串给dll,到了dll里面怎么会变成乱码了?
- 请大大帮忙看以下的代码
- 高手求教IWButton 图片的问题
- 感谢各位,请问怎么给帮忙的老师们分呀?
- 使用Delphi6时,发现似乎过程closefile无法使用
- 拨开云雾,对计算机行业认识个清楚!
- 请问使用fastreport如何在一行中打印多列数据?
var
FontHeigth: Integer;
begin
Self.Canvas.Font.Assign(Memo1.Font);
FontHeigth := Self.Canvas.TextHeight('A');
Memo1.Height := (FontHeigth + 1) * Memo1.Lines.Count;
end;
FontHeigth: Integer;
begin
Self.Canvas.Font.Assign(Memo1.Font);
FontHeigth := Self.Canvas.TextHeight('合');
Memo1.Lines.add('好);
Memo1.Lines.add('好汉');
Memo1.Lines.add('合乎');
Memo1.Lines.add('AAAAAAA');
Memo1.Lines.add('aaaaaaaaa');
Memo1.Height := (FontHeigth +1 ) * (Memo1.Lines.Count+1);
end;
var
DC: HDC;
SaveFont: HFont;
I: Integer;
SysMetrics, Metrics: TTextMetric;
begin
with Memo1 do
begin
DC := GetDC(0);
GetTextMetrics(DC, SysMetrics);
SaveFont := SelectObject(DC, Font.Handle);
GetTextMetrics(DC, Metrics);
SelectObject(DC, SaveFont);
ReleaseDC(0, DC);
if NewStyleControls then
begin
if Ctl3D then I := 8 else I := 6;
I := GetSystemMetrics(SM_CYBORDER) * I;
end else
begin
I := SysMetrics.tmHeight;
if I > Metrics.tmHeight then I := Metrics.tmHeight;
I := I div 4 + GetSystemMetrics(SM_CYBORDER) * 4;
end;
Height := Metrics.tmHeight*Lines.Count + I;
end;
end;