Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Drag-n-Drop текста из MSWord в мое приложение, Drag-n-Drop текста из MSWord 
:(
    Опции темы
Гость_Alex
Дата 1.3.2005, 02:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











как реализовать на Delphi перетаскивание куска текста ИЗ MS Word в мое приложение? Спасибо!
  Вверх
Akella
Дата 1.7.2005, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 2
Всего: 329



Возьми и сделай через буфер обмена

открой Word скопируй в буфер обмена текст а клде напиши

Код

Uses ClipBrd;
...
Var
  Stroka: String;
Begin
  if ClipBoarFormat = CF_TEXT then
  Stroka := Clipboard.AsText;
End;


и вообще
http://forum.vingrad.ru/index.php?act=Sear...hlite=clipboard
Добавлено @ 17:27
Код

 **** UBPFD *********** by delphibase.endimus.com ****
>> Получение текста из буфера обмена без использования модуля Clipbrd

Wnd - Handle окна, получающего доступ к буферу обмена;
Str - строка, в которую будет скопирован текст;

Зависимости: Windows
Автор:       Dimka Maslov, [email protected], ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        22 августа 2002 г.
***************************************************** }

function GetClipboardText(Wnd: HWND; var Str: string): Boolean;
var
  hData: HGlobal;
begin
  Result := True;
  if OpenClipboard(Wnd) then
  begin
    try
      hData := GetClipboardData(CF_TEXT);
      if hData <> 0 then
      begin
        try
          SetString(Str, PChar(GlobalLock(hData)), GlobalSize(hData));
        finally
          GlobalUnlock(hData);
        end;
      end
      else
        Result := False;
      Str := PChar(@Str[1]);
    finally
      CloseClipboard;
    end;
  end
  else
    Result := False;
end;
Пример использования: 

function TForm1.Button2Click(Sender: TObject)
var
  Str: string;
begin
  GetClipboardText(Handle, Str);
  ShowMessage(Str);
end;


PM MAIL   Вверх
AntonSaburov
Дата 1.7.2005, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Против такого решения. Я помню, что надо было что-тоделать через виндовые интерфейсы какие-то (не могу вспомнить сейчас smile ).

Но портить пользователю его клипбоард - это отвратительное решение. Лучше тогда вообще отказаться от драг-дропа, чем такое вытворять.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.