Здравствуйте, DDS, Вы писали:
DDS>Как отловить событие OnClick на компоненте WebBrowser DDS>челкнул и OnClick сработал
Если нужно на самом компоненте то как-нибудь так (скажем спасибо Ihor Osovyak)
//В объявлении формы
....
private{ Private declarations }
OldWBWndProc: TWndMethod;
procedure WBWndProc(var Message: TMessage);
public{ Public declarations }procedure AfterConstruction; override;
end;
implementation
....
procedure TWbForm.AfterConstruction;
begin
inherited;
if not (csDesigning in ComponentState) then
begin
OldWBWndProc:= WebBrowser.WindowProc;
WebBrowser.WindowProc:= WBWndProc;
end;
end;
procedure TWbForm.WBWndProc(var Message: TMessage);
begin
if Message.Msg = WM_LBUTTONDOWN then
begin//Тут делай что хочешь
MessageBox(Handle,'Mouse down', 'Test', MB_OK);
end
else
OldWBWndProc(Message);
end;
... << RSDN@Home 1.1.4 beta 4 rev 360 >> <<LED ZEPPELIN — [IN THROUGH THE OUT DOOR] South Bound Saurez>>
Keep yourself alive
Re[2]: Как отловить событие OnClick на компоненте WebBrowser
Здравствуйте, Vodyamba, Вы писали:
V>Да я такой же...
V>Для меня код на С++ очень тяжело... только элементарный понимаю.... А надо бы видать нам учиться... переводить....
Элементарней некуда. Самое сложное при переводе будут конструкции типа CComQIPtr<IHTMLDocument2> pDoc;
Это ATL его в паскале нет. Заменит на связку QueryInterface() — Release(), а остальное мелочи "=" будет ":=", "->" будет ".", "{" — BEGIN и т.д. Я Delphi тоже не знаю, но исходники VCL смотрю постоянно.
_GIZMO
Re[2]: Как отловить событие OnClick на компоненте WebBrowser
От:
Аноним
Дата:
31.03.05 07:17
Оценка:
Здравствуйте, alive, Вы писали:
A>Здравствуйте, DDS, Вы писали:
DDS>>Как отловить событие OnClick на компоненте WebBrowser DDS>>челкнул и OnClick сработал
A>Если нужно на самом компоненте то как-нибудь так (скажем спасибо Ihor Osovyak)
A>
A>//В объявлении формы
A>....
A>private
A> { Private declarations }
A> OldWBWndProc: TWndMethod;
A> procedure WBWndProc(var Message: TMessage);
A>public
A> { Public declarations }
A> procedure AfterConstruction; override;
A>end;
A>implementation
A>....
A>procedure TWbForm.AfterConstruction;
A>begin
A> inherited;
A> if not (csDesigning in ComponentState) then
A> begin
A> OldWBWndProc:= WebBrowser.WindowProc;
A> WebBrowser.WindowProc:= WBWndProc;
A> end;
A>end;
A>procedure TWbForm.WBWndProc(var Message: TMessage);
A>begin
A> if Message.Msg = WM_LBUTTONDOWN then
A> begin
A> //Тут делай что хочешь
A> MessageBox(Handle,'Mouse down', 'Test', MB_OK);
A> end
A> else
A> OldWBWndProc(Message);
A>end;
A>
У WebBrowser три дочерних окна, вложенных друг в друга
Re[7]: Как отловить событие OnClick на компоненте WebBrowser
Здравствуйте, _GIZMO, Вы писали:
_GI>Элементарней некуда. Самое сложное при переводе будут конструкции типа CComQIPtr<IHTMLDocument2> pDoc; _GI>Это ATL его в паскале нет. Заменит на связку QueryInterface() — Release(), а остальное мелочи "=" будет ":=", "->" будет ".", "{" — BEGIN и т.д. Я Delphi тоже не знаю, но исходники VCL смотрю постоянно.
Общие идеи как это писать на Delphi можно посмотреть здесь. Правда там для самописного сервера.
Сложность в переводе будет еще и в том, что в Borland не удосужился перевести mshtmdid.h