Delphi 2009のVCL機能

概要: Delphi 2009のVCL機能

VCL(Visual Component Library)は、DelphiとC++Builderのビジュアル開発の基盤をなすものです。それは、膨大かつ強力なコンポーネントベースのフレームワークであり、高機能なユーザーインターフェイスを備えたWindowsアプリケーションをすばやく簡単に作成可能にしています。豊富なサードパーティコンポーネントとの組み合わせにより、VCLは文字通り、ソフトウェア開発における主要なアプリケーションフレームワークの地位を占めているといえます。

    Delphi 2009の新機能

    新しいクラスとコンポーネント

    Unicodeサポート

すべてのVCLコントロールは、Unicodeキャラクターの表示をサポートするようになりました。

Hide image
Click to see full-sized image

    リボンコントロール

Delphi 2009には、Office 2007のユーザーインターフェイスを実装したVCLコンポーネントのフルセットが含まれています。「リボンコントロール」として広く知られるこれらのコンポーネントにより、強力かつ高機能なユーザーインターフェイスの開発を可能にします。

Hide image
Ribbons

    TCategoryPanelGroup

TCategoryPanelGroupは、任意の数の折りたたみ可能なパネルを持つことのできる、Microsoft OutlookのEメールクライアントにある「Outlookバー」コントロールのような新しいVCLコントロールです。任意の数のコントロールをパネル上に配置でき、パネル自身も設定可能です。

Hide image
CategoryPanel

    TButtonedEdit

TButtonedEditは、設定可能なグリフを内部に持つエディットボックスです。グリフは、エディットボックスの右端と左端に表示されます。それぞれのグリフは、クリックイベントがあり、それぞれのグリフをクリックしたときに実行されるコードを指定できます。

Hide image
ButtonedEdit

    TBalloonHint

すべてのコンポーネントは、CustomHintプロパティを有するようになりました。これは、TCustomHintを継承した任意のコンポーネントを参照できます。VCLは、TCustomHintを継承したTBalloonHintを提供しており、タイトルやグラフィックを追加できるバルーンヒントを表示できます。

Hide image
BalloonHint

    TPNGImage

VCLは、新たに、TPNGImage クラスによってPNGイメージフォーマットをサポートするようになりました。TImageとTImageListは、いずれもTPNGImageに対応しています。

    強化されたクラスとコンポーネント

    TImageListの強化

TImageListは、TImageによって登録されたすべてのタイプのイメージを含めることができるようになりました。また、TImageListは、アルファブレンディングもサポートしています。

    TButtonの強化

TButtonは、TImageListを保持できるようになり、ボタンにイメージを表示できるようになりました。イメージは、任意の位置に合わせて配置できます。また、TButtonは、Vistaの機能であるコマンドリンクやスプリットボタンをサポートする新しいスタイルも含まれるようになりました。

Hide image
TButtonEnhancements

    TListViewの強化

TListViewでは、項目をグループで配置できるようなりました。

Hide image
Click to see full-sized image

    TTreeViewの強化

TTreeViewでは、項目が開かれているかたたまれているかによって、異なるグリフを表示できるようになりました。

    TProgressBarの強化

TProgressBarは、ポーズ、エラーを含むVistaスタイルをサポートしています。また、Vistaの機能であるマーキースクロールにも対応しています。

    TEditの強化

TEditは、「テキストTip」をサポートします。これは、コントロールに何も入力されておらずフォーカスがないときに表示されるテキストです。これは通常、ヒントを表示するために使います。例えば、「パスワードを入力してください」いったヒントが最初に表示されるようにします。TEditでは、新たにNumbersOnlyプロパティが追加され、数字のみが入力できるように設定できるようになりました。

    一般的な機能

    TForm

VCLの基本コンテナはTFormです。TFormはウィンドウのコンセプトをカプセル化したVCLクラスです。TFormには、他のコンポーネントを配置することができます。TFormは、サイズ変更可能なフォーム、サイズ固定のフォーム、ダイアログ、ツールウィンドウなどに使用できます。Microsoft Windows OSのウィンドウの標準的な動作に加え、スクロール、アルファブレンド、ドラッグ&ドロップ、透過、他のフォームやコントロールのドッキング、他のコントロールのためのヒントの表示、スクリーンスナップ、Vista Aeroインターフェイスなどをサポートしています。

    アプリケーションテーマ

VCLアプリケーションは、プロジェクトオプションの簡単な設定で自動的にテーマをサポートすることができます。

このオプションを設定すれば、IDEは自動的に必要なテーママニフェストを対象のプロジェクトのリソースに追加するので、テーマアプリケーションとして実行されます。

Hide image

    Vistaサポート

    Vista Aeroのサポート

VCLでは、自動的にVista Aeroユーザーインターフェイスをサポートします。

フォームには、GlassFrameプロパティがあり、VCLアプリケーションをAeroインターフェイスのグラス機能を使って表示します(下図参照)。

Hide image

    Vistaダイアログのサポート

Windows Vistaの新しいダイアログをサポートするコンポーネントを搭載しています。また、Vista環境では、既存のダイアログをVistaダイアログとして表示するオプションを選択することもできます。

