SetFocus() 焦點問題 |
答題得分者是:andychang1690
|
derekyppp
一般會員 發表:16 回覆:33 積分:9 註冊:2004-02-20 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
ENIX007
高階會員 發表:28 回覆:274 積分:185 註冊:2003-11-27 發送簡訊給我 |
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 發送簡訊給我 |
|
derekyppp
一般會員 發表:16 回覆:33 積分:9 註冊:2004-02-20 發送簡訊給我 |
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 發送簡訊給我 |
|
derekyppp
一般會員 發表:16 回覆:33 積分:9 註冊:2004-02-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |