Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для adm1nspb
2 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 95

RichEdit и буфер обмена Windows

29.04.2012, 19:30. Показов 2585. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Есть RichEdit на форме.
Есть текст в буфере обмена, который должен быть вставлен в RichEdit.
Размер текста более 64 Кб.

Подскажите пожауйста

1) Как правильно реализовать вставку текста из буфера обмена ?
Так чтоб вставлялся весь текст в независимости от его размера.

2) Можно ли обрабатывать вставляемый текст из буфера в RichEdit и копируемый из RichEdit в буфер обмена ? Т.е. нажатие чтобы пункт [1] выполнялся как при нажатии на кнопку формы, так и при нажатии Ctrl + INS /Shift + Insert
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.04.2012, 19:30
Ответы с готовыми решениями:

Буфер обмена
Как в билдере скопировать значение из буфера обмена и записать тудаже??

Буфер обмена
Как сделать так что бы программа постоянно проверяла буфер обмена и содержимое буфера добавляла в Memo1. Додумался только до : ...

Буфер обмена +Excel
Добрый день! Если выделить группу ячеек в Excel, скопировать в буфер и после вставить в письмо, то текст вставляется как таблица. Rак...

7
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.04.2012, 19:41
1. Установите желаемый размер ричэдит.
C++
1
SendMessage(rdtEditor->Handle, EM_EXLIMITTEXT, 0, 0x7FFFFFFF);
2. Ctrl + INS /Shift + Insert должно работать по умолчанию, на кнопку повесить код, или я не понял, в чем вопрос?
0
 Аватар для adm1nspb
2 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 95
29.04.2012, 19:48  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
1. Установите желаемый размер ричэдит.
C++
1
SendMessage(rdtEditor->Handle, EM_EXLIMITTEXT, 0, 0x7FFFFFFF);
2. Ctrl + INS /Shift + Insert должно работать по умолчанию, на кнопку повесить код, или я не понял, в чем вопрос?
1. Да, но в буфере омена может быть как и 100Кб, так и 2 Мб. Как мне узнать сколько сейчас данные занимают в буфере обмена ??? Брать с мак. запасом как-то...некрасиво получается....

2. 2 варианта
а) Происходит вставка текста Shift+Ins - как узнать объем текста и выставить размер для Richedit ?

б) Происходит копирование в буфер текста Ctrl+Ins -= тут вроде ничего делать не надо...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.04.2012, 20:04
Размер ричэдит устанавливается один раз в конструкторе формы и в дальнейшем об этом можно забыть. Все прочие ваши проблемы надуманы, или есть непонятное желание дергать ричэдит при каждом телодвижении.
0
 Аватар для adm1nspb
2 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 95
29.04.2012, 20:14  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Размер ричэдит устанавливается один раз в конструкторе формы и в дальнейшем об этом можно забыть. Все прочие ваши проблемы надуманы, или есть непонятное желание дергать ричэдит при каждом телодвижении.
Вы не понимаете суть вопроса.
Если я выставлю лимит в 1Мб - файл 2 мб который в кеше не вставится. Файлы в моем проекте могут ьыть значитеьно больше. Зачем лишний раз хватать лишюю память если можно корректно выставить необходимое значение при каждой вставке из буфера? Вот только интересно...как...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.04.2012, 20:27
При наступлении определенного события, например, при нажатии сочетания клавиш, выделяете необходимую память тем же сообщением, а то, что вы не знаете, как узнать размер файла, это уже совсем другая история.
0
 Аватар для adm1nspb
2 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 95
29.04.2012, 20:34  [ТС]
Еще вопрос - А где именно надо прописывать определение размера richedit?
и в нем сам размер макс. размер?
и почему там присутствует SendMessage ?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.04.2012, 20:40
1. Например.
C++
1
2
3
4
5
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  SendMessage(RichEdit1->Handle, 1024*1024*1024*4, 0, 0x7FFFFFFF);
}
2. Потому, что вы отсылаете сообщение системе, что необходимо увеличить место под ричэдит.
3. Это:
1024*1024*1024*4
что ?
Размер текста - это
0x7FFFFFFF
.
4.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2012, 20:40
Помогаю со студенческими работами здесь

Буфер обмена (ClipBoard)
У кого есть исходники, для работы с буферам и картинками, кому не жалко поскидайте. Спасибо )

Рандом в билдере. Буфер обмена
Необходимо выводить на экран рандомное число, но в формате хххххх и копировать его в буфер обмена windows. помогите советом,...

Как перехватить буфер обмена?
Подскажите, как сделать чтоб скопированную в буфер обмена картинку, или текст отправилялась на почту? к примеру на дельфине отправка...

Как сохранить буфер обмена в файл?
Здравствуйте, я начинающий программист на Builder C, я решил обратиться к Вам за помощью. Итак, задача такая: у меня есть некий...

Сохранение рисунка в буфер обмена и в файл
Привет! Подскажите, пожалуйста, как сохранить изображенное на TImage в файл и буфер обмена. Чтобы можно было вставлять в Word.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru