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

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

Как отключить правую кнопку мыши в элементе WebBrowser [D6]


maxim2 ©   (2002-09-06 09:17:00) 

Привет всем!
Вот собсно все.


Song   (2002-09-06 10:25:00) [1]

Вам необходимо включить интерфейс 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;


Наверх

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