在自己的构造函数中构造 Gdiplus::Font

Construction of Gdiplus::Font in own Constructor

我正在尝试在我自己的 Class 构造函数中构造一个 Gdiplus::Font。

我的 Class 看起来像这样:

drawGui.h:

class drawGui {
private:
     Gdiplus::Font* font; // Better would be std::unique_ptr<Gdiplus::Font>

public:
    drawGui();
    ~drawGui();

    void draw(Gdiplus::Bitmap* image);
};

我在drawGui.cpp中尝试了以下构造方法:

drawGui::drawGui() { 
    Gdiplus::Font fontBuffer(L"Arial", 12);
    font = fontBuffer.Clone(); // Exception
}

drawGui::drawGui() { // Compiles but font == NULL
    font = new Gdiplus::Font(L"Arial", 12);
}

drawGui::~drawGui() {
    delete font;
}

void drawGui::draw(Gdiplus::Bitmap* image) { /* Draw the Font onto an Image */ }

我的 draw() 函数每秒被调用一次,所以我想将字体对象存储在我的 class 中,并在每次调用 draw() 时重复使用它。

我使用的是最新版本的VS2015

问题是 GdiplusStartup() 被另一个 class 调用了。 Gdi+ 在我的 class 方法中很活跃,但在 class 构造函数中没有。