GDI+ 全局创建新的 SolidBrush

GDI+ create new SolidBrush globally

有没有办法在全局创建一个SolidBrush,或者我必须克隆一个现有的画笔?

全局变量:

Gdiplus::Brush* WhiteBrush;

范围代码:

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

你可以在全局声明中新建一个刷子。它将在运行时静态对象初始化期间构造。

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

非智能指针版本为:

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