Рамки в Progress Bar при отключенных Visual Styles
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 15.04.23 14:10
Оценка:
PBM_SETBARCOLOR, как известно, не работает, если Visual Styles включены для его окна (а они включены по умолчанию еще с XP). Чтобы менять цвет индикатора, не портя вида остальных элементов, можно отключить стили только для окна индикатора через SetWindowTheme. После этого цвет устанавливается, но у индикатора напрочь пропадает рамка. В ресурсах у него стоит WS_BORDER, но после вызова SetWindowTheme он пропадает. Добавление через SetWindowLong не помогает — флаг устанавливается, но вид элемента не меняется. Пробовал также
WS_EX_CLIENTEDGE, WS_EX_STATICEDGE и WS_EX_WINDOWEDGE в разных сочетаниях — бесполезно. Если у индикатора нулевая позиция — его вообще не видно в диалоге.

Это как-то можно победить, кроме как вручную рисовать рамку, или вообще весь индикатор?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.