VCL と FireMonkey のよくある違い

提供: RAD Studio
移動先: 案内検索

GUI アプリケーション フレームワーク への移動


FireMonkey は表面的には VCL コンポーネントを使用したアプリケーションの開発 にある程度似せて設計されていますが、細かい違いがたくさんあるため、VCL に慣れ親しんでいる開発者がつまずくおそれがあります。このトピックでは、これらの違いをいくつか説明します。

アクション

VCL アクションとは異なり、FireMonkey アクションではアクション マネージャをサポートしていません。そのため、VCL のアクション マネージャ エディタを使用して FireMonkey アクションを管理することはできません。

チェック ボックス

FireMonkey のチェック ボックスでオン/オフ状態の変化に対応するには、OnClick イベントではなく OnChange イベントを使用します。状態を表すプロパティは IsChecked であり、VCL の場合の Checked ではありません。

親子関係

VCL でオブジェクトを他のコンポーネントの親にするには、TFormsTFramesTPanels、およびデータ モジュールを使用するしかありませんでした。FireMonkey では、どのオブジェクトでも他の任意のオブジェクトの親にすることができます。この関係は[構造]ビューで簡単に設定できます。

FireMonkey では、色には、RGB に加えてアルファ(不透明度)成分もあります。色は、TAlphaColor および TAlphaColorRec というシステム型で表されます。FireMonkey では、System.UIConsts ユニットの色定数を使用します。これらの色定数の名前の先頭には、"cl" ではなく "cla" が付きます。「VCL における色」も参照してください。

コントロールの位置

VCL コントロールの位置は、Top プロパティと Left プロパティで表されます。

FireMonkey コントロールでは、TPosition 型の Position と、そこにネストした X プロパティおよび Y プロパティを使用します。3D コントロールの Position プロパティは TPosition3D のインスタンスで、Z 座標が追加されます。FireMonkey では、サイズを表すのに Width および Height(3D コントロールの場合には Depth も)を使用します。

データベースのグリッド イベント

VCL の OnDrawDataCellOnDrawColumnCell のイベントは、FireMonkey では LiveBinding を使った TStringGrid に置き換えることができます。

表示テキスト

FireMonkey のラベルに表示されるテキストは、ラベルの Text であり、VCL の場合の Caption ではありません。

フォント サイズ

VCL では、フォント サイズはポイント(1 論理インチが 72 ポイント)単位で表されます。

FireMonkey では、フォント サイズはデバイス非依存ピクセル(DIP。1 論理インチが 96 DIP)単位で表されます。

そのため、同じ Font.Size を使ったテキストでも、FireMonkey の方が小さくなります。

マスク編集

VCL の TMaskEditTEdit は、FireMonkey では TEdit とその Password プロパティを使って実装できます。

ラジオ ボタンとラジオ グループ

VCL の TRadioGroup を FireMonkey に変換するには、TPanel または TGroupBox を使用できます。

メモ: FireMonkey では、ラジオ ボタンという項目は TPanel ではサポートされていません。

VCL のラジオ ボタンは、TGroupBox ごとに独立しています。複数の VCL TGroupBox を FireMonkey TGroupBox に変換すると、それらに含まれるラジオ ボタンはすべて互いに依存したものになります(1 つのグループ内で何かを選択すると、他のグループで選択されていたものがクリアされます)。FireMonkey でも独立したものにするには、変換後の TRadioButton それぞれの GroupName プロパティを手動で指定する必要があります。

関連項目