![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 18.02.2008
Сообщений: 198
|
![]()
При выделении текста загруженной из инета в TWebBrowser странички по правой кнопке есть "копировать" но в буфер ничего не копируется. Как это исправить? Спасибо!
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 22.06.2007
Сообщений: 414
|
![]()
Как говорит Stilet: "Код в студию!!!".
Нет невыполнимых задач, всё дело времени...
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 18.02.2008
Сообщений: 198
|
![]()
Вот архив с программой. Из нее я убрал логины и пароли. Они там не нужны. Даже с первой странички нельзя ничего скопирывать в буфер
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 18.02.2008
Сообщений: 198
|
![]()
Упс. Сори. Там нада из TForm1.WebBrowser1ProgressChange убрать процедуры FillForm
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 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%. Удачи всем. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как очистить буфер обмена? | 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 |