ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

実行時 ScaleBy で RadioGroup のサイズを変更 

更新 : 2014/09/11

 


解説:
オプション画面などで、コンポーネントを通常は小さく表示しておき、用途によってサイズを変えると使い勝手が良いときがあります。
配置したコンポーネントを実行時、サイズ変更するにはどうしたらよいでしょう?

C++Builder には、ScaleBy というメソッドがあって、ウィンドウコントロールとその子コントロールのサイズをスケール変更できます。
これを利用して、コンポーネントのサイズを変えてみます。

使用例:
以下の例では、数値を指定することで RadioGroup のサイズを変更しています。

準備として Label、Edit、UpDown、RadioGroup をひとつずつ適当に配置してください。
Label1 の Caption プロパティに "倍率(&S):" を入力して、Edit1 の近くに移動させます。
Edit1 の Text プロパティに "100" を設定します。
UpDown1 を Edit1 の右に移動して、Associate プロパティを Edit1、Increment プロパティを 10、
Position を 100 にしておきます。
RadioGroup1 は、Items プロパティでラジオボタンを三つ用意しておいてください。

Edit1 の OnChange イベントで、RadioGroup1 の ScaleBy メソッドを使ってサイズを変えるコードを記述します。

このままでは、続けてサイズ変更するとおかしな動きをしますので、実際には、もうひと工夫必要になります。
ここでの動きを参考にコードを追加してみてください。

//-------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
    int scaled = UpDown1->Position;
    RadioGroup1->ScaleBy(scaled, 100);
}
//-------------------------------------------------------------------
 



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.