Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Cdc - как копировать текст?

2.2K
17 июня 2005 года
Dani
51 / / 22.09.2004
Выводится текст функцией TextOut.
Нужно чтобы пользователь мышью мог выделить кусок текста и скопировать его в буфер. Как это сделать? Хотя бы в двух словах.. Саму идеологию. Плз.
1.9K
17 июня 2005 года
solovey
113 / / 25.07.2004
Цитата:
Originally posted by Dani
Выводится текст функцией TextOut.
Нужно чтобы пользователь мышью мог выделить кусок текста и скопировать его в буфер. Как это сделать? Хотя бы в двух словах.. Саму идеологию. Плз.


по-моему, здесь никак. То, что выводит TextOut - это русунок. Выведенный текст не сохраняется ни в каком буфере -> просто выделить его и скопировать нельзя.

406
17 июня 2005 года
vitaly2003s
481 / / 27.07.2004
Если это твое приложение выводит текст с помощью TextOut, то тогда есественно оно есть у тебя где то в буфере в символьном виде,тогда ты можеш отслеживать положение зажатия левой кнопки мыши(лкм) в этом окне и при перемещении ее для выделения отрисованого текста отслеживаеш растояние пройденное мышью например с лева направо и при каждом определеннном растоянии то есть величине ширины буквы вычисленной с помощью GetCharABCWidthsFloat или подобной перерисовываеш окно с уже выделеной буквой а остальную часть не выделенной и куда нить в буфере заносиш что такая то буква выделена и т.д.
Если это не твое приложение,то соответственно ты не знаеш что имеенно прорисовал TextOut и тебе необходимо будет сначала распознать текст и получить его в символьном виде т.е. в виде строки а затем по алгоритму описаному выше. Это алгоритм обычного текствого редактора.
1.9K
17 июня 2005 года
solovey
113 / / 25.07.2004
Цитата:
Originally posted by vitaly2003s
оно есть у тебя где то в буфере в символьном виде


 
Код:
pDC->TextOut(0,0,"Text",5);

и в каком буфере сохранился выведенный текст?
2.2K
18 июня 2005 года
Dani
51 / / 22.09.2004
Цитата:
Originally posted by solovey
 
Код:
pDC->TextOut(0,0,"Text",5);

и в каком буфере сохранился выведенный текст?



Он имел ввиду, что если я что-то вывожу, значит это "что-то" есть у меня в буфере :) И, в общем-то, был прав - потому что я действительно вывожу из массива строк.

2.2K
18 июня 2005 года
Dani
51 / / 22.09.2004
Цитата:
Originally posted by vitaly2003s
Если это твое приложение выводит текст с помощью TextOut, то тогда есественно оно есть у тебя где то в буфере в символьном виде,тогда ты можеш отслеживать положение зажатия левой кнопки мыши(лкм) в этом окне и при перемещении ее для выделения отрисованого текста отслеживаеш растояние пройденное мышью например с лева направо и при каждом определеннном растоянии то есть величине ширины буквы вычисленной с помощью GetCharABCWidthsFloat или подобной перерисовываеш окно с уже выделеной буквой а остальную часть не выделенной и куда нить в буфере заносиш что такая то буква выделена и т.д.
Если это не твое приложение,то соответственно ты не знаеш что имеенно прорисовал TextOut и тебе необходимо будет сначала распознать текст и получить его в символьном виде т.е. в виде строки а затем по алгоритму описаному выше. Это алгоритм обычного текствого редактора.



Я сначала хотел сделать примерно так же, но потом подумал, зная свою тягу к извратам, что это все-таки изврат. И решил спросить у более знающего народа. Т.к. сам вижу эту среду (и этот код) первый раз - и вообще здесь полный ламер. Но сделать нужно.. доработать чужой код.
Спасибо! Буду пытаться..

406
19 июня 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by Dani
Я сначала хотел сделать примерно так же, но потом подумал, зная свою тягу к извратам, что это все-таки изврат. И решил спросить у более знающего народа. Т.к. сам вижу эту среду (и этот код) первый раз - и вообще здесь полный ламер. Но сделать нужно.. доработать чужой код.
Спасибо! Буду пытаться..



Да ты правильно понял насчет буфера,ну а раз это твое приложение то действительно зачем заниматься таким гемороем ,почему нельзя заменить нужное место обычным эдитом?

2.2K
19 июня 2005 года
Dani
51 / / 22.09.2004
Цитата:
Originally posted by vitaly2003s
Да ты правильно понял насчет буфера,ну а раз это твое приложение то действительно зачем заниматься таким гемороем ,почему нельзя заменить нужное место обычным эдитом?



Я ж говорю, что с этим впервые сталкиваюсь. Чужой код, незнакомый компилятор, нулевые знания в создании таких приложений. Кстати, на счет едита тоже уже подумал:) Просто книжку уже полистал в поисках чего-нибудь такого (никак, кстати, не ожидал, что это называется "едит". Я привык, что едит - это нечто однострочное. Искал какой-нибудь РичЕдит или по крайней мере Мемо).
Спасибо!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог