線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3580
推到 Plurk!
推到 Facebook!

請問如何讓Memo1顯示最後一行的位置

尚未結案
DawMax
一般會員


發表:1
回覆:2
積分:0
註冊:2006-09-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-09-13 12:11:40 IP:210.209.xxx.xxx 未訂閱

請問各位~

關於Memo顯示的一個關於的問題
如何讓Memo1.Lines.Text := Memo1.Lines.Text StrText增加文字時,
保持顯示在最後一行的位置,而不是顯示在最前一頁位置

procedure TMainForm.MyMemoAddText(StrText: string);
var

begin

Memo1.Lines.Text := Memo1.Lines.Text StrText
// 現在的Memo1 一直顯示在最前一頁
// 請問如何讓Memo1顯示最後一行的位置,可以看到新增的StrText文字

end;


謝謝~

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-09-13 13:27:54 IP:61.229.xxx.xxx 未訂閱
不知是否有更好的方式,但我用騙的。要回答時才發現這裡是delphi區,我還用c的語法…

begin

Memo1.Lines.Text := Memo1.Lines.Text StrText;
Memo1.Lines.Add(#0); //這行不知在delphi中有用嗎? 試看看了

end;


===================引 用 文 章===================

請問各位~

關於Memo顯示的一個關於的問題
如何讓Memo1.Lines.Text := Memo1.Lines.Text StrText增加文字時,
保持顯示在最後一行的位置,而不是顯示在最前一頁位置

procedure TMainForm.MyMemoAddText(StrText: string);
var

begin

Memo1.Lines.Text := Memo1.Lines.Text StrText
// 現在的Memo1 一直顯示在最前一頁
// 請問如何讓Memo1顯示最後一行的位置,可以看到新增的StrText文字

end;


謝謝~

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
NetMars
一般會員


發表:0
回覆:2
積分:0
註冊:2006-09-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-09-13 15:23:55 IP:58.244.xxx.xxx 未訂閱

解决问题的关键,首先你要明白一点Memo中的Lines属性,

Lines属性是一个TStrings类型对象,

TStrings如何添加字符及对象,这个就不用我讲了。

------
NetMars
DawMax
一般會員


發表:1
回覆:2
積分:0
註冊:2006-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-09-13 16:11:43 IP:210.209.xxx.xxx 未訂閱

單鍵 開/關 交替控制電路

加這一行Memo1.Lines.Add(#0); 可以讓顯示在最後一行,但會造成斷行問題。

例: 有一文字串 There are words test string#13#10,但需分多次加入Memo1.Lines.Text中


StrTex := 'There ar';
TMainForm.MyMemoAddText(StrTex);

StrTex := 'words for test-string' #13 #10;
TMainForm.MyMemoAddText(StrTex);

正確應該是:
There are words test string

但是會產生斷行問題:
There ar
words for test-string

因為換行是需由文字資料中的 #13 #10 自行換行
不知大大有何方法解決


aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-09-14 02:38:40 IP:61.229.xxx.xxx 未訂閱
下面應該是正統解了,我在bcb有試一下,應該ok

begin

Memo1.Lines.Text := Memo1.Lines.Text StrText;
Memo1.Perform(EM_LINESCROLL, 0, Memo1.Lines.Count);

end;


------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
DawMax
一般會員


發表:1
回覆:2
積分:0
註冊:2006-09-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2006-09-16 14:52:31 IP:210.209.xxx.xxx 未訂閱

謝謝 aftcast 大大

這個方法可以了!!


===================引 用 文 章===================
下面應該是正統解了,我在bcb有試一下,應該ok

begin

Memo1.Lines.Text := Memo1.Lines.Text StrText;
Memo1.Perform(EM_LINESCROLL, 0, Memo1.Lines.Count);

end;


系統時間:2024-04-27 4:48:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!