Текущий архив: 2006.10.22;
Скачать: CL | DM;
Вниз
Прозрачный ТМемо Найти похожие ветки
← →
guav © (2006-09-09 15:23) [0]Как сделать TMemo у которого прорисовывается только текст ?
И не говорите что никак, в пеинте используется прозрачный multiline edit для рисования текста.
← →
Ketmar © (2006-09-09 15:30) [1]запустить паинт?
← →
SerJaNT © (2006-09-09 15:30) [2]А ты уверен что там используется TMemo?
← →
guav © (2006-09-09 15:39) [3]> запустить паинт?
гы.
если имеется ввиду запускать пеинт когда потребуется подобная функциональность то не подойдёт, т.к. функциональности пеинта и встроенного в него прозрачного мемо недостаточно.
если запустить чтобы поковырять всяческими Spy++ и отладчиками - то надеюсь что обойдусь.
> А ты уверен что там используется TMemo?
Уверен что нет. Там вообще VCL нет.
Там класс окна EDIT. Т.е. обычный multiline edit, но subclassing думаю сделан.
TMemo - обёртка вокруг multiline edit.
Вообще-то если понадобится, это окошко можно и на "чистом API" сделать, вопрос только как.
← →
Орион © (2006-09-09 15:39) [4]> [0] guav © (09.09.06 15:23)
Окно прозрачным делать умеешь? TMemo - тоже окно ;)
← →
guav © (2006-09-09 15:42) [5]> Окно прозрачным делать умеешь? TMemo - тоже окно ;)
Пробовал, но получается чтобуквы имеют background, хотя от бэкграунда там, где нет текста так избавится можно.
← →
guav © (2006-09-09 15:42) [6]Удалено модератором
Примечание: дубль
← →
SerJaNT © (2006-09-09 15:47) [7]Можно попробовать так:
сначала сделать что-то типа скриншота размерам = TMemo, запомнить этот кусок, потом вспомнить и поместить в качестве фонового рисунка в TMemo. Естесно, tmemo должен перекрывать ту область которую ты скопировал. Тогда и будет эффект прозрачности. А если сделать регулировку яркости, то можно добиться регулируемой прозрачности
← →
guav © (2006-09-09 15:54) [8]Регулируемая прозрачность не требуется, требуется только вкл/выкл.
Помещение фона в Мемо мне подойдёт (во время редактирования фон не меняется), но как это сделать ?
← →
Ketmar © (2006-09-09 15:54) [9]перехватить рисовалку и рисовать.
← →
guav © (2006-09-09 16:04) [10]> перехватить рисовалку и рисовать.
т.е. рисовать всё включая буквы ? да, это можно.
мне в этом варианте не нравится то, что потребуется точно рисовать буквы там где были бы старые, иначе курсор не будет отображатся там где надо.
можно конечно самому ставить курсор, но это усложняет задачу. Можно вообще свой Memo реализовать. Но хотелось бы найти самый лёгкий путь.
[9] - пока основной вариант, но хочу что-нить попроще
← →
Ketmar © (2006-09-09 16:28) [11]куда уж проще? рисуем фон, остальное отдаём стандартной рисовалке. не забываем указать стандартной, что фон надо малевать прозрачной кистью.
← →
guav © (2006-09-09 16:47) [12]> [11] Ketmar © (09.09.06 16:28)
> рисуем фон, остальное отдаём стандартной рисовалке. не забываем
> указать стандартной, что фон надо малевать прозрачной кистью.
Не получается, [6].
Если знаешь как "указать стандартной, что фон надо малевать прозрачной кистью", включая фон текста, опиши подробнее или покажи код.
← →
Ketmar © (2006-09-09 16:50) [13]> [12] guav © (09.09.06 16:47)
SetBkMode(OPAQUE) не работает?
← →
Ketmar © (2006-09-09 16:50) [14]тьфу, блин. SetBkMode(TRANSPARENT), конечно же.
← →
guav © (2006-09-09 16:55) [15]> [14] Ketmar © (09.09.06 16:50)
нет
← →
Ketmar © (2006-09-09 17:06) [16]значит, плохо пробуешь.
← →
guav © (2006-09-09 18:57) [17]> значит, плохо пробуешь.
наверное.
пожалуйста, приведи код, как я могу хорошо попробовать.
← →
guav © (2006-09-09 19:07) [18]Я не сохранил свои попытки, но я перекрывал WM_ERASBCKGND (его делал пустым) и WM_PAINT (там пробовал разные вариант в т.ч. SetBkMode(Message.DC, TRANSPARENT)), результат отрицательный.
и ещё, поиск в группах нашёл кучу сообщений вроде этого http://groups.google.com.ua/group/borland.public.delphi.vcl.components.using.win32/browse_frm/thread/441e44618225b39e/8110b85d9bb4480a?tvc=1&q=transparent+tmemo&hl=ru#8110b85d9bb4480a и другую кучу поменьше с вариантами которые я уже пробовал. Видимо задача не трифвиальна
← →
Ketmar © (2006-09-09 19:20) [19]ну так там про "easy way" спрашивали. %-)
а код мне делать лень. сильно лень.
← →
guav © (2006-09-09 19:37) [20]> а код мне делать лень. сильно лень.
Ну если лень, то наверняка в проблему тоже вникнуть было лень, потому тебе и кажется что [14] должно работать.
← →
y-soft © (2006-09-10 16:58) [21]>guav © (09.09.06 15:23)
http://www.torry.ru/vcl/edits/enh/trancomp.zip
← →
guav © (2006-09-10 23:45) [22]> [21] y-soft © (10.09.06 16:58)
спасибо.
Страницы: 1 вся ветка
Текущий архив: 2006.10.22;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.031 c