Hide image

Hide image

    マージンとパディング

AlignWithMarginsプロパティをTrueに設定してAlignプロパティをalNone以外に設定していると、コントロールは、位置合わせを行うときに、そのコントロール自身のMarginプロパティと、そのコントロールが配置されているコンテナのPaddingプロパティに従って配置されます。

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

Hide image
 

    IntelliMouseのサポート

VCLでは、マウススクロールをサポートしているすべてのコンテナクラスで、IntelliMouseスクロールに対応しています。

以下は、TMemoコントロールでIntelliMouseサポートを動作させているところです。

Hide image

    コンポーネント

    レイアウトコンポーネント

VCLには、フォーム上にビジュアルコンポーネントをレイアウトするためのいくつものコンポーネントがあります。

    TPanel

TPanelコンポーネントは、他のコンポーネントをその上に配置できるフォーム上の一定領域として使うシンプルなコンテナコンポーネントです。

Hide image

    TSplitter

TSplitterコンポーネントは、クライアント領域をサイズ変更可能な2つの領域に分割するために使います。

以下は、Splitterコントロールをフォーム上を3つのサイズ変更可能な領域に分割するために使った例です。

Hide image

    TGridPanel

TGridPanelは、各コンポーネントをグリッドで区切られたセル上に配置するグリッドパネルコントロールです。グリッドパネルを用いれば、パネル上に複数行、複数列の領域を設定して、マウス操作で位置を指定する代わりに、各コンポーネントを順番にセル上に配置させることができます。もしグリッドの各セルにコントロールが配置されており、さらに新しいコントロールが追加されたときには、ExpandStyleプロパティの設定によって新しいコントロールの位置が決まります。例えば、例えば、ExpandStyle プロパティのデフォルト値 AddRows を指定したときには、グリッドに新しい行が追加され、行の各セルに新しいコントロールが配置されます。

Hide image

    TFlowPanel

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

Hide image

    TTrayIcon

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

Hide image

    ActionList/ActionManager

Actionは、ユーザー定義のコマンドを扱う非ビジュアルコンポーネントです。Actionを使えば、コマンドに関連するすべてのユーザーインターフェイスプロパティ、例えば、コマンドを実行するのに必要なコード、イメージ、コマンドに結び付けられたショートカットなどを一箇所で集中管理できます。

ActionManagerとあわせてActionを使うことで、強力かつ柔軟なユーザーインターフェイスを作成できます。ActionManagerは、ユーザーカスタマイズが可能なツールバーの作成も可能にします。

ActionListコンポーネントには、標準コマンドやユーザー定義のコマンドのリストを含めることができます。

ActionManagerは、コマンドを管理するために使います。また、ActionMenuBarsやActionToolBarsに簡単に追加することができます。ActionManagerは、「ファイル」「編集」「検察」といったメニュー構造の標準アクションの完全なセットも含まれています。

以下は、ActionManagerコンポーネントをImageListコンポーネントと組み合わせて使っているアプリケーションの設計時の例です。

Hide image
Click to see full-sized image

    Windowsコモンコントロールのサポート

VCLでは、すべての標準Windowsコモンコントロールをラップしたコンポーネントを提供しています。

Hide image
Click to see full-sized image

    標準Windowsコントロールコンポーネント

VCLでは、すべての標準Windowsコントロールをラップしたコンポーネントを提供しています。

Hide image
Click to see full-sized image

    Windowsダイアログコンポーネント

VCLでは、標準Windowsダイアログを極めて簡単に利用できるようにする強力なコンポーネントセットを提供しています。標準ダイアログに加え、検索、置換ダイアログや、色選択ダイアログ、印刷ダイアログなども含まれます。

Hide image
Click to see full-sized image

さらに、VCLでは、TTaskDialogなど、VistaベースのWindowsダイアログもサポートしています。

    その他のコンポーネント

VCLには、高度なユーザーインターフェイスの構築を飛躍的に簡単にする豊富なコンポーネントセットが含まれています。イメージの表示、ボタンへのイメージの配置、色の選択、リストボックスでの項目のチェック、入力ボックスでのフィルターや入力制限、コントロールバーの追加、カテゴリー分けされたグループボタン、色設定などを個別に行えるツールバーなど、豊富なコンポーネントが用意されています。

Hide image
Click to see full-sized image

    データベース対応コンポーネント

VCLには、データベース対応コンポーネントセットが含まれており、ユーザーインターフェイスの一部として、データベースデータを表示・編集できます。

Hide image

    インターネットコンポーネント(Indy)

RAD Studioには、Internet Direct (Indy)と呼ばれる、コンポーネントによってソケットベースの通信をサポートした豊富なコントロールセットが含まれています。Internet Directでは、HTTP、NNTP、TCP、UDP、FTPなどの主要なインターネットプロトコルをサポートしたコンポーネントを提供します。

Internet Directは、Delphiコミュニティによるオープンソースプロジェクトのひとつです。

 
Copyright© 1994 - 2010 Embarcadero Technologies, Inc. All rights reserved. お問い合わせ   サイトマップ   法的通知   個人情報取り扱いの方針   著作権侵害について