タイトル付きのダイアログを作成する
SFRTitleDialog クラスを使って、"my dialog"のタイトルがついたウィンドウを作成します。
SFMTYPEDEFCLASS(MyDialog) class MyDialog : public SFRTitleDialog { SFMSEALCOPY(MyDialog) public: MyDialog(Void) static_throws; virtual ~MyDialog(Void); private: // 描画ハンドラを宣言する HANDLER_DECLARE_VOIDRENDER(OnRenderContent) }; // コンストラクタ MyDialog::MyDialog() : SFRTitleDialog(SFXRectangle(20, 80, 200, 100), "my dialog") static_throws { // 描画ハンドラを登録する RegisterHandler(SREVT_RESPONDER_RENDER, SRP16_RENDER_CONTENT, HANDLER_BEFORE, HANDLER_FUNCTION(OnRenderContent))); } } // デストラクタ MyDialog::~MyDialog(Void) { return; } // 描画ハンドラ HANDLER_IMPLEMENT_VOIDRENDER(MyDialog, OnRenderContent, graphics) { // SFXGraphics インスタンスを使って描画する // ダイアログの中を紫色に設定 // GetContentWorld() はウィンドウの中の // 描画領域を表す長方形 ( SFXRectangle ) を返す // SFXRGBColor(0xD8, 0xD8, 0xFF, 0x00) : 左から R, G, B, アルファ値 graphics->FillRectangle(GetContentWorld(), SFXRGBColor(0xD8, 0xD8, 0xFF, 0x00)); // "Hello Window" を描画する graphics->DrawText("Hello Window", GetContentWorld(), SFXRGBColor(0x00, 0x00, 0x00, 0x00)); } // タイトル ダイアログを作成する MyDialogPtr dialog; dialog = new MyDialog();