- 質問:動的にコントロールを移動させたいのですがどうすればよいですか?
- 回答:ボタンコントロールを右方向へ10ドット、下方向へ20ドット移動する場合のサンプルソースを以下に示しますので、ご参考ください。
- GButton *pButton; //ボタンコントロールのポインタ
static GRect gRect; //座標情報構造体
//ボタンコントロールのポインタを取得
pButton = (GButton*)GWGetVmt(GPanel00000_VMT,pSelf )->GetChild(
pSelf, PANEL00000_GBUTTON00000 );
//ボタンコントロールの座標情報を取得
GWGetVmt( GControl_VMT, pButton )->GetBounds( pButton, &gRect
);
//「右側へ10ドット移動」させるため、X座標を10ドット右へ移動
gRect.nXmin += 10;
gRect.nXmax += 10;
gRect.nYmin += 20;
gRect.nYmax += 20;
//座標情報をボタンコントロールへ設定
GWGetVmt( GControl_VMT, pButton )->SetBounds( pButton, &gRect
);
//↓※座標情報に変更に伴って、描画の更新を行う必要があります/////
//再描画
GWGetVmt( GBaseWindow_VMT, pSelf )->AddRefreshRect( pSelf, NULL,
0 );
//↑※座標情報に変更に伴って、描画の更新を行う必要があります/////