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

Вниз

WebBrowser   Найти похожие ветки 

 
Lid ©   (2007-08-10 20:47) [0]

Всем доброго времени суток :)
Появился у меня такой вопросик, значит нужно поставить на форму TWebBrowser и TMemo, ну и кнопочку естественно :) и значит при открытии страницы какой-нибудь (это я знаю как сделать) должно автоматически происходить следующие действия:

1) Выделение текста в WebBrowser (Ctrl+A в IE)
2) Копирование этого текста (Ctrl+C в IE)
3) Вставление этого текста в Memo (Ctrl+V в IE)

Так вот собственно как сделать эти 3 пункта я непонимаю, пробовал сделать что-то типа  keybd_event("A", 0,0,0); и т.д  и мало того что не получается, так еще и вручную не получается скопировать тест, хотя страницу выделить автоматически получилось :)

Заранее спасибо :)


 
WASM   (2007-08-12 09:00) [1]

function WB_GetSelectedText(WB: TWebBrowser): string;
var
 Document: Variant;
 TR: IHTMLTxtRange;
begin
 Document:= WB.Document;
 if WB.Document <> nil then
   Result := Document.Selection.createRange.Text
 else
   Result := "";
end;

procedure WriteToClipboard(s: WideString);
var
   Handle: THandle;
   HandlePtr: Pointer;
   Size: Cardinal;
begin
 if OpenClipboard(Self.Handle) then
 begin
   EmptyClipboard;
   Size:=  SizeOf(s[1]) * (Length(s) + 1);
   Handle:= GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, Size);
   if Handle = 0 then
     Exit;
   HandlePtr:= GlobalLock(Handle);
   Move((PWideChar(s))^, HandlePtr^, Size);
   GlobalUnLock(Handle);
   SetClipboardData(CF_UNICODETEXT, Handle);
   CloseClipboard();
 end;
end;

procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
begin
try
   WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_PROMPTUSER);
 WriteToClipboard(WB_GetSelectedText(WebBrowser1));
 Memo1.PasteFromClipboard;
 except
 end;
end



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-1197018869
ZeroDivide
2007-12-07 12:14
2008.05.18
Форматирование XMLType в текст


15-1207160212
Cyrax
2008-04-02 22:16
2008.05.18
Как из Siemens A62 получить модем для GPRS-интернета...


2-1208506836
dmitry_12_08_74
2008-04-18 12:20
2008.05.18
Работа Delphi с базами данных Access


15-1207208984
@!!ex
2008-04-03 11:49
2008.05.18
Подключение компа к Веге.


15-1206999106
TIF
2008-04-01 01:31
2008.05.18
Microsoft призналась, что использовала исходные коды Linux...