Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

"Правильность"   Найти похожие ветки 

 
Ricks ©   (2007-04-15 21:00) [0]

Здравствуйте!

Вопрос знатокам:
есть ли принципиальная разница (вернее какая разница) вот в этих двух "программах":

B:=CreateSolidBrush( COLORREF );
O:=SelectObject(DC, B);
FillRect(DC, L, B);
SelectObject(DC, O);
DeleteObject(B);


и


B:=CreateSolidBrush( COLORREF );
FillRect(DC, L, B);
DeleteObject(B);


Во втором случае увеличивается кол-во GDI объектов.
Нужно ли обязательно мучатся с выбором кисти в HDC?


 
Ricks ©   (2007-04-15 21:03) [1]

Даже вернее так:

B:=CreateSolidBrush( COLORREF );
O:=SelectObject(DC, B);
FillRect(DC, L, B);
DeleteObject(SelectObject(DC, O));
DeleteObject(B);


Вот тогда GDI объекты, вернее их кол-во почти не увеличивается.
С другой стороны увеличение их числа происходит только один раз (если еще и еще раз вызывать процедуру — кол-во остается таким же)


 
MBo ©   (2007-04-16 05:59) [2]

микрософт говорит, что нужно восстанавливать ранее выбранные в контексте объекты - так почему бы этого не делать, тем более что усилий на это нужно совсем немного.


 
homm ©   (2007-04-16 07:12) [3]

> Во втором случае увеличивается кол-во GDI объектов.
> Нужно ли обязательно мучатся с выбором кисти в HDC?

Уверен? Странно, ты же и так предаешь кисть в параметрах, зачем же ее выбирать дополнительно.


 
MBo ©   (2007-04-16 07:21) [4]

This function returns the previously selected object of the specified type.

An application should always replace a new object with the original, default object after it has finished drawing with the new object.


 
Ricks ©   (2007-04-16 18:24) [5]


> усилий на это нужно совсем немного.

Только время отнимает (проверено)


> homm ©

Можно писать
FillRect(DC, L, 0);
получится тоже самое.



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1185968425
Alexey 12
2007-08-01 15:40
2007.10.14
Как узнать, что файл не используется другой программой?


3-1181367762
Dmitry_177
2007-06-09 09:42
2007.10.14
какую лучше использовать базу для локального использования?


15-1189595935
S@D
2007-09-12 15:18
2007.10.14
Помогите ПЛИЗ!


2-1189961373
aha
2007-09-16 20:49
2007.10.14
Можно ли изменить цвет шрифта некоторых ячеек


2-1190096815
Kolan
2007-09-18 10:26
2007.10.14
Почему присвоение ListView.ItemIndex не отображается?