德爾菲擊中輸入
回答
降一TEdit
和窗體上的TWebBrowser
,寫一個事件處理程序的編輯控件,即OnKeyDown
:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_RETURN:
WebBrowser1.Navigate(Edit1.Text);
end;
end;
它弄得有一點更優雅,我建議
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_RETURN:
begin
WebBrowser1.Navigate(Edit1.Text);
Edit1.SelectAll;
end;
end;
end;
更新
如果您希望URL在系統的默認瀏覽器中打開,而不是在TWebBrowser
表單上,與
ShellExecute(0, nil, PChar(Edit1.Text), nil, nil, SW_SHOWNORMAL);
取代WebBrowser1.Navigate(Edit1.Text)
已添加ShellAPI
到您的使用條款後。但是現在請注意,您的有對協議是明確的。例如,bbc.co.uk
將不起作用,但http://bbc.co.uk
將會。
,您應該使用OnKeyPress
事件而不是OnKeyDown
事件:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ord(Key) = VK_RETURN then
begin
Key := #0; // prevent beeping
WebBrowser1.Navigate(Edit1.Text);
end;
end;
+1「應該」是一個很強的詞,但肯定 - 這將刪除嘟嘟聲(如果您刪除語法錯誤,以便代碼編譯!)。 – 2011-03-16 19:46:49
好的,我爲你做到了! – 2011-03-16 23:11:54
嘿,你會不會解釋爲什麼應該使用OnKeyPress而不是OnKeyDown? – DBedrenko 2016-03-03 12:33:11
- 1. 德爾菲表加入
- 2. 德爾菲跳動
- 3. 布朗菲爾德vs格林菲爾德發展?
- 4. 一些德爾菲錯誤
- 5. 德爾菲陣列的TEdit
- 6. 德爾菲Maxmind geoip查詢
- 7. JAXB馬歇爾菲爾德與屬性
- 8. 從C#導入非託管代碼導入到德爾菲#
- 9. 德爾菲棱鏡的例子
- 10. 德爾菲通用約束問題
- 11. 火鳥v 2.5和德爾菲掛
- 12. 德爾菲+網絡攝像頭
- 13. 德爾菲指針,數組,手柄
- 14. 德爾菲幀銷燬/隱藏
- 15. 德爾菲7定時器復位
- 16. 德爾菲標籤值排序
- 17. 比特菲爾德與3個國家...?
- 18. 簡單的德爾菲TTimer程序
- 19. 德爾菲法簽名轉換成C#
- 20. 德爾菲弦/字符串數組
- 21. 德爾菲隊列和同步參數
- 22. Django模型表格如何輸出從布爾菲爾德選擇是/否
- 23. 檢測Twebbrowser輸入框單擊德爾福XE2
- 24. 在艾菲爾
- 25. 寫入德爾福
- 26. 德爾菲窗體恢復狀態的位置和大小
- 27. 霍普菲爾德神經網絡不識別
- 28. 德爾菲程序突然不會發布查詢更改
- 29. 德爾菲2007編譯與代碼頁參數和teamcity
- 30. 德爾菲界面沒有引用計數
多少編程知識,你有那麼遠嗎? – 2011-03-16 18:26:29
什麼網頁瀏覽器?您表單中的TWebBrowser組件,還是僅使用系統瀏覽器? – 2011-03-16 18:44:00