如何在MessageBox訊息顯示後,讓游標出現在下一個MaskEdit中? |
答題得分者是:RedSnow
|
depblue
一般會員 發表:38 回覆:29 積分:13 註冊:2004-12-27 發送簡訊給我 |
我設計的畫面如下:
我在製造商後面的空格寫下下面的程式..
procedure TPutDlg_mdataFrm.PDJMASKComEdit1Exit(Sender: TObject);
begin
......
......
if stbscQu.RecordCount = 0 then
begin
BTBeeper1.PlayDefaultSound;
if MessageBox(Handle,'此為新規格,是否確定?','詢問訊息',MB_YESNO) = IDNO then
begin
PDJMASKComEdit1.SetFocus;
Abort;
end
else
MaskEdit6.SetFocus;
end;
end
(當我在訊息出現後按下NO 則滑鼠指標在製造商的位置,
如果按下YES的話 則滑鼠指標是在張數後面)
不過 問題當我按下YES後 式顯示下面的畫面(下面的畫面並沒有滑鼠指標)
要如何才能讓我按下YES後
指標是指到張數後面的位置??
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 您的程式碼并沒有錯誤﹐檢查對應[張數]的MaskEdit元件是否有其它的事件程式碼進行控制﹐比如說OnKeyPress等事件中存在對其的控管﹒
或者把這個MaskEdit移除﹐重新加入一個新的MaskEdit﹐只更改其Name和Text屬性值﹐其它不用更改﹐使用其預設屬性值再Run一次﹐看看是否可解決問題﹐如果可以的話﹐就是屬性部分設定的錯誤了﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
depblue 您好: 您這個問題幾乎和下列這一篇的問題一模一樣:
是須閃避的 BCB TQuery OnExit BUG 嗎?
http://delphi.ktop.com.tw/topic.php?topic_id=70995
您無需去管該篇的標題是怎麼寫的?請仔細的瀏覽一下內文。 其實游標應該有 Focus 到 MaskEdit6 欄位裡去,當您直接按下字母鍵時會插入該字母,按下刪除鍵也能刪掉字元,只是看不到游標而已,我針對那種狀況做過測試,然後才做的回覆,因此我提出的方法是有效的,但是該篇討論中使用的範例是 BCB 所撰寫的,不知道您是否能自己轉成 Delphi 的來用?
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
depblue 您好: 我剛才搜尋了站上的文章,試著將我原先以 BCB 寫的敘述轉換成 Delphi 的,並配合您原先的敘述來改寫成下列的範例,您試試看:
... 以上略... if stbscQu.RecordCount = 0 then begin BTBeeper1.PlayDefaultSound; PostMessage(MaskEdit6.Handle, WM_KILLFOCUS, 0, 0); if MessageBox(Handle,'此為新規格,是否確定?','詢問訊息',MB_YESNO) = IDNO then begin PDJMASKComEdit1.SetFocus; Abort; end else PostMessage(MaskEdit6.Handle, WM_SETFOCUS, 0, 0); end; ... 以下略...如果 Focus 離開 PDJMASKComEdit1 之後,不一定是到 MaskEdit6 欄位去的話,那麼您可以將那兩行紅字標示處的 MaskEdit6 改成 ActiveControl,這樣子就會在操作者回覆為 YES 時,將 Focus 返回原先指到的物件去了。 附註:我前一篇所列出的那篇討論中,原發問者提到可能是編譯環境版本上的差異,因此他必須在處理 WM_SETFOCUS 的敘述之前,加上一個移轉焦點至欲返回焦點物件以外物件的動作,如果您使用上述方式未能完全達到正常運作的話,請您也試著加上移轉焦點到其它物件上的敘述,例如:PDJMASKComEdit1.SetFocus; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |