Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.018 c
2-1213004276
n_sch
2008-06-09 13:37
2008.07.06
Загрузка данных в DBF из текстового файла


3-1201519088
ganda
2008-01-28 14:18
2008.07.06
Table is busy


2-1212592248
Сергей
2008-06-04 19:10
2008.07.06
Какова длина строки (в байтах) которую можно загрузить в MEMO?


6-1189925255
Cardinalius
2007-09-16 10:47
2008.07.06
Не возникает Disconnect


6-1190026272
AlexxXes
2007-09-17 14:51
2008.07.06
Нужен ли прокси?