Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

TShockwaveFlash + контекстное меню   Найти похожие ветки 

 
Ling ©   (2005-07-25 17:35) [0]

В общем вопрос очень прост (надеюсь, как и ответ):
Как у компонента TShockwaveFlash заменить стандартное выпадающее меню на свой TPopupMenu?
Уверен, что это возможно... помню, что на позапрошлой работе проделал это с TWebBrowser, но той инфы нет, не помню, где искал, и нет много времени, что-бы копаться, срочно нужно заканчивать прогу (до августа).


 
MaximK   (2005-08-04 20:14) [1]

все также просто!

var
 Form1: TForm1;
 HookID: THandle;


function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
var
 szClassName: array[0..255] of Char;
const
//  ie_name = "Internet Explorer_Server";       - это если надо в IE
ie_name = "MacromediaFlashPlayerActiveX";
begin
 case nCode < 0 of
   True:
     Result := CallNextHookEx(HookID, nCode, wParam, lParam)
     else
       case wParam of
         WM_RBUTTONDOWN,
         WM_RBUTTONUP:
           begin
           GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, szClassName, SizeOf(szClassName));
           if lstrcmp(@szClassName[0], @ie_name[1]) = 0 then
            begin
               Result := HC_SKIP;
               Form1.PopupMenu1.Popup(Mouse.CursorPos.x, Mouse.CursorPos.y);
            end
         else
               Result := CallNextHookEx(HookID, nCode, wParam, lParam);
           end
           else
             Result := CallNextHookEx(HookID, nCode, wParam, lParam);
       end;
 end;
end;


Надёюсь все будет понятно...


 
MaximK   (2005-08-04 20:19) [2]

А и ещё чуть не забыл, а то не получиться:

procedure TForm1.FormCreate(Sender: TObject);
begin
 HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
if HookID <> 0 then
   UnHookWindowsHookEx(HookID);
end;


 
ProGamer ©   (2005-08-06 22:06) [3]

а как сделать чтобы его вообще убрать,если его в инспекторе объектов чекбокс снять-то будет сокр версия(флэшАХ)



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

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
14-1134933202
Quattro
2005-12-18 22:13
2006.01.15
Рихтер


14-1135274055
~viper~
2005-12-22 20:54
2006.01.15
Программа собеседник


14-1135150795
Bless
2005-12-21 10:39
2006.01.15
hh.exe в папке c: windows?


14-1135053187
Silky
2005-12-20 07:33
2006.01.15
Курсовая по СУБД


2-1135263088
vale88
2005-12-22 17:51
2006.01.15
indy in delphi 2005