Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2008, 12:52   #1
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию Twebbrowser нет возможностии скопирывать текст в буфер.

При выделении текста загруженной из инета в TWebBrowser странички по правой кнопке есть "копировать" но в буфер ничего не копируется. Как это исправить? Спасибо!
Yuran вне форума Ответить с цитированием
Старый 22.05.2008, 12:59   #2
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Как говорит Stilet: "Код в студию!!!".
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 22.05.2008, 13:15   #3
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

Вот архив с программой. Из нее я убрал логины и пароли. Они там не нужны. Даже с первой странички нельзя ничего скопирывать в буфер
Вложения
Тип файла: rar Test.rar (4.0 Кб, 13 просмотров)
Yuran вне форума Ответить с цитированием
Старый 22.05.2008, 13:18   #4
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

Упс. Сори. Там нада из TForm1.WebBrowser1ProgressChange убрать процедуры FillForm
Yuran вне форума Ответить с цитированием
Старый 24.05.2008, 12:33   #5
Yuran
Форумчанин
 
Регистрация: 18.02.2008
Сообщений: 198
По умолчанию

Я нашел решение

uses ... , OleCtrls, SHDocVw, StdCtrls, ActiveX;
...
...
var
...
FOleInPlaceActiveObject: IOleInPlaceActiveObject;
SaveMessageHandler,MyMessageHandler : 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 WB1 = nil then
begin
Handled := False;
Exit;
end;

Handled:=(IsDialogMessage(WB1.Handl e, Msg) = True);

if (Handled) and (not WB1.Busy) then
begin
if FOleInPlaceActiveObject = nil then
begin
Dispatch := WB1.Application;
if Dispatch <> nil then
begin
Dispatch.QueryInterface(IOleInPlace ActiveObject, 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.TranslateAc celerator(Msg);
end;
end;
...
...
...

//Это нужно добавить в конец модуля

initialization
OleInitialize(nil);

finalization
OleUninitialize;

end.


работает 100%. Удачи всем.
Yuran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как очистить буфер обмена? StasSv Microsoft Office Excel 2 11.08.2008 17:38
Буфер и паскаль Mago Паскаль, Turbo Pascal, PascalABC.NET 4 29.07.2008 22:19
Как скопировать текст в буфер обмена с одного edit-a и вставить в другой SeRhy Общие вопросы Delphi 2 26.07.2008 23:02
неформатированный текст из буфера в TWebBrowser? element Компоненты Delphi 0 09.12.2007 11:46
Запись в буфер Delphi & Asm SteelRat Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 27.02.2007 22:49