Текущий архив: 2008.07.06;
Скачать: CL | DM;
Вниз
Компонент TWebBrowse Найти похожие ветки
← →
viperv (2008-06-09 11:45) [0]В проге используеться компонент TWebBrowse, проблема в том, что на любой загруженой странице выделяешь любой текст и при нажати на ctrl+c или ctrl+insert в буфер ничего непопадает... подскажите как решить проблему?
← →
sniknik © (2008-06-09 12:12) [1]
uses ... ActiveX,
....
TForm1 = class(TForm)
....
private
FOleInPlaceActiveObject: IOleInPlaceActiveObject;
SaveMessageHandler: TMessageEvent;
procedure MyMessageHandler(var Msg: TMsg; var Handled: Boolean);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
SaveMessageHandler := Application.OnMessage;
Application.OnMessage:= MyMessageHandler;
end;
procedure TForm1.FormDeactivate(Sender: TObject);
begin
Application.OnMessage := SaveMessageHandler;
end;
procedure TMapForm.MyMessageHandler(var Msg: TMsg; var Handled: Boolean);
var
iOIPAO: IOleInPlaceActiveObject;
Dispatch: IDispatch;
begin
if WebBrowser = nil then begin
Handled:= False;
Exit;
end;
Handled:= (IsDialogMessage(WebBrowser.Handle, Msg) = True);
if (Handled) and (not WebBrowser.Busy) then begin
if FOleInPlaceActiveObject = nil then begin
Dispatch:= WebBrowser.Application;
if Dispatch <> nil then begin
Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
if iOIPAO <> nil then
FOleInPlaceActiveObject:= iOIPAO;
end;
end;
if FOleInPlaceActiveObject <> nil then
if not (((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and
((Msg.wParam = VK_BACK) or (Msg.wParam = VK_LEFT) or (Msg.wParam = VK_RIGHT))) then
FOleInPlaceActiveObject.TranslateAccelerator(Msg);
end;
end;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end.
вроде бы все.
← →
sniknik © (2008-06-09 12:15) [2]считать TMapForm = TForm1, пропустил при выдергивании из проги.
← →
viperv (2008-06-09 14:46) [3]спс! буду пробовать...
Страницы: 1 вся ветка
Текущий архив: 2008.07.06;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.03 c