2025/05/25 電子書籍「Markdown記法大全+Pandoc変換マスター: 初心者から脱却!HTML・PDF・電子書籍を自在に出力する方法」を出版

TCategoryButtons(VCL)コンポーネント

C++Builder

VCL ライブラリに含まれる TCategoryButtonsコンポーネントは、ボタンをグループ(カテゴリ)ごとに整理して表示できる便利なコントロールです。

以下のような、Outlook のナビゲーションバーや、ツールのパレットのような UI を簡単に作成できます。

主な特徴

  • カテゴリ管理: ボタンを Categories という単位でグループ化し、それぞれに名前(Caption)を付けられます。
  • 折りたたみ機能: 各カテゴリは展開・折りたたみが可能です。
  • 柔軟なレイアウト: ボタンのサイズ、アイコンの有無、テキストの表示位置などを細かく設定できます。

基本的な構成要素

このコントロールは主に 2 つの階層で構成されています。

  1. Categories: TButtonCategories コレクション。グループそのもの。
  2. Items: TButtonItem コレクション。カテゴリ内にある個々のボタン。

基本的な使い方

「ファイル」->「新規作成」->「Windows VCL アプリケーション – C++Builder」で、空のプロジェクトを作成します。

使用するコンポーネントのDrop

TCategoryButtonsTImageListコンポーネントをフォームにDropします。

TImageListへの画像の追加

TImageListへ画像を追加します。ImageList1をダブルクリックし、「追加」ボタンから画像を追加します。

ここでは、以前のバージョンの「Borland Shared\Images\Buttons\」内の画像を追加しています。

ButtonCategoriesの追加

CategoryButtons1(TCategoryButtons)を右クリックして表示されるポップアップメニューの「カテゴリエディタ」をクリックします。

「追加」ボタンをクリックしてButtonCategoriesを追加します。ここでは、2つのButtonCategories追加しています。

「Caption」プロパティで、表示するカテゴリ名を設定します。

ボタンの追加

TButtonCategories」のItemsピロパティの「…」か、Itemsを右クリックして表示されるポップアップメニューの「項目の追加」ボタンをクリックしてボタンを追加します。

ここでは、「テスト1カテゴリ」の3個、「テスト2カテゴリ」に5個のボタンを追加しました。

ボタンへのアイコンの設定

各ボタンにアイコンを設定してみましょう。先程、画像を追加した「ImageList1」を、「CategoryButtons1」の「Images」プロパティに設定します。

次に、画像を設定するボタン(Items)を選択後、そのImageIndexプロパティに「ImageList1」の画像番号を設定します。

boVettialCategoryCaptionsプロパティ

CategoryButtons1のButtonOptions内の「boVettialCategoryCaptions」プロパティを「False」に設定するとカテゴリ名が1行で表示され、その下にボタンが表示されるようになります。

boFullSizeプロパティ

CategoryButtons1のButtonOptions内の「boFullSize」 を 「True」 にするとボタンがカテゴリの横幅いっぱいに広がり、最近のアプリらしいサイドバーメニューのような外観になります。

その他のプロパティ

以下のプロパティで、動作時の色を設定ですます。

HotButtonColorマウスオーバー時の色
SelectedButtonColor選択時の色

イベント処理

OnButtonClicked

CategoryButtons1コンポーネントの「OnButtonClicked」は、ボタンがクリックされた時に発生します。どのボタンが押されたかは引数の ButtonItem で判別します。

OnClickイベント

個々のボタンの「OnClick」イベントを使用することで、そのボタンが押されたときのイベント処理も可能です。

実行画面

以下、実行画面です。

プロジェクのソースコード

プロジェクのソースコードは、以下からD/Lできます。

TCategoryButtonsのサンプルプロジェクト
タイトルとURLをコピーしました