Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Копирование в TWebBrowser   Найти похожие ветки 

 
frogl   (2003-10-24 16:12) [0]

Добрый день.

Довольно известная вещь. В TWebBrowser выделяем кусок текста, пробуем копировать (из контекстного меню или ctrl-с). В буфер обмена ничего не копируется.
Это как нибудь лечится и как ?

Заранее благодарен.


 
Ломброзо ©   (2003-10-24 16:21) [1]

Один из симптомов какого-то трояна или вируса... названия не помню. В окне IE тоже самое?


 
frogl   (2003-10-24 16:50) [2]

Нет.


 
frogl   (2003-10-24 16:50) [3]

Вирус тут ни при чем - это на всех компах так.


 
Oleg_   (2003-10-26 16:03) [4]

У меня копируется без проблем, без каких либо специальных ухищрений. D6 IE6


 
Дмитрий В. Белькевич ©   (2003-10-26 21:13) [5]

Фак, господа! Не в смысле fuck, а в смысле faq:

Вопрос: Paste работает отлично, но Cut и Copy отказываются работать. В чём проблема?

Ответ: Вам нужно добавить следующие строки в начало unit:

initialization
OleInitialize(nil);

finalization
OleUninitialize;



Вопрос: Кобинации клавиш Ctrl-C, Ctrl-O, и т.д. не срабатывают. В чём проблема?

Ответ: Это не ошибка. Информацию по данному вопросу можно найти на сайте Microsoft KnowledgeBase статья Q168777. Приведённый ниже код, устраняет данную проблему:

...

var
Form1: TForm1;
FOleInPlaceActiveObject: IOleInPlaceActiveObject;
SaveMessageHandler: TMessageEvent;

...

implementation

...

procedure TForm1.FormActivate(Sender: TObject);
begin
SaveMessageHandler := Application.OnMessage;
Application.OnMessage := MyMessageHandler;
end;

procedure TForm1.FormDeactivate(Sender: TObject);
begin
Application.OnMessage := SaveMessageHandler;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.OnMessage := SaveMessageHandler;
FOleInPlaceActiveObject := nil;
end;

procedure TForm1.MyMessageHandler(var Msg: TMsg; var Handled: Boolean);
var
iOIPAO: IOleInPlaceActiveObject;
Dispatch: IDispatch;
begin
{ exit if we don"t get back a webbrowser object }
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 ((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
//nothing - do not pass on Backspace, Left or Right arrows
else
FOleInPlaceActiveObject.TranslateAccelerator(Msg);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-41253
Донской
2003-10-31 17:09
2003.11.13
Не все закладки удаляются с помощью TWordApplication


1-41379
BillyJeans
2003-11-04 11:06
2003.11.13
Помогите с числами...


3-40878
Vladislav
2003-10-20 17:51
2003.11.13
MemoryTable в Interbase


1-41151
md
2003-11-03 12:54
2003.11.13
работа с RAM


4-42235
Linuxoid
2003-08-31 15:42
2003.11.13
Access violation...