イルリッヒたん@Wiki
GUI関連2
最終更新:
匿名ユーザー
-
view
ウィンドウに最小化ボタンとかを付ける
<Version 0.12.0>
addWindow() で作成したウィンドウには閉じるボタンしか付いてない。
ように見えるが、実は最小化と最大化のボタンも付いている。これは、デフォで見えないようになっているだけ。
なので、getMinimizeButton やgetMaximizeButton() でポインタを取得し、setVisible() で可視状態にすればいい。
ただし、ボタンを押した時の処理は設定されていないので、イベントレシーバで拾って自前で行わなければならない。
しかし、デフォだとこれらのボタンにはIDが振られていない。そのままだと処理し辛いためsetID() でIDを付けてやると良いかもしれない。
しかし、デフォだとこれらのボタンには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 );
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