Comment puis-je faire une boîte d'édition de sorte que lorsque je frappe, entrez avec le curseur toujours dedans. Puis il va à ce site Web dans le webbrowser qui était dans la boîte d'édition?Delphi Hitting Entrez
Quelqu'un peut-il m'aider?
Comment puis-je faire une boîte d'édition de sorte que lorsque je frappe, entrez avec le curseur toujours dedans. Puis il va à ce site Web dans le webbrowser qui était dans la boîte d'édition?Delphi Hitting Entrez
Quelqu'un peut-il m'aider?
déposer une TEdit
et un TWebBrowser
sur la forme, et d'écrire un gestionnaire d'événements pour le contrôle d'édition, à savoir OnKeyDown
:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_RETURN:
WebBrowser1.Navigate(Edit1.Text);
end;
end;
Pour je suggérer un peu plus chic, l'hôtel,
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;
Si vous préférez que l'URL s'ouvre dans le navigateur par défaut du système, et non dans un TWebBrowser
sur votre formulaire, remplacez WebBrowser1.Navigate(Edit1.Text)
avec
ShellExecute(0, nil, PChar(Edit1.Text), nil, nil, SW_SHOWNORMAL);
après avoir ajouté ShellAPI
à votre clause uses. Mais notez maintenant que vous avez pour être explicite avec le protocole. Par exemple, bbc.co.uk
ne fonctionnera pas, mais http://bbc.co.uk
le fera.
Vous devez utiliser l'événement OnKeyPress
au lieu de l'événement 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 "Doit" est un mot fort, mais sûr - cela supprimera le bip (si vous supprimez l'erreur de syntaxe pour que le code compile!). –
OK, je l'ai fait pour vous! –
Hey, voudriez-vous expliquer pourquoi 'OnKeyPress' devrait être utilisé plutôt que' OnKeyDown'? – DBedrenko
Comment beaucoup de connaissances de programmation avez-vous jusqu'à présent? –
Quel webbrowser? Un composant TWebBrowser dans votre formulaire, ou simplement en utilisant le navigateur du système? –