サポート > GENWARE2へのよくある質問と回答 > 購入後のお客様向けTips集 >

動的にコントロールを移動させたいのですがどうすればよいですか?

動的にコントロールを移動させたいのですがどうすればよいですか?

質問:動的にコントロールを移動させたいのですがどうすればよいですか?
回答:ボタンコントロールを右方向へ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 );
//↑※座標情報に変更に伴って、描画の更新を行う必要があります/////

ページの先頭へ