![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |
例 14.49. リスト表示
SFXRectangle rectangle(30, 50, 120, 150); SFXGraphicsPtr graphics = SFXGraphics::GetInstance(); // 外枠を描画する : SFXRGBColor で色を指定する graphics->DrawRectangle(rectangle, SFXRGBColor(0x00, 0x00, 0x00, 0x00)); // 外枠を上下左右 1 ずつ縮小する rectangle.Deflate(1, 1); // 高さをフォントの高さに設定する rectangle.SetHeight(graphics->GetFontHeight()); // リストに表示する文字列 SFXAnsiString stringArray[] = {"C++", "java", "perl", "ruby", "python", "haskell"}; SInt32 i; for (i = 0; i < lengthof(stringArray); ++i) { if (i % 2 == 0) { // 奇数行のとき // 塗りつぶした長方形を描画する graphics->FillRectangle(rectangle, SFXRGBColor(0xFF, 0xAA, 0xBB, 0x00)); } else { // 偶数行のとき // 塗りつぶした長方形を描画する graphics->FillRectangle(rectangle, SFXRGBColor(0xDD, 0xDD, 0xFF, 0x00)); } // テキストを描画する : 場所を SFXRectangle で指定する graphics->DrawText(stringArray[i], rectangle, SFXRGBColor(0x00, 0x00, 0x00, 0x00)); // 長方形を下に移動する rectangle.AddY(rectangle.GetHeight() + 2); }
![]() |
複数の描画 |
|---|---|
長方形を移動する関数 (SFXRectangle::AddY 関数) を for 文の中で使うことで、 複数の同じサイズの長方形の描画をシンプルに記述できます。 | |
例 14.50. レスポンダの配置
SFXRectangle rectangle(20, 40, 100, 0); // 長方形の高さをフォントの高さに設定する rectangle.SetHeight(SFXGraphics::GetFontHeight(AEE_FONT_NORMAL)); // ボタンを作成する new SFRButtonControl(this, rectangle, "button1"); // 右に 30 ピクセル、下に 40 ピクセル移動する rectangle.Offset(30, 40); // ラベルを作成する new SFRLabelControl(this, rectangle, "label1"); // 左に 30 ピクセル、下に 40 ピクセル移動する rectangle.Offset(-30, 40); // ボタンを作成する new SFRButtonControl(this, rectangle, "button2"); // 幅を 30 ピクセル広げ、Y 座標の値に 40 ピクセルを加算し、Y 軸方向に上下 5 ピクセルそれぞれ広げる rectangle.AddWidth(30).AddY(40).Inflate(0, 5); // テキストボックスを作成する new SFREditboxControl(this, rectangle, "textbox");
![]() |
注意 |
|---|---|
レスポンダの位置や移動、サイズ変更は SFXRectangle クラスのメンバ関数を使って指定します。 | |
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|