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

TabOrder && Enable的問題

尚未結案
雞排
一般會員


發表:16
回覆:40
積分:11
註冊:2004-03-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-09 06:10:48 IP:210.68.xxx.xxx 未訂閱
看了幾個Delphi的教學還是不太懂 我設好了edit1 and edit2 的TabOrder 假設要讓 eidt1輸入的字通過檢查以後 游標自動移到edit2 而不手動按tab鍵 該怎樣作呢? 還有 如果把memo或edit的enable=false 字體的顏色會變淺 怎樣可以做到 不讓使用者在該欄輸入文字 看起來字的顏色也不會變掉? 先感謝大家抽空回答 ^^ 一個不該是程式新手的新手 /.\
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-09 10:09:55 IP:210.65.xxx.xxx 未訂閱
Hi 雞排,    1.你可以參考這一篇文章,再把 VK_RETURN 更改為 VK_TAB 試試(Delphi 的語法) http://delphi.ktop.com.tw/topic.php?topic_id=51149 2.更改該 MEMO 與 EDIT OeadOnly 屬性,而不要去更改 Enable 屬性,應該可以達到你的需要 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
雞排
一般會員


發表:16
回覆:40
積分:11
註冊:2004-03-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-09 11:13:56 IP:210.68.xxx.xxx 未訂閱
引言: Hi 雞排, 1.你可以參考這一篇文章,再把 VK_RETURN 更改為 VK_TAB 試試(Delphi 的語法) http://delphi.ktop.com.tw/topic.php?topic_id=51149 2.更改該 MEMO 與 EDIT OeadOnly 屬性,而不要去更改 Enable 屬性,應該可以達到你的需要 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ---------------------------------- < face="Verdana, Arial, Helvetica"> 1.好像各有優缺點 readonly 雖然不能改值 不過游標依然移的過去 還是enable好用 不過就是字體顏色會變淡 2.我就是看不太懂Delphi T_T 那個是我想要的功能嗎? 我要移動的不是滑鼠游標 是輸入文字的那個 閃爍底線游標 ex: 在edit1 輸入某值 if(條件達成) 游標自動換到edit2(不是按Tab移過去) 一個不該是程式新手的新手 /.\
stanley
一般會員


發表:9
回覆:36
積分:14
註冊:2003-11-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-09 11:52:20 IP:61.219.xxx.xxx 未訂閱
試試下列程式 
     void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if(Key == VK_RETURN)
        Edit2->SetFocus();
}
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-09 13:22:03 IP:210.65.xxx.xxx 未訂閱
Hi 雞排,    1.在 edit 中按下按鍵時, 當if(條件達成) then 系統幫你按下 Tab 鍵    2.弄個 Panel 將 EDIT 與 MEMO 放在 Panel 中,Control Panel 的 Enabled 屬性     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
雞排
一般會員


發表:16
回覆:40
積分:11
註冊:2004-03-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-09 20:18:37 IP:210.68.xxx.xxx 未訂閱
引言: 試試下列程式
     void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if(Key == VK_RETURN)
        Edit2->SetFocus();
}
感謝兩位的回答 令我我產生了一點小問題 Edit2->SetFocus();是否不能寫在mainmenul裡面 她會產生錯誤訊息 試了半天我用 if(!Form1->Edit2->Text.IsEmpty()) Edit2->SetFocus(); 這樣就可以了(好像有時候還是會跳出錯誤訊息) 不過大部分的時候可以正常執行 怎麼會這樣呢? 用毅力找出來的方法 原理不明 =.= 一個不該是程式新手的新手 /.\
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-10 11:58:14 IP:210.65.xxx.xxx 未訂閱
Hi 雞排,    當 Edit2 Enabled 或是 Visible 屬性為 False 時, Edit2->SetFocus(); 指令即會產生此錯誤訊息 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
雞排
一般會員


發表:16
回覆:40
積分:11
註冊:2004-03-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-10 12:35:32 IP:210.68.xxx.xxx 未訂閱
引言: Hi 雞排, 當 Edit2 Enabled 或是 Visible 屬性為 False 時, Edit2->SetFocus(); 指令即會產生此錯誤訊息 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ---------------------------------- < face="Verdana, Arial, Helvetica"> 如果是就好了 /.\ 我隨便弄一個參數 if(i=1) { Edit2->SetFocus(); } compiler 就過了 超神奇.... 不過還是謝謝妳們了 一個不該是程式新手的新手 /.\
系統時間:2024-05-15 17:04:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!