Здравствуйте, Pavor, Вы писали:
P>Вот такой вопрос возник:
P>описываем класс окна, в поле, где задается фон окна (hbrBackground) практически во всех примерах в сети используется такой код:
P>P>wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
P>
P>Так вот вопрос: зачем +1, ведь без него фон окна также остается белым (в Windows XP)?
P>...
P>Кто знает — подскажите, плиз, а то полная неясность
Я думаю это архаичный апишный криво-хак. COLOR_WINDOW — это индекс системного цвета. В данном случае он кастуется в дескриптор HBRUSH, который соответствует некоторому объекту из системной таблицы объектов HBRUSH. По всей видимости индексы дескрипторов в этой таблице, отличаются от индексов системных цветов на 1, отсюда и "+1". Возможно индексы системных цветов начали с "нуля", а валидные дескрипторы начинаются с еденицы ...