Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
RAD Studioニュース

RAD Studio 13 VCL の新機能トップ 13

vcl13_00

この記事は、 Marco Cantu氏によるblog記事「My 13 Top New VCL Features in RAD Studio 13」の抄訳です。

先週の「RAD Studio 13 FireMonkey の新機能トップ 13」に続き、今回は VCL ライブラリに焦点を当てたブログ記事です。新しいコンポーネントはありませんが、既存のコンポーネントに大幅な改善が加えられており、組み込みコントロールのみを使用して Windows 11 向けのモダンな外観のアプリケーションを作成することができます。

繰り返しになりますが、「新機能トップ 13」リストは、私が個人的に影響力のある変更点を選んだものです。タイトルからもわかるように、個人的なリストであるため、私が選んだもの以外にも、より興味深い新機能があるかもしれません。また、このリストは新機能に重点を置いていますが、R&D チームは多数の問題や不整合にも対処し、プラットフォーム API の統合にも取り組んできました。

VCL 1: タイトルバーのスタイル設定とコントロールの追加

RAD Studio 13 Florence の TitleBarPanel は、カスタム VCL スタイルをサポートしています。つまり、このリリースでは、タイトルバー領域にスタイルの設定されたコントロールを描画する機能が追加されました。これは、数年前に TitleBar が導入されて以来、要望の多かった機能です。

vcl13_01

さらに、タイトル バーの背景とボタンに VCL スタイルの色を自動的に使用できるようにする新しい TTitleBar.StyleColors プロパティがあります。サポート対象には、TTitleBarPanel(スタイル設定なし、およびあり)上の以下のコントロールが含まれます:TButton、TSpeedButton、TCheckBox、TRadioButton、TToolBar、TEdit、TComboBox、TFormTabsBar、さらにTActionToolBarとTActionMainMenuBar。

この機能に関するプレビューブログ記事もご覧ください。RAD Studio 13で導入予定の新機能:VCL のタイトルバーのスタイルとスクロール可能なアクションメニュー 

VCL 2: ControlList の改善

ControlList コンポーネントは、新しいタイプのホストされたコントロールである SplitButton をサポートします。これは、IDE の [GetIt パッケージ管理] ダイアログ ボックスの動作で確認できます。

これを実装するために、TControlListButton コントロールに clbkSplitPushButton スタイルと clbkSplitToolButton スタイルを追加しました。この値は、コンポーネントの Style プロパティで変更できます。 TControlListButton コントロールには、メニューを関連付ける DropDownMenu プロパティがあります。

vcl13_02

ControlList にはもう 1 つの機能強化があります。それは、グローバル コントロール ヒントではなくアイテムごとのヒントを提供する OnGetItemHint イベントと ShowItemHint プロパティです。

VCL 3: FormsTabsBar コンポーネントの改善

RAD Studio 13 Florence では、RAD Studio 12 で導入された FormsTabsBar コンポーネントにいくつかの改善が加えられています。

  • 新しい Transparent プロパティと ShowBottomLine プロパティによる透明度のサポート。
  • コントロールをより柔軟にする新しい OnGetTabCaption イベント。
  • 追加のカスタマイズのために、TabFromPoint メソッドと TabIndexFromPoint メソッドが公開されました
  • 新しい MouseMiddleButtonClose プロパティは、マウスの中ボタンでタブを閉じるオプションを提供します (デフォルトでは無効になっています)。
  • 関連して、マウス ホイール スクロールも修正されました。

vcl13_03

全体的に強化された FormsTabsBar コンポーネントとタイトルバーに表示可能な機能により、VCL ライブラリを使用して最新の UI を備えた Windows アプリケーションを構築することが非常に簡単になります。

VCL 4: EdgeBrowser

このリリースでは、Microsoft WebView 2 コントロール(Chromium ベースの Edge)へのインターフェースが WebView2 SDK バージョン 1.0.3296.44 に更新されます。
さらに、TEdgeBrowser コンポーネント(および対応するデモ)が AddWebResourceRequestedFilterWithRequestSourceKinds をサポートするように更新されました。
TEdgeBrowser は、VCL アプリケーション内で完全なプログラム制御(統合された JavaScript エンジンを含む)を備えた、統合が容易で最新の Web ブラウザを提供します。

VCL 5: WinUI 3 デモ

このリリースでは、WinUI 3 ヘッダーとスタンドアロンの WinUI 3 デモが更新されました。これらは以前は GetIt から個別にダウンロード可能でしたが、現在はコア製品のデモに統合されています。デモは以下の場所でもご覧いただけます。

