Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 26.10.2019, 05:57   #1
Maetsky
Пользователь
 
Регистрация: 14.03.2011
Сообщений: 10
По умолчанию Работа с буфером обмена в C++ Builder

Сделал простую программу на Delphi, которая добавляет в буфер обмена фразу при копировании текста из программы в буфер. Для этого на форму добавил объекты RichEdit1, Timer1 и PopupMenu1, в последнем три пункта меню: MenuCopy, MenuSelectAll и MenuClear. PopupMenu1 привязан к RichEdit1.

Вот код:

Код:
uses ClipBrd;

const S='При публикации ссылка на источник обязательна.';

...

procedure TForm1.MenuCopyClick(Sender: TObject);
begin
  RichEdit1.CopyToClipboard;
  ClipBoard.AsText:=ClipBoard.AsText+#13+#10+S;
end;

procedure TForm1.MenuSelectAllClick(Sender: TObject);
begin
  RichEdit1.SelectAll;
end;

procedure TForm1.MenuClearClick(Sender: TObject);
begin
  RichEdit1.Clear;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  MenuCopy.Enabled:=(RichEdit1.SelText<>'');
  MenuClear.Enabled:=(RichEdit1.Lines.Count>0);
  MenuSelectAll.Enabled:=MenuClear.Enabled;
end;
Кто-нибудь поможет перевести этот код в C++Builder? По крайней мере подключение модуля ClipBrd и строку
Код:
ClipBoard.AsText:=ClipBoard.AsText+#13+#10+S;
Заранее большое спасибо!
Maetsky вне форума   Ответить с цитированием
Старый 06.11.2019, 11:28   #2
stslam
Пользователь
 
Регистрация: 21.01.2014
Сообщений: 12
По умолчанию

Код:
//BCB6, в более новых AnsiString меняется на WideString или UnicodeString
//и инклюд немножко другой
#include <Clipbrd.hpp>
//uses ClipBrd;

const AnsiString S = "При публикации ссылка на источник обязательна.";
//const S='При публикации ссылка на источник обязательна.';

/*procedure TForm1.MenuCopyClick(Sender: TObject);
begin
  RichEdit1.CopyToClipboard;
  ClipBoard.AsText:=ClipBoard.AsText+#13+#10+S;
end;*/

void __fastcall TForm1::MenuCopyClick(TObject *Sender)
{
  RichEdit1->CopyToClipboard();
  ClipBoard->AsText = ClipBoard->AsText+"\r\n"+S;
}

/*procedure TForm1.MenuClearClick(Sender: TObject);
begin
  RichEdit1.Clear;
end;
*/
void __fastcall TForm1::MenuClearClick(TObject *Sender)
{
 RichEdit1->Clear();
}

/*

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  MenuCopy.Enabled:=(RichEdit1.SelText<>'');
  MenuClear.Enabled:=(RichEdit1.Lines.Count>0);
  MenuSelectAll.Enabled:=MenuClear.Enabled;
end;
*/
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  MenuCopy->Enabled = (RichEdit1->SelText.Length());
  MenuClear->Enabled = (RichEdit1->Lines->Count);
  MenuSelectAll->Enabled = MenuClear->Enabled;
}

//ClipBoard.AsText:=ClipBoard.AsText+#13+#10+S;
// Заносит в буфер имеющийся в нем текст, 
// добавляет перенос на новую строку и плюсует допись из константы S
stslam вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с буфером обмена David Villa C++ Builder 0 24.10.2012 10:53
Работа с буфером обмена Arsenx777 Общие вопросы Delphi 4 04.08.2011 22:03
Работа с буфером обмена. star007 Помощь студентам 0 16.06.2010 20:37
Работа с буфером обмена Gerzs Общие вопросы Delphi 2 26.03.2010 16:15
Работа с буфером обмена(win) NikLik Общие вопросы Delphi 6 24.06.2008 00:59


11:22.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.