procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=13 then self.Memo1.height := self.height+1; end;
上面的错了,再发一次哈:procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=13 then Memo1.height := Memo1.height+1; end;
memo现在是自动换行,不用按回车,我希望的是自动换行的同时增加memo的高度
TForm1 = class(TForm) mem1: TMemo; procedure mem1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } //定义私有变量 FPreRows: Integer; public { Public declarations } end;procedure TForm1.FormCreate(Sender: TObject); begin FPreRows := 1; mem1.lines.clear; end;procedure TForm1.mem1Change(Sender: TObject); var line: Integer; begin line := mem1.Lines.Count; if (line <> FPreRows) then begin //计算行高的没有考虑当前字体和窗体的字体size是否一致 mem1.Height := mem1.Height + (line - FPreRows) * Canvas.TextHeight('H'); FPreRows := line; end;end;
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
self.Memo1.height := self.height+1;
end;
Shift: TShiftState);
begin
if key=13 then
Memo1.height := Memo1.height+1;
end;
mem1: TMemo;
procedure mem1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
//定义私有变量
FPreRows: Integer;
public
{ Public declarations }
end;procedure TForm1.FormCreate(Sender: TObject);
begin
FPreRows := 1;
mem1.lines.clear;
end;procedure TForm1.mem1Change(Sender: TObject);
var
line: Integer;
begin
line := mem1.Lines.Count;
if (line <> FPreRows) then
begin
//计算行高的没有考虑当前字体和窗体的字体size是否一致
mem1.Height := mem1.Height + (line - FPreRows) * Canvas.TextHeight('H');
FPreRows := line;
end;end;
word的表格很自然就是这样,html也容易做到,
delphi却不容易