Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизРисуем в Memo. Затруднительный вопрос. Найти похожие ветки
← →
Гость-342 (2004-01-28 14:51) [0]Задавал его уже несколько раз, отозвался только один человек, в связи с чем пока в голову пришло только одно решение, которое меня не устраивает.
Итак, нужно чтобы memo с n-ной позиции курсора было зеленым (синим, красным ...). Т.е. memo разбито на два прямоугольника, один из которых (левый) имеет цвет memo1.color, а второй - зеленый (синий, красный ...).
Есть единственный пока вариант: по сообщению WM_CTLCOLOREDIT формировать bitmap с нужным нам бэкграундом для memo, и подсовывать memo в обработчике сообщения кисть типа PATTERN с этим битмапом. Это несколько ресурсонакладно и, ИМХО, должно быть более рациональное решение.
← →
real_dimedrol (2004-01-28 15:50) [1]Похоже, вопрос довольно затруднительный. Хотелось бы услышать хотя бы рассуждения на эту тему.
← →
panov (2004-01-28 16:13) [2]Обсуждалось уже не раз.
Пользуйтесь TRichEdit.
← →
Unax (2004-01-28 23:23) [3]TControlCanvas
← →
Германн (2004-01-28 23:53) [4]И вообще. Почему все так стремятся раскрасить именно Memo? Неужели потому только, что он лежит на первой закладке, а RichEdit только лишь на третьей? Или может я что-то не знаю об иных преимуществах Memo?
← →
real_dimedrol (2004-01-29 12:01) [5]Наверное потому, что memo первичнее, чем Richedit. Каждый сам для себя выбирает, писать что-то руками или взять чужое готовое. Разница выходит лишь в том, что одни теряют время, а другие знания и опыт. Все просто.
← →
real_dimedrol (2004-01-29 12:04) [6]И вообще, кто кроме меня стремился раскрасить memo? Я перебрал всю королевскую конференцию - никто.
← →
Serge (2004-01-29 12:38) [7]Посмотри исходники synedit-а, может чем-то поможет
http://synedit.sourceforge.net/
← →
real_dimedrol (2004-01-29 14:30) [8]Спасибо. Гляну.
← →
real_dimedrol (2004-01-29 21:11) [9]2 Panov,Германн
Товарисчи видимо меня не так поняли. Я не хочу сделать у текста начиная с n-й позиции фон, я хочу чтобы этот фон там был независимо от текста. Просто всегда был...
← →
real_dimedrol (2004-01-30 13:24) [10]Блин. Похоже даже PatternBrush - не вариант. Она принимает только рисунки 8*8 или меньше... Что же делать? Суть всей этой белиберды в написании редактора для Бейсик-Кобол-Фортран-подобных программ, в которых операторы допускается вводить только с n-ной позиции. И чтобы не считать пробелы, я хотел просто подкрасить в memo ту область, которая для операторов. А также и ту, которая для меток, комментариев и т.п.
Люди, где ваши мозги? Напрягите их.
← →
химик (2004-01-30 19:01) [11]рисуй на DC твоего мема
ср-вами API. координаты вычисляй.
вперед :)
← →
real_dimedrol (2004-01-31 00:24) [12]2 химик
Это все хорошо и красиво. По какому сообщению рисовать????
← →
Германн (2004-01-31 03:15) [13]2 real_dimedrol (31.01.04 00:24) [12]
Ты, наверно, имел в в виду "по какому событию рисовать"?
Так у мемо нет таких. А вообще-то сообщение - известно какое - WM_PAINT.
← →
Maxud (2004-01-31 14:58) [14]Вот здесь по рисованию на Мемо:
http://www.delphiworld.narod.ru/base/memo_with_own_fonts.html
← →
real_dimedrol (2004-02-02 11:50) [15]Удалено модератором
Примечание: Следи за выражениями...
← →
pasha_golub (2004-02-02 11:52) [16]real_dimedrol (02.02.04 11:50) [15]
Потому шо Мемо не предназначен для этого, скоко раз уже сказали. Используй РичЭдит, ну шо за упрямство. :-)
← →
real_dimedrol (2004-02-02 11:55) [17]Ну скажи вот тогда мне, как в RichEdit сделать половину зеленой а вторую половину - красной? Не фон у текста, а просто всегда половина зеленая, половина красная... По моему это то же самое будет.
← →
real_dimedrol (2004-02-02 11:57) [18]Удалено модератором
Примечание: Следи за выражениями...
← →
Плохиш (2004-02-02 11:58) [19]>real_dimedrol (30.01.04 13:24) [10]
Люди, где ваши мозги? Напрягите их.
Наши-то при нас. Не понимаю, почему все так хотят их напрячь каким-то идиотским занятием? :-(
← →
VAleksey (2004-02-02 11:59) [20]Возьми 2-а мемо.
← →
pasha_golub (2004-02-02 12:30) [21]VAleksey © (02.02.04 11:59) [20]
Тоже верно.
← →
real_dimedrol (2004-02-02 14:46) [22]Не системно мыслите, тавагищи, а если мне надо десять прямоугольников??? Да еще не ровно по строкам, а алигнутых абы как?
← →
Noname (2004-02-02 14:50) [23]Удалено модератором
Примечание: Оффтоп...
← →
VAleksey (2004-02-02 15:11) [24]
> а если мне надо десять прямоугольников???
Возьми десять.
Или создавай "на лету" по своим правилам.
> Да еще не ровно по строкам, а алигнутых абы как?
"Загнутых" прямоугольников не бывает... На то они и прямоугольники.
← →
Rouse_ (2004-02-02 15:22) [25]> "Загнутых" прямоугольников не бывает
Он имел ввиду Alignment ;))
Хотя с этим тоже не должно проблем возникнуть, у Мемо есть Align...
← →
VAleksey (2004-02-02 15:35) [26]
> Rouse_ © (02.02.04 15:22) [25]
Угу ошибся. :-))
Тогда зачем их "алайгнить" абы-как? Надо по правилам, или самому исходя из пропорции размеры устанавливать.
← →
panov (2004-02-02 19:01) [27]>real_dimedrol (02.02.04 14:46) [22]
Это ты не системно мыслишь.
Если мыслить системно и проникновенно, то зачем использовать VCL? Поступи просто, как тебе уже советовали, - рисуй все сам.
← →
real_dimedrol (2004-02-03 11:40) [28]2 panov
Вот. С самого начала (не понял тока, за что админ выкосил мои изъяснения) я и хотел понять, можно ли как-нибудь использовать memo для моих целей либо же все надо с нуля... Одно только есть "но". Совсем с нуля не получится. Мне ведь нужен не статический компонент, а edit-control. Для этого в windows есть только один вариант: многострочный edit-control. Он же в VCL memo...
← →
Игорь Шевченко (2004-02-03 12:10) [29]real_dimedrol (03.02.04 11:40)
memo раскрашивать можно, но не стоит....уж очень овчинка выделки не стоит. Могу показать направление, куда двигаться - в сторону обработки сообщений WM_CTLCOLOREDIT, WM_ERASEBKGND и WM_PAINT, но сразу предупреждаю, дело очень непростое
← →
real_dimedrol (2004-02-04 15:29) [30]Игорь Шевченко
Это я уже понял. Поскоку много кто мне уже подал наводки типа "просто рисуй сам что хочешь", "используй wm_paint", "используй richedit", посмотри статью ... Это все советы не от тех, кто сам реально пробовал красить memo... Я уже поломал все копья, просматривая нерабочие листинги и глючные компоненты. И MSDN читал и естественно wm_ctlcoloredit и wm_erasebackground и wm_paint ловил. Одна проблема, если даже вообще отключить обработку wm_paint, memo отображает буквы! То есть он что-то рисует... Но как? Я же отключил его! Как его вырубить намертво, оставив лишь мигающий курсор, который, кстати, при отключении wm_paint исчезает?
← →
Yanis (2004-02-09 23:41) [31]А TControlCanvas? Чем не вариант?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.037 c