![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скрыть контекстное меню TWebBrowser [D7, XP]
XRMiPO © (2008-04-03 18:05:00)Нашел такой код:
var
HookID: THandle;
function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
var
szClassName: array[0..255] of Char;
const
ie_name = 'Internet Explorer_Server';
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
Result := HC_SKIP
else
Result := CallNextHookEx(HookID, nCode, wParam, lParam);
end
else
Result := CallNextHookEx(HookID, nCode, wParam, lParam);
end;
end;
end;
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;
чего нехватает??При компоновке программы Delphi говорит об ошибке: Undeclared identifier 'HookID'
XRMiPO (2008-04-03 23:44:00) [1]все, спасибо, невнимательно смотрел, теперь разобрался, все работает)
Сергей М. (2008-04-03 18:22:00) [2]Можно.
HookID - это идентификатор.
Объявлен он у тебя черт-те где (ты не сподобился сказать где конкретно, видимо мы гадать тут должны), но только не там, где его "видит" компилятор при компиляции строчек текста, в которых происходит обращение к этому идентификатору, а именно
HookID:= SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
if HookID<> 0 then
UnHookWindowsHookEx( HookID);
XRMiPO (2008-04-03 18:12:00) [3]а можно подробнее объяснить?
Сергей М. (2008-04-03 18:08:00) [4]
> чего нехватает?
Не хватает знаний Паскаля в части понимания области видимости идентификаторов.