![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
![]()
Здравствуйте! Возможно ли в стандартный объект windows "static" выводить текст функцией TextOut()?
Если да, то как и вообще возможно ли сделать следующее, допустим, у меня есть listbox со списком параметров выравнивания: по левому краю, по правому краю, по центру, при выборе одного из этих пунктов я хочу в объекте "static" отобразить пример результата, вывести некий текст для визуализации того, что должно получиться в итоге при выводе текста. Короче говоря если я выбрал "Выравнивание по центру", то нужно чтобы текст в объекте статик был по центру. Хочется верить, что объяснил довольно ясно. P.S. Возможно, здесь лучше использовать однострочный "edit". |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
А не проще у окна static устанавливать флаги SS_LEFT/SS_CENTER/SS_RIGHT, вместо перерисовки текста вручную?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
![]()
Как это делать?
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Получаете старый стиль Static
Код:
Код:
Код:
Код:
Последний раз редактировалось macomics; 23.02.2023 в 15:37. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
![]()
Может быть так было бы проще, но у меня текст не выводится вообще. Или имеется ввиду выводить текст при помощи функции SetWindowText()... Хотя так тоже ничего не выводится.
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Да. Достаточно использовать Static как обычное окно и не рисовать ничего вручную. Устанавливать текст в окне через SetWindowText
Тогда может быть дело не в этих функциях, а в самом Static. Вы его отобразили (WS_VISIBLE) или может он не по тем координатам? Чтобы увидеть Static добавьте к его стилю бордюр WS_BORDER Последний раз редактировалось macomics; 23.02.2023 в 14:59. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
![]()
Да, конечно.
Какие координаты указывал при создании шаблона диалогового окна те и остались, ничего не перемещал. Тоже самое, этот стиль я указал при создании класса. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Так вы обнулили все остальные стили у Static. Я зачем указал, что старые стили надо сначала получить и сбросить флаги SS_LEFT, SS_CENTER и SS_RIGHT перед тем как добавить один из них и установить его.
SetWindowLong(hWnd, GWL_STYLE, wndStyle) устанавливает (изменяет) значение, которое передавалось при создании окна как wndStyle (третий параметр CreateWindow) Последний раз редактировалось macomics; 23.02.2023 в 15:41. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 22.01.2014
Сообщений: 313
|
![]() Код:
Dialog3.png Странно, но, если я диалоговое окно перетаскиваю, то объект "static" просто исчезает. Кто отвечает за перерисовку в диалоговом окне? Разве не ОС.... Последний раз редактировалось apofioz; 23.02.2023 в 22:22. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Canvas.TextOut вывод текста от средины к краям | Женя32 | Общие вопросы Delphi | 9 | 07.10.2019 20:31 |
Зависают диалоговые окна | Shkolota | Windows | 14 | 01.09.2013 12:00 |
Не редактируются диалоговые окна -_- | Alovar | Visual C++ | 0 | 29.11.2011 21:07 |
Диалоговые окна. | AnnJoy | Помощь студентам | 0 | 15.06.2011 19:16 |
Вывод строки текста в Static Text через код | skiffter | Visual C++ | 4 | 01.10.2010 17:08 |