全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1340
推到 Plurk!
推到 Facebook!

如何設定Memo可以輸入的行數目?

尚未結案
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-03 13:19:55 IP:140.124.xxx.xxx 未訂閱
如何設定Memo可以輸入幾行的資料? 感謝大家哦~~
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 14:01:38 IP:140.135.xxx.xxx 未訂閱
黑輪您好: 應該是沒有辦法直接設定的(您指的應該是列吧[橫列直行的話]) 不過可以利用程式來做到這樣的功能
if (Memo1->Lines->Count > 10)
{
  //做您要做的處理
}
順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-03 14:12:39 IP:61.66.xxx.xxx 未訂閱
(與taishyang 同時回應... 因內容相似故刪除。) 發表人 - anpino 於 2004/03/03 14:16:37
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-03 14:21:01 IP:140.124.xxx.xxx 未訂閱
我是想給使用者只能輸入10行的資料,還是有別的方法可以做? 感謝你哦~~
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-03 14:25:06 IP:61.63.xxx.xxx 未訂閱
引言: 如何設定Memo可以輸入幾行的資料? 感謝大家哦~~
黑輪你好: 應該是沒有直接的 >: < class="code"> In Unit.h ~~ private: // User declarations void __fastcall MemoWndProc(TMessage&); TWndMethod OldMemoWndProc; ~~ In Unit.cpp ~~ //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { OldMemoWndProc=Memo1->WindowProc; Memo1->WindowProc=MemoWndProc; } //--------------------------------------------------------------------------- void __fastcall TForm1::MemoWndProc(TMessage& Message) { OldMemoWndProc(Message); if (Message.Msg==WM_CHAR) { if (Memo1->Lines->Count>=5) { <---假設最多4行 Memo1->Lines->Delete(4); return; } } } //--------------------------------------------------------------------------- 這個例子是只給使用者輸入4行,第5行想要輸入字元的話,會按不出來,但是注意游標是可以到第5行的,因為第5行如果沒有字元只有游標的話,它會當作Memo只有4行的,如下圖! < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=14347933&CC=320887"> That's all! 發表人 -
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-03 16:55:26 IP:140.124.xxx.xxx 未訂閱
哇~~這是什麼東西啊!! 慘了~看不懂~~研究一下啦 哪如果一次想要有3個memo只可以輸入n行,要改哪裡啊?
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-04 09:57:26 IP:61.63.xxx.xxx 未訂閱
引言: 哇~~這是什麼東西啊!! 慘了~看不懂~~研究一下啦 哪如果一次想要有3個memo只可以輸入n行,要改哪裡啊?
黑輪你好: 精神就是今天>當使用者要> 有這樣的想法,當然程式碼會加在 >!因為這些事件就是在 >! <>針對你的多個>的問題… 一樣,直覺的,假設有 class="code"> In Unit.h ~~ class MyMemo : public TMemo //宣告一個新Memo物件 { __published: private: public: int LimiteLine; __fastcall MyMemo(TComponent* Owner,int); void __fastcall MyMemoWndProc(TMessage&); TWndMethod OldMyMemoWndPro; }; ~~ In Unit.cpp ~~ //--------------------------------------------------------------------------- __fastcall MyMemo::MyMemo(TComponent* Owner,int LmtLne) : TMemo(Owner) { LimiteLine=LmtLne; OldMyMemoWndPro=WindowProc; <---這裡寫得有點饒舌 WindowProc=MyMemoWndProc; } //--------------------------------------------------------------------------- void __fastcall MyMemo::MyMemoWndProc(TMessage& Message) { OldMyMemoWndPro(Message); if (Message.Msg==WM_CHAR) { if (Lines->Count>LimiteLine) { Lines->Delete(LimiteLine); return; } } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { //實用範例 MyMemo* MyMemo1=new MyMemo(this,10); <---宣告第一個Memo,限制行數10 MyMemo1->Parent=this; MyMemo1->Left=1; MyMemo1->Top=1; MyMemo1->Width=200; MyMemo1->Height=300; MyMemo1->ScrollBars=ssVertical; MyMemo1->Font->Size=14; MyMemo* MyMemo2=new MyMemo(this,5); <---宣告第一個Memo,限制行數5 MyMemo2->Parent=this; MyMemo2->Left=220; MyMemo2->Top=1; MyMemo2->Width=200; MyMemo2->Height=300; MyMemo2->ScrollBars=ssVertical; MyMemo2->Font->Size=14; } //------------------------------------------------------------------------ 就這樣,定義自已的Memo物件後,要用幾個就宣告幾個,有些屬性要自已設就是了,that's all!
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-04 11:27:22 IP:140.124.xxx.xxx 未訂閱
哇~~so cool~~我也來試一下寫物件好了~~ 感謝你哦~
系統時間:2024-04-19 10:50:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!