https://github.com/Embarcadero/RADStudio13Demos/tree/main/Object%20Pascal/VCL/WinUI3/WinRTExample

VCL 6: ActionMainMenuBar のスクロール

TActionMainMenuBar コントロールに新しいスクロール機能を追加しました。この機能は、垂直方向の高さが画面の高さを超えた場合に有効になります。これは開発者から長年要望のあった機能ですが、基盤となる Windows プラットフォームのコントロールの制限により実装が複雑でした。

この機能の動作例を以下に示します。
vcl13_04

低解像度の画面で実行される場合、RAD Studio IDE でもこれが使用される可能性があることに注意してください。

VCL 7: 残存する Win98 コードを削除

これは些細な変更点のように見えるかもしれませんが、サポートされていない非常に古いバージョンのオペレーティングシステム固有のコードを削除することが重要だと考えています。これらのコードは VCL の負荷を高めるだけの必要のないコードだからです。これは、非常に古いバージョンの Windows で VCL アプリケーションを実行できないようにするものではなく、新しいリリースで置き換えられた、それらのバージョンの特定の機能が表示されないようにすることを目的としています。

VCL 8: TToggleSwitch コントロールの改良

ToggleSwitch コントロールの UI を改良し、Windows 11 のトグルスイッチ UI に近づけました。また、VCL の「Windows 10」ファミリーのスタイルの一部を更新し、モダンなスタイルに仕上げました。「Windows 10」という名前が付いていますが、Windows 11 もサポートしています。

下図では、デザイン時にオフとオンの状態にある、ToggleSwitch コントロールのプラットフォームとスタイルをいくつか確認できます(VCL ではデザイン時にスタイルを設定でき、同じフォームに異なるタイプで複数のコントロールを描画できることを覚えておいてください!)

vcl13_05

VCL 9: より柔軟なカテゴリボタン

CategoryButtons コントロールは、あまり使用されていませんが、非常に強力な UI 要素です。RAD Studio IDE では、例えばツールパレット(下記参照)で使用されています。TButtonItem(個々の要素)と TButtonCategory に Visible プロパティと Enabled プロパティを追加しました。

vcl13_06

VCL 10: スタイル付きアプリのフォーム境界線

これは些細な拡張のように見えるかもしれませんが、VCLスタイルを使用する場合、フォームの境界線のスタイルは実際に使用されているスタイルに依存します。新しいTStyleManager.FormBorderSizeプロパティの追加により、この目立ちやすいUI要素をカスタマイズできるようになりました。

VCL 11: カレンダー選択の変更

月間カレンダーコンポーネントでは、選択データの変更を追跡するのはこれまでずっと簡単でした。今回、TMonthCalendar.OnChange という新しい専用イベントが追加されました。このコンポーネントをお使いの方は、きっと便利に使えるでしょう!

VCL 12: TCanvas の新しいオーバーロードメソッド

TCanvas クラスは、VCL における従来の GDI グラフィックレンダリングの中核を成します。(ちなみに、VCL は Direct2D ペイントと Skia グラフィックシステムもサポートしています。)TCanvas クラスは、2 つの別々の座標ではなく、TPoint パラメーターを受け取る新しいオーバーロードメソッドを提供します。

  • AngleArc
  • Draw
  • LineTo
  • MoveTo
  • FloodFill
  • TextOut

vcl13_07

VCL 13: Splitter の追跡

Splitter コントロールは長年にわたり VCL に存在してきました。エンドユーザーが隣接する 2 つのコントロールの相対的な配置を変更できるようにするために使用されます。このコントロールには、ユーザーによるサイズ変更操作を追跡するいくつかの方法が用意されており、2 つの新しいイベントが追加されました。

  • OnBeforeResize
  • OnAfterResize

これにより、ユーザーがコントロールのサイズを変更したときに特定のロジックを適用しやすくなります。

VCLライブラリは進化を続けています

このブログ記事でご覧いただいたように、VCLは機能と品質の面で進化を続けています。RAD Studio Visual Component Libraryは、業界で入手可能なWindowsクライアントライブラリの中で、群を抜いて最高かつ最も包括的なライブラリです。コードベースの長期サポートに加え、最新のWindows APIとUI機能も採用しています。

Windowsクライアントアプリケーションを構築する場合、最小限のデプロイメントサイズ、ランタイム依存性の排除、そしてそれに伴うセキュリティリスクを考慮すると、VCLより優れたライブラリを見つけるのは難しいでしょう。

FireMonkeyとVCLについてご紹介した後は、他のRAD Studioライブラリの機能一覧を掲載したブログ記事もぜひご覧ください。

RAD Studio 13.2 Florence Now Available! Kai 1.1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES