Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
2-1212668598
Alex
2008-06-05 16:23
2008.07.06
Компонент savedialog


8-1164287214
Змей
2006-11-23 16:06
2008.07.06
общение по микрофону через сеть


6-1186510169
Балбес
2007-08-07 22:09
2008.07.06
TServerSocket и несколько подключений


3-1201699267
Nodnars
2008-01-30 16:21
2008.07.06
Помогите выбрать движок


2-1213004276
n_sch
2008-06-09 13:37
2008.07.06
Загрузка данных в DBF из текстового файла




   Наверх