TMemo和TRichEdit如何控制输入的行数 |
尚未結案
|
fangwy
中階會員 發表:99 回覆:139 積分:62 註冊:2003-09-10 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
依 wameng 大大的辦法(用一個 TStringList):
var sl: TStringList; procedure TForm1.FormCreate(Sender: TObject); begin sl := TStringList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin sl.Free; end; procedure TForm1.Memo1Change(Sender: TObject); var iStart: integer; begin if Memo1.Lines.Count > 8 then begin iStart := Memo1.SelStart; Memo1.Lines.Assign(sl); Memo1.SelStart := iStart; end else sl.Assign(Memo1.Lines); end; |
fangwy
中階會員 發表:99 回覆:139 積分:62 註冊:2003-09-10 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
var sl: TStringList; iPriorSelStart: integer; procedure TForm1.FormCreate(Sender: TObject); begin sl := TStringList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin sl.Free; end; procedure TForm1.Memo1Change(Sender: TObject); begin if Memo1.Lines.Count > 8 then begin Memo1.Lines.Assign(sl); Memo1.SelStart := iPriorSelStart; end else begin iPriorSelStart := Memo1.SelStart; sl.Assign(Memo1.Lines); end; end; procedure TForm1.Memo1Enter(Sender: TObject); begin iPriorSelStart := Memo1.SelStart; end; procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then Key := #0; end;可以把 TRichEdit.ScrollBars 設為 ssNone 就不要出現 Scrollbar 另外您說其中第一行輸滿, 不會自動換行是什麼意思? 是說游標自動跳到第二行嗎? 如果是的話, 您得自己計算輸入了幾個字算滿 滿了的話游標再跳到下一行 游標跳的方式參考: http://delphi.ktop.com.tw/topic.php?topic_id=18641 |
fangwy
中階會員 發表:99 回覆:139 積分:62 註冊:2003-09-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |