Автор: cheops (08.02.2007 в 22:28)
>А.... по-понятней можно???
Дело в том, что под объекты GDI (перья, кисти, шрифты, области, растровые изображения, палитры) выделяется память, которую нужно удалять при помощи функции DeleteObject(). Если этого не делать, операционная система выделит определённо количество объектов и больше не будет ничего выдавать, пока старые объекты не будут удалены. Обычно большое количество кистей (читай цветов) не требуется - выделите несколько в главной функции WinMain() и используйте их на протяжении всей программы. Даже можно не удалять - по завершению программы, в оперативную систему будет возвращена вся оперативная память, которая использовалась программой... правда если программа выполняется долго, это может приводить к утечкам памяти, т.е. программа резервирует память под объекты, а обратно не отдаёт (особенно не приятна утечка в программа выполняющихся долгое время без перезагрузки, например в серверах).