Cdc - как копировать текст?
Нужно чтобы пользователь мышью мог выделить кусок текста и скопировать его в буфер. Как это сделать? Хотя бы в двух словах.. Саму идеологию. Плз.
Выводится текст функцией TextOut.
Нужно чтобы пользователь мышью мог выделить кусок текста и скопировать его в буфер. Как это сделать? Хотя бы в двух словах.. Саму идеологию. Плз.
по-моему, здесь никак. То, что выводит TextOut - это русунок. Выведенный текст не сохраняется ни в каком буфере -> просто выделить его и скопировать нельзя.
Если это не твое приложение,то соответственно ты не знаеш что имеенно прорисовал TextOut и тебе необходимо будет сначала распознать текст и получить его в символьном виде т.е. в виде строки а затем по алгоритму описаному выше. Это алгоритм обычного текствого редактора.
оно есть у тебя где то в буфере в символьном виде
и в каком буфере сохранился выведенный текст?
и в каком буфере сохранился выведенный текст?
Он имел ввиду, что если я что-то вывожу, значит это "что-то" есть у меня в буфере :) И, в общем-то, был прав - потому что я действительно вывожу из массива строк.
Если это твое приложение выводит текст с помощью TextOut, то тогда есественно оно есть у тебя где то в буфере в символьном виде,тогда ты можеш отслеживать положение зажатия левой кнопки мыши(лкм) в этом окне и при перемещении ее для выделения отрисованого текста отслеживаеш растояние пройденное мышью например с лева направо и при каждом определеннном растоянии то есть величине ширины буквы вычисленной с помощью GetCharABCWidthsFloat или подобной перерисовываеш окно с уже выделеной буквой а остальную часть не выделенной и куда нить в буфере заносиш что такая то буква выделена и т.д.
Если это не твое приложение,то соответственно ты не знаеш что имеенно прорисовал TextOut и тебе необходимо будет сначала распознать текст и получить его в символьном виде т.е. в виде строки а затем по алгоритму описаному выше. Это алгоритм обычного текствого редактора.
Я сначала хотел сделать примерно так же, но потом подумал, зная свою тягу к извратам, что это все-таки изврат. И решил спросить у более знающего народа. Т.к. сам вижу эту среду (и этот код) первый раз - и вообще здесь полный ламер. Но сделать нужно.. доработать чужой код.
Спасибо! Буду пытаться..
Я сначала хотел сделать примерно так же, но потом подумал, зная свою тягу к извратам, что это все-таки изврат. И решил спросить у более знающего народа. Т.к. сам вижу эту среду (и этот код) первый раз - и вообще здесь полный ламер. Но сделать нужно.. доработать чужой код.
Спасибо! Буду пытаться..
Да ты правильно понял насчет буфера,ну а раз это твое приложение то действительно зачем заниматься таким гемороем ,почему нельзя заменить нужное место обычным эдитом?
Да ты правильно понял насчет буфера,ну а раз это твое приложение то действительно зачем заниматься таким гемороем ,почему нельзя заменить нужное место обычным эдитом?
Я ж говорю, что с этим впервые сталкиваюсь. Чужой код, незнакомый компилятор, нулевые знания в создании таких приложений. Кстати, на счет едита тоже уже подумал:) Просто книжку уже полистал в поисках чего-нибудь такого (никак, кстати, не ожидал, что это называется "едит". Я привык, что едит - это нечто однострочное. Искал какой-нибудь РичЕдит или по крайней мере Мемо).
Спасибо!