delphi-stringgrid换行的有关问题
delphi-stringgrid换行的问题
今天我在用 Stringgrid控件使用中,想实现让一个单元格中实现换行,我使用的delphi版本是 XE5
比如 第一行的内容#13#10第二行的内容#13#10第三行的内容
我使用如下的换行代码
换行是实现了,但是我的Stringgrid的表头 就出现了2行的文字,本来是1行的内容

这应该如何修改,我还是希望可以 表头的内容是 1 行
我从新用写入文字的代码 去修改表头的文字,发现写入一行还是写入2行
谢谢,希望大家指点一下
------解决思路----------------------
1.这个你定义一个二维数组ATable:array [0..6,0..5] of Boolean,对应grid的行和列,当然也是全局的
2.在MouseDown中
判断:当按ctrl,同时按下鼠标时,
注:这里如果不按ctrl中时,先把其它全部写为false;
begin
strGrid .MouseToCell(X, Y, FiLC, FiLR);
ATable:[FiLC, FiLR]=true;
strGrid.Repaint;
end;
3.drawCell中,把
ATable中所有为true的全部变色
今天我在用 Stringgrid控件使用中,想实现让一个单元格中实现换行,我使用的delphi版本是 XE5
比如 第一行的内容#13#10第二行的内容#13#10第三行的内容
我使用如下的换行代码
procedure TForm34.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var Area:TRect;
begin
//显示换行的代码
StringGrid1.Canvas.Font.Assign
(StringGrid1.Font);
with StringGrid1,StringGrid1.Canvas do
begin
FillRect(Rect);
Area:= Rect;
InflateRect(Area, -2, -2);
DrawText(Handle, PChar(Cells[ACol, ARow]),Length(Cells[ACol, ARow]), Area, DT_LEFT)//居中
end;
end;
换行是实现了,但是我的Stringgrid的表头 就出现了2行的文字,本来是1行的内容
这应该如何修改,我还是希望可以 表头的内容是 1 行
我从新用写入文字的代码 去修改表头的文字,发现写入一行还是写入2行
谢谢,希望大家指点一下
------解决思路----------------------
1.这个你定义一个二维数组ATable:array [0..6,0..5] of Boolean,对应grid的行和列,当然也是全局的
2.在MouseDown中
判断:当按ctrl,同时按下鼠标时,
注:这里如果不按ctrl中时,先把其它全部写为false;
begin
strGrid .MouseToCell(X, Y, FiLC, FiLR);
ATable:[FiLC, FiLR]=true;
strGrid.Repaint;
end;
3.drawCell中,把
ATable中所有为true的全部变色