SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

サイドキャプション付きメニューを持ったWindowsフォームを作る

ComponentOne Studio 2010のC1MainMenuコントロールを使った.NETアプリケーションの作成

  • このエントリーをはてなブックマークに追加

C1MainMenuコントロールについて

 C1MainMenuコントロールは、Windowsフォームにメインメニューを表示するためのコントロールです。フォームに配置するとWindowsの通常のメインメニューと同様に、フォーム上部の横幅全体にメニューが配置されます。

C1MainMenuコントロールの概要

 メニューの第一階層はメインメニューとなり、その下層にサブメニューやメニューコマンドがトレイ状に配置されます。

 C1MainMenuコントロールにメニューを設定するには、専用のエディタを使用します。ここには、よく利用する一般的なメニューがあらかじめ用意されており、リストから選択するだけですぐに使えるようになっています。このメニューには、既にアクセスキーやショートカットキーが設定されており、アイコンまで備えているものがあります。もちろん、メニューは独自にカスタマイズすることもできます。

メニューとコマンドを設定するエディタ
メニューとコマンドを設定するエディタ

 また、C1MainMenuコントロールには「サイドキャプション」機能があります。これは、メニューコマンドにラベルを付けるような機能で、メインメニューでは説明しきれない内容をキャプションで表示することが可能です。背景色をカスタマイズできる機能も持っており、よりユーザーフレンドリーなメニューを作成できます。

サイドキャプションをメニューコマンドに設定できる
サイドキャプションをメニューコマンドに設定できる

 さらに、C1MainMenuコントロールには任意のコントロールを、メインメニューエリアに組み込むことができます。ボタンなどと組み合わせれば、メニューとツールバーを合体したようなUIを実現することもできます。

チェックボックスをメインメニューに組み込んでいる
チェックボックスをメインメニューに組み込んでいる

C1MainMenuコントロールの構成オブジェクト

 C1MainMenuコントロールは、次の図のように複数のオブジェクトから構成されています。

各部の名称と構成オブジェクト
各部の名称と構成オブジェクト

 C1MainMenuコントロールは、ベースに「C1CommandLink」というオブジェクトがあります。このオブジェクトは、C1Commandコンポーネントへのリンクとして機能します。このオブジェクトの上に、「C1Command」「C1CommandMenu」などのオブジェクトが配置されます。メニュー構築作業では、このオブジェクトを意識する必要はありません。

 メインメニューは「C1CommandMenu」オブジェクトで、メニュー項目を表すコマンドリンクのコレクションを保持します。

 メインメニューの下層に、サブメニューやメニューコマンドが配置されます。これらは「C1Command」というオブジェクトで表されます。各メニューコマンドをクリックしたときのデフォルトのイベントは「Click」です。処理を実行させたいときは、このイベントハンドラを利用します。

 メインメニューに配置された任意のコントロールは「C1CommandControl」オブジェクトの上に配置され、C1MainMenuコントロールと任意のコントロールを関連付けます。各コントロールがクリックされた時の処理は、それぞれのコントロールのイベントハンドラを利用します。

次のページ
フォームの作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5776 2011/03/01 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング