Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebBrowser: не работают некоторые клавиши 
:(
    Опции темы
December
Дата 14.11.2004, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Сабж. Берём TWebBrowser, скармливаем ему любую страницу форума, где можно текст печатать, пытаемся испольлзовать клавиши "Enter", Ctrl+C, Ctrl+Ins и т.п. В DRKB есть вроде solution, но во-первых не всё лечит, во-вторых кривой (с ошибками, кажется), в-третьих, я его не полностью понял. ЗЫ Отгадайте, почему этот текст написан в одну строку, точнее, одним абзацем smile


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Alex
Дата 14.11.2004, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 1
Всего: 162



проект свой выложи, я посмотрю


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
December
Дата 14.11.2004, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Alex это стандартное поведение TWebBrowser. Просто положи его на форму и пошли на эту страничку (которую ты сейчас смотришь smile)


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Alex
Дата 14.11.2004, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 1
Всего: 162



В коде включается поддержка всех функциональных клавиш:

Код

unit Unit3;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, OleCtrls, SHDocVw, ActiveX, AppEvnts;

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   ApplicationEvents1: TApplicationEvents;
   procedure FormCreate(Sender: TObject);
   procedure ApplicationEvents1Message(var Msg: tagMSG;
     var Handled: Boolean);
 private
   { Private declarations }
 public
   { Public declarations }
   
 end;

var
 Form1: TForm1;

threadvar
 FOleInPlaceActiveObject: IOleInPlaceActiveObject;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 WebBrowser1.Navigate('http://forum.vingrad.ru/index.php?showtopic=34567&st=0&unread=&#entry256086');
end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
var
 iOIPAO: IOleInPlaceActiveObject;
 Dispatch: IDispatch;
begin
 if not Assigned(WebBrowser1) then begin
   Handled:= False;
   Exit;
 end;

 Handled:= IsDialogMessage(WebBrowser1.Handle, Msg) = True;

 if (Handled) {and (not WebBrowser.Busy)} then begin
   //{and (not WebBrowser.Busy)} - если "разкомментировать", то код будет
   //                              работать только после полной загрузки
   //                              страницы
   if not Assigned(FOleInPlaceActiveObject) then begin
     Dispatch := WebBrowser1.Application;
     if Assigned(Dispatch) then begin
       Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
       if Assigned(iOIPAO) then FOleInPlaceActiveObject:= iOIPAO;
     end;
   end;
   if Assigned(FOleInPlaceActiveObject) then
     if Msg.wParam = VK_RETURN then
       FOleInPlaceActiveObject.TranslateAccelerator(Msg);
 end;
end;

initialization
OleInitialize(nil);

finalization
OleUninitialize;
FOleInPlaceActiveObject:= nil;

end.



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
December
Дата 15.11.2004, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Alex Спасибо!!! Всё работает.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Alex
Дата 11.1.2005, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 1
Всего: 162



Для включения всех функциональных клавиш нужно в место:
Код

if Msg.wParam = VK_RETURN then

Написать:
Код

if (Msg.wParam = VK_SPACE) or (Msg.wParam = VK_LEFT) or (Msg.wParam = VK_UP) or (Msg.wParam = VK_BACK)
or (Msg.wParam = VK_DOWN) or (Msg.wParam = VK_RIGHT)
then exit;





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
ТипТопыч
Дата 28.10.2006, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 10.9.2006

Репутация: нет
Всего: нет



Опробовал все способы, представленные на форуме- работают все функциональные клавиши кроме enter'a smile помогите плиз заставить его работать
PM MAIL   Вверх
_hunter
Дата 30.10.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98





--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
ТипТопыч
Дата 31.10.2006, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 10.9.2006

Репутация: нет
Всего: нет



_hunter, спасибо, осталось разобраться и переписать не дельфи)) (просто в сях вообще не шарю)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.1003 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.