Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Вниз

Отключить контексное меню в TWebBrowser-e   Найти похожие ветки 

 
DelphiN! ©   (2006-04-24 10:46) [0]

Пробовал в TranslateAccelerator-е обнулить все свойства lpMsg, но не помогает ...

function TranslateAccelerator(const lpMsg: PMsg;
 const pguidCmdGroup: PGUID; const nCmdID: Cardinal): HRESULT;
begin
 lpMsg.lParam := 0;
 lpMsg.wParam := 0;
 lpMsg.message := 0;
 lpMsg.pt.X := 0;
 lpMsg.pt.Y := 0;
end;


Как это меню отключить?


 
easy ©   (2006-04-24 11:11) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=355


 
DelphiN! ©   (2006-04-24 12:25) [2]


>  [1] easy ©   (24.04.06 11:11)


Через определение координат я уже дедал, но при каких то обстоятельствах пользователю все же удавалось установить фокус на TWebBrowser, и нажать кнопку "меню" на клавиатуре, что и вызывало контексное меню веббраузера.
Делал я так :



function GetComponentScreenPos(Comp: TWinControl): TPoint;
var
 Parent: TWinControl;
begin
 Result.X := Comp.Left;
 Result.Y := Comp.Top;
 Parent := Comp.Parent;
 while Parent <> nil do
 begin
   Result.X := Result.X+Parent.Left;
   Result.Y := Result.Y+Parent.Top;
   Parent := Parent.Parent;
 end;
end;

procedure WMMouseActivate(var Msg: TMessage);
var
 pCompPos,pComp2Pos,pScrPos: TPoint;
begin
 try
   pCompPos := GetComponentScreenPos(memNews);
   pComp2Pos := GetComponentScreenPos(WBBaner);
   GetCursorPos(pScrPos);
   inherited;
                    //513
     if (
        ( (pScrPos.X >= pCompPos.X)and(pScrPos.X <= (pCompPos.X+memNews.Width)) ) and
        ( (pScrPos.Y >= pCompPos.Y)and(pScrPos.Y <= (pCompPos.Y+memNews.Height)) ))
        or
        (
        ( (pScrPos.X >= pComp2Pos.X)and(pScrPos.X <= (pComp2Pos.X+WBBaner.Width)) ) and
        ( (pScrPos.Y >= pComp2Pos.Y)and(pScrPos.Y <= (pComp2Pos.Y+WBBaner.Height)) ) ) then
          Msg.Result:= MA_NOACTIVATEANDEAT


А есть ли другой способ отключить конексное меню в WebBrowser-e?


 
DelphiN! ©   (2006-04-24 12:46) [3]

Разобрался!

function WBBanerShowContextMenu(const dwID: Cardinal;
 const ppt: PPoint; const pcmdtReserved: IInterface;
 const pdispReserved: IDispatch): HRESULT;
begin
 Result := S_OK;
end;



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
1-1144822745
Chaser
2006-04-12 10:19
2006.05.21
Как на время заблокировать ListView?


15-1145635251
ArtemESC
2006-04-21 20:00
2006.05.21
Вирусоаналитики!


3-1143189457
VitaWED
2006-03-24 11:37
2006.05.21
SQL Server и большие объемы


3-1143617371
ivc_andr
2006-03-29 11:29
2006.05.21
SQL-DMO


2-1146333722
Kano
2006-04-29 22:02
2006.05.21
Запросы в БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский