Главная страница
    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.45 MB
Время: 0.055 c
15-1206999106
TIF
2008-04-01 01:31
2008.05.18
Microsoft призналась, что использовала исходные коды Linux...


2-1208498832
kudatsky
2008-04-18 10:07
2008.05.18
Не создаётся индекс в DBF-файле


11-1188735091
Виктор007
2007-09-02 16:11
2008.05.18
CollapseProcTable0.inc


2-1208711955
WhiteBerkut
2008-04-20 21:19
2008.05.18
BDE


4-1188818913
Kns
2007-09-03 15:28
2008.05.18
Потерять фокус





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский