![]() |
|
|
![]()
|
|
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Доброго времени суток!
В своей программе я работаю с буфером обмена... Получается так, что я могу "затереть" какие-то данные пользователя, которые он поместил в буфер. Соответственно мне необходимо каким-то образом сохранять, а затем восстанавливать содержимое буфера обмена. Т.е. примерно так: // запоминаем содержимое буфера ... // мои операции ... // восстанавливаем содержимое буфера Подскажите как это можно реализовать? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
На сколько я знаю с этим классом можно только как с указателем работать... Т.е. написать TClipboard cb = *Clipboard(); нельзя. Я пробовал перебрать и запомнить все форматы данных в буфере, а затем вернуть их на место.. Ничего не получилось. |
|||
|
||||
| mrbrooks |
|
||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
это еще что такое? работать с TClipboard можно либо так:
либо так:
|
||||
|
|||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Это только текст.. В буфере находится сразу много форматов... Мне их всех запомнить как-то надо. А потом вернуть в буфер.
Я пробовал так:
Ничего не получается(( |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Обрати внимание на метод HasFormat - в него передается флаг характерный твоей информации (текст, картинка и т.д.). см. хелп.
возможно есть смысл использовать массив TClipboard. |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
чего же тут непонятного.
Честно говоря так никогда не изгалялся. Сейчас склоняюсь к мнению может проще создать массив потоков (TStream) и его потомков? Тоже как вариант - если ты все будешь хранить в памяти - то почему бы и нет. |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
mrbrooks, чтобы сохранить текущее состояние буфера мне необходимо скопировать само значение, а не указатель. Если я пишу:
выдается ошибка Classes with properties cannot be copied by value. А как работать с TStream? |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Нашел способ сохранять буфер в TStream. Код на Delphi: здесь
Переписал на Builder, но похоже где-то ошибся.. Посмотрите что не так?
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |