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

edit输入限制问题?部份只读?

缺席
zgjob
一般會員


發表:5
回覆:4
積分:1
註冊:2008-05-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-07-18 17:37:17 IP:222.208.xxx.xxx 未訂閱
某医院版的商业软件能实现的效果.
如何限制edit输入框中的输入??
要求是:
窗体启动时,edit中加载了一组数字如101001,
前面的101不允许用户修改???如何只允许用户修改后面三位001,且从101开始,后面最多只能输入三位数,
即edit输入框的最大长度为6

至今只看到一个医院方面的商业软件做到了这点,不知道各位高手们在delphi下有没有办法实现???
編輯記錄
zgjob 重新編輯於 2008-07-18 17:42:45, 註解 無‧
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-07-18 21:08:58 IP:59.126.xxx.xxx 訂閱
HI, 小弟整合了兩位大大 wamengh@visli 在下面這篇的 KeyDown 指令

http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=88862

1、請將 Edit1 的 MaxLength 設為 6
2、請在 KeyDown 事件加入下面的 Code

[code delphi]
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var Mgs: TMsg;
procedure EatKey;
begin
PeekMessage(Mgs, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
end;
begin
case Key of
35..40:; // Home, End, Left, Top, Right, Bottom
8:
if (Length(Edit1.Text) <= 3) or (Edit1.SelStart <= 3) then
EatKey;
48..57:;
else
// 至於下面這個為什麼設 7 因為我設 0 沒用...
// 所以有特殊的按鍵,像是 Del 我就無法阻止
Key := 7;
EatKey;
end;
end;
[/code]
------
價值的展現,來自於你用哪一個角度來看待它!!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-07-18 21:59:55 IP:61.67.xxx.xxx 未訂閱
改用 MASKEDIT就可以解決
MASKEDIT1.EDITMASK:=' '\1\0\1###';
查一下HELP就知道

另外, 我的防毒系統抓出你置放的鏈結有問題哦!
===================引 用 zgjob 文 章===================
某医院版的商业软件能实现的效果.
如何限制edit输入框中的输入??
要求是:
窗体启动时,edit中加载了一组数字如101001,
前面的101不允许用户修改???如何只允许用户修改后面三位001,且从101开始,后面最多只能输入三位数,
即edit输入框的最大长度为6

至今只看到一个医院方面的商业软件做到了这点,不知道各位高手们在delphi下有没有办法实现???
編輯記錄
P.D. 重新編輯於 2008-07-18 22:01:32, 註解 無‧
P.D. 重新編輯於 2008-07-18 22:02:02, 註解 無‧
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-07-23 08:47:40 IP:218.210.xxx.xxx 訂閱
哦~~~,對哦,PD 版大說的對~~,小弟只顧著解決問題,忘了 Delph 的特性 -- 元件 
------
價值的展現,來自於你用哪一個角度來看待它!!
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-07-24 00:38:43 IP:61.67.xxx.xxx 未訂閱
這是我的防毒抓出來的
系統時間:2024-05-05 3:53:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!