怎么让控件MEMO中的文字一下回到第一行(100分)

  • 主题发起人 主题发起人 僵尸洪
  • 开始时间 开始时间

僵尸洪

Unregistered / Unconfirmed
GUEST, unregistred user!
用什么命令
让MEMO中的文字不在第一行的时候让像初始化一样的第一条在头。
 
procedure TForm1.Button6Click(Sender: TObject);
begin //移到头上
Memo1.SetFocus ;
keybd_event(vk_Control,0,0,0);
keybd_event(VK_HOME,0,0,0);
keybd_event(VK_HOME,0,KEYEVENTF_KEYUP,0);
keybd_event(vk_control,0,KEYEVENTF_KEYUP,0);
end;
 
memo1.selstart := 0;
 
什么意思?
是保持第一行不为空吗?
var
i: integer;
j: integer;
memo2: tmemo;
begin
for i:=0 to memo1.Lines.Count-1 do
begin
if trim(memo1.Lines)<>'' then
begin
j:=i;
break;
end;
end;
if (j>0) and (j<memo1.Lines.Count-1) then
begin
memo2:=tmemo.Create(self);
memo2.Parent:=form1;
memo2.Text:='';
for i:=j to memo1.Lines.Count-1 do
begin
memo2.Lines.Add(memo1.Lines);
end;
memo1.Lines.Clear;
memo1.Lines:=memo2.Lines;
memo2.Free;
end;
end;
 
光标跳到第一行?
Memo1.SelStart := 0;
Memo1.Perform(EM_SCROLLCARET, 0, 0);
这是标准用法:)
 
后退
顶部