2016-06-21 5 views
0

私自身のクラスコンストラクタ内にGdiplus :: Fontを構築しようとしています。私は私のdrawGui.cppで、次の工法をしようと試み独自のコンストラクタ内のGdiplus :: Fontの構築

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

public: 
    drawGui(); 
    ~drawGui(); 

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

マイドロー()関数がある
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 */ } 

drawGui.h:

私のクラスは、このようになりますgetingは1秒間に1回呼び出されるので、クラスにフォントオブジェクトを格納し、draw()を呼び出すたびに再利用したいと考えています。

私はVS2015の最新バージョンを使用しています。

答えて

0

問題はGdiplusStartup()が別のクラスによって呼び出されたことでした。 Gdi +はクラスメソッドではアクティブでしたが、クラスコンストラクターではアクティブではありませんでした。

関連する問題