Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заблочить правую кнопку мыши в Веб Броузере? [D6, Win95/98, WinME, WinXP]


Danger ©   (2002-09-17 01:21:00) 

Если кто нить знает, то помогите плиз. Есть стандартный компонент ВебБроузер, в него загружается страничка из инета, и вот надобно сделать так что бы при нажатии правой кнопки мыши на ссылке или же на самой страничке происходило определенное событие. Буду очень благодарен за помощь!


Danger   (2002-09-17 22:39:00) [1]

Не подскажешь где их можно достать?


REA   (2002-09-17 13:08:00) [2]

Тут на сайте был пример браузера в статьях и там эта проблема решалась проще.


Song   (2002-09-17 09:12:00) [3]

Есть ещё способ.
Вам необходимо включить интерфейс IDocHostUIHandler. Для этого Вам понадобятся два файла: ieConst.pas и IEDocHostUIHandler.pas. В методе ShowContextMenu интерфейса IDocHostUIHandler, необходимо изменить возвращаемое значение с E_NOTIMPL на S_OK. После этого меню перестанет реагировать на правое нажатие кнопки мыши. Добавьте два модуля, упомянутые выше в секцию Uses и добавьте следующий код:

...

var
Form1: TForm1;
FDocHostUIHandler: TDocHostUIHandler;
...

implementation
...

procedure TForm1.FormCreate(Sender: TObject);
begin
FDocHostUIHandler := TDocHostUIHandler.Create;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FDocHostUIHandler.Free;
end;

procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
pDisp: IDispatch; var URL: OleVariant);
var
hr: HResult;
CustDoc: ICustomDoc;
begin
hr := WebBrowser1.Document.QueryInterface(ICustomDoc, CustDoc);
if hr = S_OK then
CustDoc.SetUIHandler(FDocHostUIHandler);
end;


Alx2   (2002-09-17 08:02:00) [4]

Решение "в лоб" состоит в использовании хука типа WH_MOUSE.
При возникновении "ненужного" мышиного сообщения адресованного подопытному окну, хучной функции достаточно возвратить ненулевое значение.


Наверх

Титульная страница Поиск, карта сайта Написать письмо