C ++ Builder — C ++ Builder RAD Studio XE7 меняет цвет панели

После нажатия кнопки я захотел изменить цвет панели на зеленый:

ErrorDetectorPanel->Brush->Color = clLime;

не работает

ErrorDetectorPanel->Color = clLime;
ErrorDetectorPanel->Refresh();

не работает

с этой зависимостью:

ErrorDetectorPanel->ParentColor = false;
ErrorDetectorPanel->Refresh();

это все еще не работает.

попробовал это так:

HBRUSH brush = CreateSolidBrush(RGB(0, 255, 0));
SetWindowLong(ErrorDetectorPanel->Handle,WM_ERASEBKGND, 0);
SetWindowLong(ErrorDetectorPanel->Handle,GCLP_HBRBACKGROUND, (LONG)brush);

TForm прозрачность ложна
тот же результат после нажатия кнопки.

Как я могу сделать это правильно?

0

Решение

Настройка TPanel.Color свойство является правильным решением (оно будет автоматически установлено ParentColor в false), однако вы должны отключить темы / стили TPanel (или всю программу в целом), чтобы использовать пользовательские раскраски. Тематические / Стилизованные элементы управления получают свою окраску от активной темы / стиля.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]