ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

フレーム付きのウィンドウを作成する

SFRFrameWindow クラスを使って、フレーム付きのウィンドウを作成します。

SFMTYPEDEFCLASS(MyWindow)
class MyWindow : public SFRFrameWindow {
    SFMSEALCOPY(MyWindow)
public:
    MyWindow(Void) static_throws;
    virtual ~MyWindow(Void);
    
    // 描画ハンドラを宣言する
    HANDLER_DECLARE_VOIDRENDER(OnRenderContent)
};

// コンストラクタ
MyWindow::MyWindow(Void) : SFRFrameWindow(SFRApplication::GetInstance(),
    SFXRectangle(20, 20, 200, 250)) 
{
    // 描画ハンドラを登録する
    RegisterHandler(SREVT_RESPONDER_RENDER, 
                    SRP16_RENDER_CONTENT,
                    HANDLER_BEFORE, 
                    HANDLER_FUNCTION(OnRenderContent));
    return;
}

// 描画ハンドラ
// 第 1 引数 : 所属クラス、第 2 引数 : ハンドラ名、
// 第 3 引数 : SFXGraphics インスタンス
HANDLER_IMPLEMENT_VOIDRENDER(MyWindow, OnRenderContent, graphics)
{
    // SFXGraphics インスタンスを使って描画する
 
    // ウィンドウの中を紫色に設定する
    // GetContentWorld() はウィンドウの中の
    // 描画領域を表す長方形 ( SFXRectangle ) を返す
    // SFXRGBColor(0xD8, 0xD8, 0xFF, 0x00) : 左から R, G, B, アルファ値
    graphics->FillRectangle(GetContentWorld(), 
                            SFXRGBColor(0xD8, 0xD8, 0xFF, 0x00));

    return;
}

// フレーム ウィンドウを作成する
MyWindowPtr window;
window = new MyWindow();