Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Ситуация такая. Есть окно. В его классе зарегистрирована некоторая кисть. PD>Есть битмап. Его надо залить этой кистью.
PD>Делаю, естественно, GetClassLong (GCL_HBRBACKGROUND). А дальше вот такой вопрос. Там вполне может быть не HBRUSH, а номер типа COLOR_*. Если да — надо брать от него GetSysColorBrush. Если нет — и так сойдет. PD>Вопрос — как правильно эти 2 ситуации отличить ? Сравнивать с
PD>#define COLOR_GRADIENTINACTIVECAPTION 28 (это вроде максимальное значение)
PD>не очень корректно, могут быть изменения в дальнейшем.
PD>В общем — как отличить HBRUSH от индекса цвета ?
Если заливать будешь FillRect'ом, можешь последним параметром вместо кисти указать COLOR_* + 1. Соответственно, и различать ничего не надо.