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

Вниз

Динамическое копирование информации в Richedit   Найти похожие ветки 

 
seregka   (2005-05-20 21:38) [0]

Мне нужно реализовать:
выделяем в IE произвольно текст. Из выпадющего меню выбираем программу (уже реализовано) и передаем выделенный текст в RichEdit программы.

Подскажите, как это сделать.


 
KilkennyCat ©   (2005-05-21 11:32) [1]

Работать с буфером обмена, естественно.


 
seregka   (2005-05-21 11:47) [2]

я понимаю, что с буфером
Как мне сделать так,чтобы по запуску программы происходило копирование выделенной в окне броузера информации в буфер. Дальше то понятно - вставлять из буфера в richedit. А вот как в него копировать текст не знаю.
Помогите, пожалуйста.


 
KilkennyCat ©   (2005-05-21 11:50) [3]

Это надо послать сообщение WM_COPY окну, где текст.


 
seregka   (2005-05-21 12:00) [4]

Подскажите, как вытянуть handle окна IE и правильно отправить сообщение. Просто я в этом плохо соображаю:
sendmessage(броузера handle, WM_COPY, ?,?)


 
GrayFace ©   (2005-05-21 17:57) [5]

Если ты сможешь получить hWnd самого IE, то дальше не проблема. Должна быть возможность не только запихнуть прогу в меню, но и получить какие-то сведения. В противном случае можно использовать самый верхний IE. Возможность есть?


 
seregka   (2005-05-21 18:09) [6]

в том то и дело, что я не знаю как получить hwnd броузера. Сколько бы IE не было открыто, надо копировать только из текущего. Программа запускается из контекстного меню броузера.


 
rOOse ©   (2005-05-21 19:00) [7]

procedure TForm1.Button2Click(Sender: TObject);
var
 hg:HGLOBAL;
 lpv:pointer;
 buff:array[0..50] of char;
begin
    buff:="sdfgsf3213123";
    OpenClipboard(0);
    hg:= GlobalAlloc(GMEM_MOVEABLE, strlen(buff));
    lpv:= GlobalLock(hg);
    copymemory(lpv, @buff, strlen(buff));
    GlobalUnlock(hg);
    SetClipboardData(CF_TEXT, hg);
    CloseClipboard();
end;


 
seregka   (2005-05-21 19:21) [8]

зачем городить огород, когда можно просто
richedit.copytoclipboard;

Мне же нужно выделенный в броузере текст копировать в буфер обмена


 
rOOse ©   (2005-05-21 19:24) [9]

а ты не забыл что задаешь вопрос в разделе winapi


 
Anatoly Podgoretsky ©   (2005-05-21 19:36) [10]

Ctrl+C/Ctrl+V


 
seregka   (2005-05-21 19:50) [11]

rOOse
Никак нет! Но Ваш код на копирование в буфер не решает моей главной проблемы - как передать из броузера в программу.

Anatoly Podgoretsky
Актуально!! Главное, автоматизированно :-))


 
Anatoly Podgoretsky ©   (2005-05-21 20:22) [12]

Действий немного меньше, чем вызывать попап меню, затем в нем пункт копировать.
Есть старый лозунг - не сметь трогать буфер обмена зараза!. Не твое.


 
seregka   (2005-05-21 20:27) [13]

проблему решил:

function GetSelectedIEtext: string;
var
  x: Integer;
  Sw: IShellWindows;
  IE: HWND;
begin
  IE := FindWindow("IEFrame", nil);
  sw := CoShellWindows.Create;
  for x := SW.Count - 1 downto 0 do
    if (Sw.Item(x) as IWebbrowser2).hwnd = IE then begin
      Result := variant(Sw.Item(x)).Document.Selection.createRange.Text;
      break;
    end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
1-1120309254
Dust
2005-07-02 17:00
2005.07.18
Как записать по вычесленному адресу переменную


14-1119696103
Ники
2005-06-25 14:41
2005.07.18
Формула


14-1119816163
P.N.P.
2005-06-27 00:02
2005.07.18
Запись данных на CD


1-1119954759
Ванечка
2005-06-28 14:32
2005.07.18
Галочка


1-1119961554
Mishenka
2005-06-28 16:25
2005.07.18
Как в ListView CheckBoxes отловить событие установки галки?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский