2010-12-01 39 views
9

delphi是否包含允許從db中加載自動滾動文本的組件,就像新聞站點一樣?delphi中的自動滾動備忘錄

TT的一個德爾福7應用程序,需要一個垂直滾動。

回答

5

可能,爲您節省一些錢,你能適應這種滾動一個數據庫備註:

EchoMemo.Lines.Add('A Line of text or more'); 
EchoMemo.SelStart := EchoMemo.GetTextLen; 
EchoMemo.SelLength := 0; 
EchoMemo.ScrollBy(0, EchoMemo.Lines.Count); 
EchoMemo.Refresh; 

我使用的日誌顯示。

29

對於這樣一個簡單的任務,你不需要購買商業組件!所有你需要做的就是發送EM_LINESCROLL消息到記錄控制,使其滾動到最後一行:

procedure ScrollToLastLine(Memo: TMemo); 
begin 
    SendMessage(Memo.Handle, EM_LINESCROLL, 0,Memo.Lines.Count); 
end; 

如果你的備忘錄是隻讀的用戶和由應用程序自動更新,你可以在OnChange事件處理程序中調用上述過程,以便每當備忘錄中的文本發生更改時,都會自動向下滾動到最後一行。

+0

嗯,那比我的短,Memo_Scroll高爾夫有人嗎? :) – Despatcher 2010-12-01 15:58:34

0

您也可以使用Memo.GoToTextEnd;需要的時候,例如onchange事件裏面。不是一個適當的自動滾動效果,但可以在類似情況下有用。