線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1459
推到 Plurk!
推到 Facebook!

SetFocus的問題

尚未結案
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-17 17:09:23 IP:61.221.xxx.xxx 未訂閱
請教各位前輩: 小弟在DBEdit5.Exit Event 內寫如下的程式碼 而在當DBEdit13.SetFocus時,游標卻不見了,但可以在該EDIT上KEY資料,小弟找不出原因 懇請前輩幫忙
                          if Application.MessageBox('"郵遞區號"與"地址"不符,是否重新輸入?', ' 執行確認', MB_YesNo   MB_DEFBUTTON1   MB_IconQuestion   MB_SystemModal) = IDYes then
                            begin
                              DBEdit5.SetFocus;
                            end
                          else
                            begin
                              DBEdit13.SetFocus;
                            end;
發表人 - Terrychen 於 2003/12/17 17:12:12
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-17 18:02:38 IP:63.84.xxx.xxx 未訂閱
您好﹗    小弟試不會耶﹐游標還是正常顯示﹐是不是其它部分設定引起的﹖    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-17 18:24:01 IP:211.76.xxx.xxx 未訂閱
感謝回應: 小弟在Form.keypress event 中有用到
  if key = #13 then
  begin
    key:= #0;
    Perform(WM_NextDlgCtl,0,0);
  end;
不知道有沒有影響,只有在下一ㄍDBEDIT.SetFocus會這樣 而再下一ㄍ或上一ㄍ不會
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-18 00:55:17 IP:63.84.xxx.xxx 未訂閱
您好!    Key := #0; 的作用是暫時不允許當前焦點做Keying的動作, 您在OnKeypress中的程式碼的作用應是當使用者按下回車鍵時, 自動將焦點移動下一個元件上, 將此段程式碼稍做改動一下試試:
begin
  if key = #13 then
    begin
      Perform(WM_NextDlgCtl,0,0);
    end;
end;
===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-18 09:07:40 IP:61.221.xxx.xxx 未訂閱
感謝回應: 小弟依cashxin2002的作法修改後,依然有那ㄍ問題
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-18 09:31:10 IP:63.84.xxx.xxx 未訂閱
您好﹗    DBEdit13對應的欄位內容是否是比較特殊的Font字型﹐小弟記得以前在寫到有關泰文和寮文相關的部分﹐也出現同樣的現象﹒    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-12-18 09:47:32 IP:61.221.xxx.xxx 未訂閱
感謝回應: 小弟使用的字型是big5,新細明體 不過應該不是這ㄍ原因 小弟將DBEDIT13的TAB ORDER改為下一ㄍ便不會有這種狀況 可是不巧其TAB ORDER必須為DBEDIT5的下一ㄍ
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-12-18 12:52:54 IP:63.84.xxx.xxx 未訂閱
您好﹗    小弟剛才照您所描述的的程式碼再測試了一下﹐還是不存在這樣的問題﹐不知是否因為您的DBEdit13有何屬性被變動而造成的現象﹐您重新拉一個新的DBEdit元件來代替原來舊的DBEdit13﹐其各個屬性就皆處于預設值﹐再試一下是否可以﹒    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
herry660301
一般會員


發表:0
回覆:1
積分:0
註冊:2003-12-18

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-12-18 12:56:12 IP:210.64.xxx.xxx 未訂閱
我也有遇過此問題, 方法是看你自己的程式中 是否有另外其他程式碼動到DBEdit5.Enabled 的設定 我之所以 會有游標不見 之問題 仍是因我在DBEdit5.SetFocus後 又有另一處之程式把DBEdit5.Enabled設成False 且另一處之程式又把DBEdit5.Enabled設成true 就造成游標不見 了,但卻可 輸入資料。 請自己去發現是否有DBEdit5.Enabled之問題 吧。-_-
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-12-18 19:33:14 IP:211.76.xxx.xxx 未訂閱
感謝各位的回應: 不過前輩所說的小弟都試過了,還是不行
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-12-18 19:42:16 IP:218.160.xxx.xxx 未訂閱
Hi terrychen 試一下看看:
if Application.MessageBox('"郵遞區號"與"地址"不符,是否重新輸入?', ' 執行確認', 
MB_YesNo   MB_DEFBUTTON1   MB_IconQuestion   MB_SystemModal) = IDYes then begin
   DBEdit5.SetFocus;
   DBEdit5.TabOrder := 0;
end
else begin
   DBEdit13.SetFocus;
   DBEdit13.TabOrder := 0;
end;
我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-12-19 11:17:47 IP:61.221.xxx.xxx 未訂閱
感謝回應 問題解決了 小弟在DBEDIT5的ONENTER事件中將DBEDIT13.Tabstop:=False 然後在DBEDIT13的ONENTER事件中將DBEDIT13.Tabstop:=True 這樣就正常了 不過原因不明
系統時間:2024-05-18 13:27:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!