GDI +全球创建新的SolidBrush

时间:2016-09-06 11:59:36

标签: c++ initialization global-variables gdi+ brush

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

全局变量:

Gdiplus::Brush* WhiteBrush;

范围代码:

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

1 个答案:

答案 0 :(得分:1)

您可以在全局声明中刷新画笔。它将在运行时静态对象初始化期间构建。

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

非智能指针版本将是:

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