Подписаться на RSS рассылку
Главная » Статьи по Delphi » Операционная система » Копировать текст из TEdit или TMemo в буфер обмена

Копировать текст из TEdit или TMemo в буфер обмена

Автор: Золотницкий Геннадий

Tweet
Как программно скопировать текст в буфер обмена из TMemo либо TEdit? Очень просто, нужно вызвать метод CopyToClipboard() либо PasteFromClipboard() (соответственно для копирования или вставки) у этих объектов. А если используется нестандартный компонент без этих методов, можно скопировать/вставить текст посредством отправки WinAPI сообщений.
procedure Paste(Wnd: HWND);
begin
SendMessage(Wnd, wm_paste, 0, 0); // отправляем сообщение wm_paste для вставки
end;

procedure CopyToBuf(Wnd: HWND);
begin
SendMessage(Wnd, wm_copy, 0, 0); // отправляем сообщение wm_copy для копирования
end;

Параметр Wnd - дескриптор окна ввода текста.

Также можно отменить ввод текста, вызвав метод Undo(), а если его нет - отправить WinAPI сообщение.

procedure Undo(Wnd: HWND);
begin
SendMessage(Wnd, wm_undo, 0, 0);
end;

Wnd - Handle окна ввода.

Просмотров: 7256

Обсудить на форуме

0   Спам
(29.06.2009)
2. Alexei Shystrov
ваше объяснение незнает границ....
дучшебы нормально написали...

0   Спам
(08.06.2009)
1. Вова
Подправьте ошибочку: метод для вставки не PasteToClipboard(), а
PasteFromClipBorard();
Ответ: ага, спасибо, я общим взглядом окинул, вроде правильно.


Имя *:
Email:


Код *:

Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.