Delphi 7以降のVCLの新機能

By: Hitoshi Fujii

Abstract: Delphi 2007 for Win32現在で、Delphi 7以降に追加されたVCLの新機能について説明します。

Delphi 7以降のVCL新機能

VCLアプリケーションはデフォルトでテーマアプリケーションになりました

すべての新しいVCLアプリケーションは、デフォルトでテーマをサポートしています。既存のアプリケーションをインポートしたときは、テーマアプリケーションの設定にはなっていませんが、[プロジェクト|オプション|アプリケーション]で、[ランタイムテーマを有効にする]をチェックすることで簡単にテーマを有効にできます。これにより、IDEは、プロジェクトリソースに、アプリケーションのテーマが適切に設定されたマニフェストファイルを追加します。

TForm.GlassFrame プロパティ

TForm には、新たに GlassFrame プロパティが追加され、フォームでVista Aeroのグラス効果を制御できます。

TTaskDialog

TTaskDialog コンポーネントを使用すれば、Vistaのタスクダイアログを利用できます。オブジェクトインスペクタから、開発者はタスクダイアログの外観を完全にカスタマイズできます。

TFileOpenDialog

TFileOpenDialog を用いれば、新しいVistaのファイルオープンダイアログを利用できます。

TFileSaveDialog  
TFlowPanel

TFlowPanel は、TPanel を継承しており、FlowStyle プロパティに基づいて、「フロー」スタイルでその上に配置されたコンポーネントをレイアウトします。デフォルトは、 fsLeftRightTopBottom で、TFlowPanel は、その上に配置されたコンポーネントを左から右へ、上から下へ、順番にレイアウトします。TFlowPanel の機能は、Webブラウザのテキストや他の表示要素のレイアウトと同じような機能を果たします。

TGridPanel

TGridPanel は、グリッド状のセル内に各コンポーネントをレイアウトするグリッドパネルを実装したコントロールです。GridPanelを用いれば、開発者は、パネルのグリッド行数と列数を指定すれば、マウスでコンポーネントをパネル上のどこに置いても、グリッドの次の空いたセルに配置されるようになります。グリッドの各セルに既にコントロールが配置されていて、それ以上のコントロールを追加しようとしたときには、新しいコントロールは、ExpandStyle プロパティに従って配置されます。例えば、ExpandStyle プロパティのデフォルト値 AddRows を指定したときには、グリッドに新しい行が追加され、行の各セルに新しいコントロールが配置されます。

TCategoryButtons

TCategoryButtons コントロールを用いれば、Delphiの新しいツールパレットのようなボタンセットを作成できます。このコントロールには、複数のカテゴリを含めることができ、各カテゴリ内に複数個のボタンを含めることができます。カテゴリの色は完全にカスタマイズ可能です。コントロールの表示はプロパティで変更できます。カテゴリは実行時に好きなように移動でき、個々のボタンをカテゴリ間で移動したりコピーすることもできます。

TDockTabSet

TDockTabSetコンポーネントについての詳細は、Jermy Northの「Using the TDockTabSet component」を参照してください。

TTrayIcon

TTrayIcon を用いれば、VCLアプリケーション用にタスクトレイにアイコンを置くことができます。このコントロールは、バルーンヒントやポップアップメニューの機能も提供します。

Intellimouseのサポート

VCLは、新たにIntellimouse APIをサポートしました。例えば、以下のように、TMemoコンポーネントで、マウスの中ボタンをクリックすれば、ユーザーは、メモの中でスクロールするためにマウスを使用できます。コードエディタもこの機能をサポートしています。

多数のRTL 関数のためのFastcodeの更新 FastCode 開発者からVCLとRTLに多くの更新が加えられています。
VCLのMargin/Padding 値 すべてのVCLコントロールに、Padding および Margin プロパティが追加されています。これら2つのプロパティは、HTMLで動作するのと同じように働きます。Padding は、コントロール自身が配置されるコンテナがとるピクセル数を、Margin プロパティは、コントロールの外にとられる余白のピクセル数を表します。
AlignWithMargins

AlignWithMargins プロパティを True に設定すると、Align プロパティは alNone 以外に設定され、コントロールは位置あわせをするときに、コンテナの Margin プロパティの値と Padding プロパティの値を考慮するようになります。

例えば、以下は、フォーム上の TPanel です。PanelAlignWithMargins プロパティは、 True に設定されており、すべての Margin の値は、20に設定されています。加えて、フォーム自身の Padding.Bottom プロパティは、30に設定されています。 

SnapBuffer/ScreenSnapプロパティ

TForm SnapBuffer および ScreenSnap プロパティは、Windowsデスクトップの端にフォームをスナップできるようになります。詳しくは、こちらのデモをご覧ください。

Rave Report Delphi 2007 for Win32には、最新バージョンの Rave Reports CodeGear Edition が含まれています。

Server Response from: ETNASC03