Как правильно?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Как правильно?

Сообщение lister » 13.03.2006 (Пн) 8:05

Вычитал, что чтобы окрашивать кистью системного цвета, приложение должно использовать GetSysColorBrush (nIndex) вместо CreateSolidBrush (GetSysColor (nIndex)), потому что GetSysColorBrush возвращает кэшируемую кисть (вместо того, чтобы назначить новую).

Перелопатил несколько примеров. Почему-то везде используется CreateSolidBrush (GetSysColor (nIndex)) с последующим вызовом DeleteObject для удаления кисти...

Как правильно? Или здесь нет принципиальной разницы?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.03.2006 (Пн) 10:20

GetSysColorBrush -- правильно.
Разница есть.
MSDN писал(а):To paint with a system color brush, an application should use GetSysColorBrush(nIndex) instead of CreateSolidBrush(GetSysColor(nIndex)), because GetSysColorBrush returns a cached brush instead of allocating a new one.

Авторов таких примеров -- фбангалор!
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 122

    TopList  
cron