![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WebBrowser
Yonic © (2002-10-26 09:17:00)Вопрос по сути, наверное не сложный, но я не знаю ответа. Как убрать меню, выплывающее по клику првой мышкой на документе.
int64 (2002-10-28 02:47:00) [1]Очень глюкавый метод. И ктому же вредный.
Yr2 (2002-10-27 19:45:00) [2]To YonicЕсли речь идет о компоненте TWebBrowser, который ты используешь в своем приложении и он лежит на форме (например, на TForm1), то могу помочь. Если же нужно отменить всплывание меню в "стандартном броузере", то скажу в следующий раз. Итак:
в описании формы нужно добавить процедуру:
private
{ Private declarations }
procedure WMMouseActivate(var Msg: TMessage); message WM_MOUSEACTIVATE;
в теле программы пишем саму процедуру:
procedure TForm1.WMMouseActivate(var Msg: TMessage);
begin
try
inherited;
//нажата правая кнопка мыши?
if Msg.LParamHi = 516 then
Msg.Result:= MA_NOACTIVATEANDEAT;
// А здесь можно сделать свои дела... (показать свое меню)
except
end;
end;
у меня это работает.
kig (2002-10-26 16:55:00) [3]По поводу, в частности IDocHostUIHandler, здесь:
http://msdn.microsoft.com/workshop/browser/hosting/wbcustomization.asp
Пример реализации здесь (EmbeddedWB):
http://www.euromind.com/iedelphi/
Yonic (2002-10-26 15:57:00) [4]Не очень-то понятно :( Можно попроще\поподробнее??
SuperVK (2002-10-26 09:58:00) [5]Выдержка из какого-то FAQ"а:
Надо реализовать интерфейс IDocHostUIHandler. В нём есть функция:
function ShowContextMenu(const dwID: DWORD; const ppt: PPOINT; const pcmdtReserved: IUnknown; const pdispReserved: IDispatch): HRESULT;
Эту функцию надо переопределить таким образом, чтобы она всегда возвращала S_OK.