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

SetFocus() 焦點問題

答題得分者是:andychang1690
derekyppp
一般會員


發表:16
回覆:33
積分:9
註冊:2004-02-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-26 14:58:50 IP:211.74.xxx.xxx 未訂閱
如果我有兩個button 按button2 裡面設 button1->SetFocus(); 焦點會跑回button1 是正常的 /--------------------------- 可是我一個表單中,放了兩個button 和多一個CppWebBrowser1元件 在button的BitBtn1MouseDown事件裡 設 CppWebBrowser1->SetFocus(); 結果就失效了,焦點一直跑回自己本身的按鈕上 這是什麼呢???
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-26 15:35:51 IP:61.142.xxx.xxx 未訂閱
derekyppp: 請參考: http://delphi.ktop.com.tw/topic.php?topic_id=42444 Andy Chang
------
Andy Chang
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-26 15:36:10 IP:203.70.xxx.xxx 未訂閱
derekyppp您好 小弟測試結果並不會發生這種情形耶 不過建議您SetFocus()寫在Button的OnClick或OnMouseUp比較好, 因為寫在OnMouseDown當按下去時Focus已切換成CppWebBrowser, 感覺上好像沒按到一般...怪怪的 要確定 class="code"> void __fastcall TForm1::BitBtn1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { CppWebBrowser1->SetFocus(); Caption = ActiveControl->Name; } 參考看看 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-26 15:55:35 IP:203.70.xxx.xxx 未訂閱
糟糕糟糕... 測試了一下andychang1690大大提供的連結,果然無效< > 小弟開了雅虎-奇摩首頁,按下 >) 因此沒注意到這個問題... 提供了錯誤方法,真抱歉< > 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
derekyppp
一般會員


發表:16
回覆:33
積分:9
註冊:2004-02-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-26 19:56:58 IP:211.74.xxx.xxx 未訂閱
6、使WebBrowser獲得焦點 TWebBrowser非常特殊,它從TWinControl繼承來的SetFocus方法並不能使得它所包含的文檔獲得焦點,從而不能立即使用Internet Explorer本身具有得快捷鍵,解決方法如下:< procedure TForm1.SetFocusToDoc; begin if WebBrowser1.Document < > nil then with WebBrowser1.Application as IOleobject do DoVerb(OLEIVERB_UIACTIVATE, nil, WebBrowser1, 0, Handle, GetClientRect); end; 除此之外,我還找到一種更簡單的方法,這裡一並列出: if WebBrowser1.Document < > nil then IHTMLWindow2(IHTMLDocument2(WebBrowser1.Document).ParentWindow).focus 剛找到了更簡單的方法,也許是最簡單的: if WebBrowser1.Document < > nil then IHTMLWindow4(WebBrowser1.Document).focus 還有,需要判斷文檔是否獲得焦點這樣來做: if IHTMLWindow4(WebBrowser1.Document).hasfocus then /------------------------------------------------------ 我也糟糕糟糕 有了方法@@” 可是我轉不過來bcb 有好多奇怪的語法喔…
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-26 20:10:48 IP:61.142.xxx.xxx 未訂閱
derekyppp: 我之所以列出這連結 http://delphi.ktop.com.tw/topic.php?topic_id=42444 是因為BCB沒辦法! Andy Chang
------
Andy Chang
derekyppp
一般會員


發表:16
回覆:33
積分:9
註冊:2004-02-20

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-26 20:32:46 IP:211.74.xxx.xxx 未訂閱
恩 謝謝 那我換另一種方式來寫看看
系統時間:2024-11-25 16:32:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!