|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
|
Вывод текста на Aero Glass (dwmapi)22.02.2011, 04:15. Показов 9854. Ответов 36
Метки нет (Все метки)
Мне нужно вывести текст на стекле. Функция DrawThemeTextEx я так понял. Атрибуты страшны как ядерная война. Просто не имею опыта использования библиотек Windows. MSDN мне не слишком помог. Пожалуйста помогите разобраться с атрибутами.
0
|
|
| 22.02.2011, 04:15 | |
|
Ответы с готовыми решениями:
36
Glass-effect dwmapi. Кнопки. [C#] Aero Glass Aero Glass - как выключить |
|
|
||
| 22.02.2011, 04:59 | ||
|
Вам - лекцию, или вы сами скажете, что не понятно ?
Если лекцию - то не сюда . Или вы еще ничего не делали, а хотите так, для общего развития ?
0
|
||
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
|||||||||||||||||||||||||||||||
| 22.02.2011, 05:30 [ТС] | |||||||||||||||||||||||||||||||
|
Эх, лекцию было бы замечательно =) Объясняю что конкретно непонятно.
hdc - пишу
iStateId - тоже пишу ноль. Тоже вроде настройки стиля. pszText - Сам текст в Юникоде. Пишу L"Hello!". iCharCount - Количество символов текста к выводу. Пишу -1, ибо справка говорит, что тогда вывдены будут все. (Хм, наверное атрибут используется для ограничения строк, и выхода за рамки предусмотренные дизайнером). dwFlags - Пишу uFormat, в котором содержится:
pRect - тут вроде все понятно. Область вывода в локальных координатах окошка. Пишу:
pOptions - тут тоже должно быть все понятно. Параметры вывода, эффекты и прочее. Пишу:
Вот как-то так. Уверен, что ошибка глупая, просто сложно самому разобраться. --- LK Спасибо за статью, сейчас прочитаю, надеюсь поможет. Добавлено через 9 минут Прочитал статью. Она о добавлении прозрачности окну. С этим я не испытываю трудностей. Окно у меня уже стеклянное. Проблема в выводе текста.
0
|
|||||||||||||||||||||||||||||||
|
|
||||||||
| 22.02.2011, 06:31 | ||||||||
|
ну, держи еще лекцию, здесь попонятней будет
.http://www.codeproject.com/KB/... Intro.aspx и ты сразу кинулся текст рисовать, или сначала границы прозрачности указал , типа :
Ага, не дочитал ... Как окно стеклянным делал ? Добавлено через 6 минут и я не понял , куда ты
0
|
||||||||
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
||||||||||||
| 22.02.2011, 06:45 [ТС] | ||||||||||||
|
Окно стеклянным делал через DwmExtendFrameIntoClientArea и DwmEnableBlurBehindWindow. Разве, что границы при объявлении указал
--- Читал эту статью раньше. Не смог вникнуть, не помогло. То переменная которая у автора встречается, но нигде не объявлена, на которую мой компилятор ругается (RAD Studio), то еще что нибудь. Вообщем всю ночь, часов семь подряд пытался вывести текст, перерыл в интернете все, что нашел, не вывел ни буквы. И решил здесь спросить. Можно конечно заменить альфа цвет (имею в виду цвет который в дальнейшем рендерится системой как стекло), но как-то посчитал, что это не по-людски.
0
|
||||||||||||
|
|
||||||
| 22.02.2011, 06:53 | ||||||
... и будем смотреть текст.
0
|
||||||
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
||||||
| 22.02.2011, 07:10 [ТС] | ||||||
|
Извиняюсь. ) Писал в OnPaint на всякий случай.
0
|
||||||
|
|
|
| 22.02.2011, 07:27 | |
|
дык, панелька тоже прозрачная, что не есть гуд
![]() Добавлено через 5 минут и прозрачной дожна быть только область снизу высотой 80, или я чего не понимаю?
0
|
|
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
||||||
| 22.02.2011, 07:30 [ТС] | ||||||
|
То есть нужно обойтись без нее? До этого ее не было, текст, аналогично не выводился, ну то есть я что-то не так делал.
Вот код которым я пытаюсь сделать вывод.
--- DwmExtendFrameIntoClientArea - Как бы растягивает рамку снизу на 80. "Как-бы" потому-что система "растянутую" рамку считает клиентской областью, а рамку рисует при рендере. DwmEnableBlurBehindWindow - Вешает эффект размытая на клиентскую область, "блеска стекла" там нет. Все окно задумывалось прозрачным, сверху на панельку накладываются Image в которые грузятся png.
1
|
||||||
|
|
||
| 22.02.2011, 07:37 | ||
|
я просто кинул на форму Label красного цвета с размером 18 - она прекрасно видна без всяких телодвижений, только имеет ту же прозрасность, что и форма , в чем и проблема
![]() Добавлено через 3 минуты
0
|
||
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
||
| 22.02.2011, 07:50 [ТС] | ||
|
Да, чем темнее, тем выше прозрачность. Так как стандартные контролсы DWM'ом не рендеряться, поэтому надо использовать его-же для вывода текста. Далеко не факт что так оно и есть, но я так понял. =)
Нет конечно. =) Накидывал код в попытках разобраться отовсюду, и пропустил. Странно но компилятор не ругался на undifined symbol. Может в библиотеках переменная такая-же объявленна? Исправил на совсем другое имя (heme), но это не есть причина ошибки.
0
|
||
|
|
|
| 22.02.2011, 08:15 | |
|
Ну, пока то, что сделано, достигается просто установкой Form->AlphaBlend = true;
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2007
Сообщений: 18
|
|
| 22.02.2011, 08:21 | |
|
......
0
|
|
|
|
||||||
| 22.02.2011, 08:29 | ||||||
|
4renG8, тут дело не в выводе текста - сделал для эксперимента
0
|
||||||
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
|
| 22.02.2011, 08:36 [ТС] | |
|
Почему то это меня не радует. =) Мне все-ровно придется разбираться, надо завершить начатое. AlphaBlend это все-таки не то, он ведь не дает бликов, теней, бокс-блюра и прочих вкусностей, и заставлять его работать от цветовой схемы установленной пользователем в системе, дело неблагодарное. Так что все-таки, подобного результата этим к сожалению не добиться. Он ведь в WINapi, который не рассчитан на подобные вещи.
В общем нужно разобраться что конкретно передать первыми двумя аргументами, они непонятны больше всего. Хотя что-то подсказывает, что hdc задан мной верно.
0
|
|
|
|
|
| 22.02.2011, 08:39 | |
|
аргументами где ? здесь DrawThemeTextEx (hTheme, hdc, 0, 0, L"Hello!", -1, uFormat, rec, &dttOpts); ? ты учитывай, что уже утро
1
|
|
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
|||
| 22.02.2011, 08:49 [ТС] | |||
|
Добавлено через 2 минуты Да я тоже всю ночь не спал. =)
0
|
|||
|
|
|||||||
| 22.02.2011, 09:07 | |||||||
![]() Добавлено через 6 минут я подозреваю, что он просто делается прозрачным , вот этого простого
0
|
|||||||
|
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 15
|
||||||||||||||||
| 22.02.2011, 09:11 [ТС] | ||||||||||||||||
|
Меня смущает то, что в одну функцию передается один и тот же Handle два раза. Один раз в hTheme, второй раз в hdc. Это как минимум странно. Во вторых я не могу понять, когда я пишу:
0
|
||||||||||||||||
|
|
||
| 22.02.2011, 09:14 | ||
|
посмотри здесь http://www.vistax64.com/aero/2... x-net.html и обрати внимание на Memdc
Добавлено через 56 секунд
0
|
||
| 22.02.2011, 09:14 | |
|
Помогаю со студенческими работами здесь
20
Как правильно отрисовывать TextBox при использовании Aero Glass Свойство StartPosition при использовании Aero Glass работает не всегда Подсветка текста на стекле Aero, как в заголовке Как исправить искажение текста на форме со стилем Aero Dwmapi.dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|