イルリッヒたん@Wiki

GUI関連2

最終更新:

匿名ユーザー

- view
管理者のみ編集可

ウィンドウに最小化ボタンとかを付ける

<Version 0.12.0>


addWindow() で作成したウィンドウには閉じるボタンしか付いてない。
ように見えるが、実は最小化と最大化のボタンも付いている。これは、デフォで見えないようになっているだけ。
なので、getMinimizeButtongetMaximizeButton() でポインタを取得し、setVisible() で可視状態にすればいい。

ただし、ボタンを押した時の処理は設定されていないので、イベントレシーバで拾って自前で行わなければならない。
しかし、デフォだとこれらのボタンにはIDが振られていない。そのままだと処理し辛いためsetID() でIDを付けてやると良いかもしれない。

例:
IGUIWindow *HogeWin = Env->addWindow( rect<s32>( 280, 0, 560, 120 ), false, L"Hoge Window", 0, 110 );
IGUIButton *MaxBtn = HogeWin->getMaximizeButton();
MaxBtn->setVisible( true );
MaxBtn->setID( 20000 );

上の例ではHoge Windowという名のウィンドウを作成し、そのウィンドウの最大化ボタンのポインタを取得し、そのポインタを元に、可視状態の設定とIDの設定を行っている。

IGUIButton* getCloseButton()
閉じるボタンのポインタを取得。
IGUIButton* getMaximizeButton()
最大化ボタンのポインタを取得。
IGUIButton* getMiniimizeButton()
最小化ボタンのポインタを取得。
setVisible( visible )
GUI部品の可視状態を設定する。
bool visible true=可視 / false=不可視
setID( id )
GUI部品のIDを設定する。
s32 id 設定するID
IGUIWindow addWindow( &rectangle, modal, *text, parent, id )
ウィンドウの作成。
rect<s32> &rectangle 作成する座標(x1, y1, x2, y2)
x2,y2は幅と高さではない
bool modal trueならモーダルウィンドウになる。
wchar_t *text ウィンドウタイトルに表示する文字。
IGUIElement parent 親のポインタ。0なら親なし。
s32 id このウィンドウに設定するID


名前:
コメント:
添付ファイル
記事メニュー
目安箱バナー