Удалите 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
в вашей форме, замените WebBrowser1.Navigate(Edit1.Text)
на
ShellExecute(0, nil, PChar(Edit1.Text), nil, nil, SW_SHOWNORMAL);
после добавления ShellAPI
к предложению использования. Но обратите внимание, что у вас есть , чтобы быть явным с протоколом. Например, bbc.co.uk
не будет работать, но http://bbc.co.uk
будет.