Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Система \ Буфер обмена \ Добавление текста в буфер обмена без использования модуля Clipbrd

Добавление текста в буфер обмена без использования модуля Clipbrd

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

Wnd - Handle окна, получающего доступ к буферу обмена,
может быть Application.Handle или Form.Handle
Value - текст, помещаемый в буфер обмена

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

function SetClipboardText(Wnd: HWND; Value: string): Boolean;
var
  hData: HGlobal;
  pData: pointer;
  Len: integer;
begin
  Result := True;
  if OpenClipboard(Wnd) then
  begin
    try
      Len := Length(Value) + 1;
      hData := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, Len);
      try
        pData := GlobalLock(hData);
        try
          Move(PChar(Value)^, pData^, Len);
          EmptyClipboard;
          SetClipboardData(CF_Text, hData);
        finally
          GlobalUnlock(hData);
        end;
      except
        GlobalFree(hData);
        raise
      end;
    finally
      CloseClipboard;
    end;
  end
  else
    Result := False;
end;

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetClipboardText(Handle, 'qwerty');
end;

Название: Добавление текста в буфер обмена без использования модуля Clipbrd
Дата публикации: 2004-06-17 (2839 Прочтено)

 
 

 

Page generation 0.124 seconds