Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750

CheckBox. Изменить цвет текста

13.08.2013, 20:57. Показов 4245. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. имеется несколько CheckBox контролов, созданных стандартным образом
C++
1
CreateWindow("button", "Cоздавать отчет",   WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, .... );
Каким образом можно изменить цвет выводимого текста?
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2013, 20:57
Ответы с готовыми решениями:

Как изменить положение текста у Checkbox?
Добрый день. В документации к кнопкам указан параметр BS_LEFTTEXT. Как его установить в уже созданный чекбокс? Не могу найти функцию,...

Изменить цвет текста
В текстовом редакторе сделал кнопку чтобы менять шрифт,как в стандартном блокноте. Шрифт меняется,с ним все ок,но только не изменяется цвет...

Как изменить цвет текста в консоли?
Нужно поменять цвет текста в консоли. Чтобы символ '#' был красным, буква 'H' была желтой, а буква 'o' - белой? Как это можно сделать?

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33195 / 21491 / 8233
Регистрация: 22.10.2011
Сообщений: 36,878
Записей в блоге: 12
13.08.2013, 23:08
Лови WM_CTLCOLORSTATIC, проверяй, что это именно для нужного тебе контрола ((HWND)lParam == правильному хэндлу), и устанавливай цвет через SetTextColor... Что-то вроде:

C++
1
2
3
4
5
6
7
8
9
10
11
        case WM_CTLCOLORSTATIC :
        {
            if((HWND)lParam == hCheckBox)
            {
                HDC hdc = (HDC)wParam;
                SetBkMode(hdc, TRANSPARENT);
                SetTextColor(hdc, RGB(255, 0, 0));
                return (LRESULT)GetStockObject(NULL_BRUSH);
            }
        }
        break;
(сразу говорю, не проверял, сейчас негде, но причин не работать не вижу)
0
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
13.08.2013, 23:26  [ТС]
UI, как раз таким способом и пытался.. но увы, без результата. Текст остается черным.

Добавлено через 3 минуты
Может, через сабклассинг оконной процедуры чекбоксов нужно, но вопрос, какие сообщения переопределить тогда..
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33195 / 21491 / 8233
Регистрация: 22.10.2011
Сообщений: 36,878
Записей в блоге: 12
13.08.2013, 23:32
Цитата Сообщение от jonson Посмотреть сообщение
Текст остается черным.
Ты меня заставил перейти на компьютер под Windows.

Что я опять не так делаю?
2
 Аватар для Игорь с++
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
13.08.2013, 23:54
Цитата Сообщение от UI Посмотреть сообщение
Что я опять не так делаю?
Поддерживаю , тоже отрабатывает на ура .
1
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
14.08.2013, 00:36  [ТС]
UI, да, такой код работает. Разобрался почему у меня не работало.
В своем проекте я добавляю вот такие инструкции для добавления манифеста, отображающего кнопки в стиле висты
C++
1
2
3
4
5
6
7
8
9
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
Если это закоментить. текст чекбокса меняется на ура. Но с манифестом не работает...
Отсюда новый вопрос, как быть со стилем контролов подобным висте? Возможно так не совсем правильно определять манифест?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.08.2013, 00:36
Помогаю со студенческими работами здесь

Как изменить цвет при выделении текста в richedit на delphi
Подскажите, пожалуйста. Как изменить цвет(по умолчанию он черный или синий) при выделении текста в richedit на delphi. Заранее спасибо.

Как поменять цвет фона кнопки и цвет текста на кнопке?
имеется код: //Кнопка "Выход" CreateWindow(TEXT("button"), TEXT("Выход"), WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, 170, 180, 120, 30, hWnd,...

Цвет фона, цвет текста в определённом EDIT и шрифт
Сначала опишу чего добиваюсь: Для всех(кроме 1го, заблокированного от ввода) сделать текст текста серым. У заблокированного EDIT'а...

Изменить цвет текста в CheckBox
Хочу изменить цвет надписи в CheckBox делаю так : <CheckBox Content="qweqweqwe" Foreground="Red"></CheckBox> Не...

Как изменить цвет текста у RadioButton и CheckBox?
Здравствуйте. Как изменить цвет текста у RadioButton и CheckBox? Смог изменить цвет у placeholder, а вот для кнопочек не могу. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru