Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Реализация кнопок Вперед, Назад и Отмена для TWebBrowser

Delphi , Интернет и Сети , Браузер

Реализация кнопок Вперед, Назад и Отмена для TWebBrowser

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  When hosting the TWebbrowser control, it may be desirable to implement 
  Forward/Back/Cancel buttons similar to those that Internet Explorer implements. 
  The WebBrowser control supports a CommandStateChange() event, 
  which is fired whenever the Forward/Back/Cancel button need to be enabled or disabled. 
  The CommandStateChange event is sent with two parameters: a constant indicating 
  the type of button (CSC_NAVIGATEFORWARD or CSC_NAVIGATEBACK or CSC_UPDATECOMMANDS), 
  and a Boolean flag indicating whether to enable or disable the button. 
}

 { 
  Beim TWebbrowser ist es vielleicht wьnschenswert, wenn es zugehцrige Buttons 
  wie Vorwдrts/Rьckwдrts/Abbrechen gibt (siehe z.B Internet Explorer). 
  Es gibt ein CommandStateChange() Ereignis, welches immer dann ausgelцst wird, 
  wenn entweder der Vorwдrts/Rьckwдrts/Abbrechen aktiviert oder deaktiviert werden 
  muss. CommandStateChange() hat zwei Parameter: Eine Konstante 
  CSC_NAVIGATEFORWARD oder CSC_NAVIGATEBACK oder CSC_UPDATECOMMANDS, welche angibt, 
  welcher Button betroffen ist und ein Boolean Wert, 
  welcher den Status eines Button angibt (aktiviert oder deaktiviert) 
}

 // Navigate to a URL 
// Zu einer URL navigieren 
procedure TForm1.Button1Click(Sender: TObject);
 begin
   Webbrowser1.Navigate('www.delphiworld.narod.ru');
 end;

 // Catch the events and set a button's Enabled state 
// Die Ereignisse abfragen und den "Enabled" Status eines Buttons setzen 
procedure TForm1.WebBrowser1CommandStateChange(Sender: TObject;
   Command: Integer; Enable: WordBool);
 begin
   case Command of
     CSC_NAVIGATEBACK: ButtonBack.Enabled := Enable;
     CSC_NAVIGATEFORWARD: ButtonForward.Enabled := Enable;
     CSC_UPDATECOMMANDS: ButtonCancel.Enabled := Enable;
   end;
 end;

 procedure TForm1.ButtonBackClick(Sender: TObject);
 begin
   WebBrowser1.GoBack
 end;

 procedure TForm1.ButtonForwardClick(Sender: TObject);
 begin
   WebBrowser1.GoForward
 end;

 procedure TForm1.ButtonCancelClick(Sender: TObject);
 begin
   WebBrowser1.Stop;
 end;

Программный код на Delphi, демонстрирующий реализацию кнопок "Вперед", "Назад" и "Отменить" для контрола TWebBrowser. Код включает в себя обработчики событий CommandStateChange, которые вызываются при изменении состояния команд навигации (Вперед, Назад, Отменить).

Описание кода:

  1. ButtonNavigateClick - процедура-обработчик клика кнопки, которая навигирует по URL (www.delphiworld.narod.ru) с помощью метода Navigate.
  2. WebBrowser1CommandStateChange - процедура-обработчик события CommandStateChange контрола TWebBrowser. Она проверяет значение параметра Command и устанавливает состояние кнопки соответственно:
    • Если CSC_NAVIGATEBACK, то включает или отключает кнопку "Назад".
    • Если CSC_NAVIGATEFORWARD, то включает или отключает кнопку "Вперед".
    • Если CSC_UPDATECOMMANDS, то включает или отключает кнопку "Отменить".
  3. Три процедуры-обработчика клика кнопок (ButtonBackClick, ButtonForwardClick и ButtonCancelClick): они обрабатывают клики кнопок "Назад", "Вперед" и "Отменить", соответственно:
    • ButtonBackClick: вызывает метод GoBack для навигации назад в истории браузера.
    • ButtonForwardClick: вызывает метод GoForward для навигации вперед в истории браузера.
    • ButtonCancelClick: вызывает метод Stop для отмены текущей навигации и остановки загрузки страницы.

В целом, этот код предоставляет базовую реализацию кнопок "Вперед", "Назад" и "Отменить" для контрола TWebBrowser. Вы можете его дополнить, чтобы соответствовать вашим конкретным требованиям.

Один из потенциальных улучшений - добавить дополнительные механизмы обработки ошибок и журналирования, чтобы обеспечить корректное поведение при неожиданных ошибках или исключениях.

Кроме того, вы можете рассмотреть использование более описательных имен переменных и комментариев для упрощения понимания и обслуживания кода.

В статье рассматривается реализация кнопок Вперед, Назад и Отмена для TWebBrowser, используя событие CommandStateChange, которое позволяет отслеживать состояние этих кнопок в зависимости от навигации по веб-страницам.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 13:26:09/0.003770112991333/0