GDI + создать новый SolidBrush во всем мире

Есть ли способ создать SolidBrush глобально, или я должен клонировать существующую кисть?

Глобальная переменная:

Gdiplus::Brush* WhiteBrush;

Код области:

{
Gdiplus::SolidBrush white(Gdiplus::Color(0, 0, 0));
WhiteBrush = white.Clone();
}

1

Решение

Вы можете создать новую кисть в глобальной декларации. Он будет создан во время инициализации статического объекта во время выполнения.

#include <memory>
std::unique_ptr<Brush> WhiteBrush( new SolidBrush(Color(255, 255, 255, 255)) );

Не-умная версия указателя будет:

Brush * WhiteBrush = new SolidBrush(Color(255,255,255,255));
1

Другие решения

Других решений пока нет …