![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Контекстное меню в Explorer-e
dev © (2004-01-13 16:19:00)Ктонибудь имеет пример как изменить контекстное меню в Explorer-e, а то я мучался и меня так и не допёрло как создать DLL-ку с експортом каких-то классов с интерфиесом IUnknown ... И вообще это можно сделать в Delphi или CBuilder или надо всё это в MS Visual C делать. Только не давайте ссылки на MSDN, я уже устал на неё глазеть.
DVM (2004-01-13 18:15:00) [1]WWW.RSDN.RU там есть подробная документация про расширения оболочки.
Игорь Шевченко (2004-01-13 17:43:00) [2]Андрю-ХА © (13.01.04 16:25)
Тейксейра, Пачеко, Delphi 5, руководство разработчика. Там все подробно описано. Скачать можно на www.podgoretsky.com
Rouse_ (2004-01-13 16:27:00) [3]Создай нужное тебе контектсное меню и присвой его TWebBrowser-у
После этого подключи к проекту следующий модуль:
unit WbPopup;
interface
implementation
uses Windows,Controls,Messages,ShDocVw, Forms, frmMain;
var
HMouseHook:THandle;
Pop: Boolean;
function MouseProc(
nCode: Integer; // hook code
WP: wParam; // message identifier
LP: lParam // mouse coordinates
):Integer;stdcall;
var MHS:TMOUSEHOOKSTRUCT;
WC:TWinControl;
begin
Result:=CallNextHookEx(HMouseHook,nCode,WP,LP);
if nCode=HC_ACTION then
begin
MHS:=PMOUSEHOOKSTRUCT(LP)^;
if ((WP=WM_RBUTTONDOWN) or (WP=WM_RBUTTONUP)) then
begin
WC:=FindVCLWindow(MHS.pt);
if (WC is TWebBrowser) then
begin
Result:=1;
if (TWebBrowser(WC).PopupMenu<>nil) and (WP=WM_RBUTTONUP) then
begin
if Pop then Exit;
Pop := True;
TWebBrowser(WC).PopupMenu.Popup(MHS.pt.x,MHS.pt.y);
Pop := False;
end;
end;
end;
end;
end;
initialization
HMouseHook:=SetWindowsHookEx(WH_MOUSE,@MouseProc,HInstance,GetCurrentThreadID);
finalization
try
UnhookWindowsHookEx(HMouseHook);
Sleep(100);
CloseHandle(HMouseHook);
except
end;
end.
Вот собственно и все...
Андрю-ХА (2004-01-13 16:25:00) [4]в FAQ-ах пишут так:
"см. Program Files\Borland\Delphi5\Demos\ActiveX\ShellExt\"