MFCでリボンを使ってみる

タイトルに「リボン」とありますが、女性がつけるリボンのことではありません。

下のように、エクセルやワードにあるボタンなど多くの機能をまとめたものを「リボン」といいます。

スクリーンショット_091413_032503_PM

「切り取り」「貼り付け」など多くの操作をこの「リボン」でまとめて記述できます。

こんなプログラムをMFCで簡単に作ることができます。その方法をここではお教えします。

プロジェクトをつくる

まず、プロジェクトをつくります。とりあえずここではシングルドキュメント形式でプロジェクトをくります。

スクリーンショット_091413_032406_PM

そして、ユーザー インターフェイス機能の部分の「リボンの使用」をチェックします。

これで、「リボン」が使えるようになります。

スクリーンショット_091413_032855_PM 

あと、ペインは使わないのでチェックを外しておきます。

スクリーンショット_091413_033247_PM

リソースでリボンを編集

リソースからリボンを編集できます。

スクリーンショット_091413_033455_PM

ここで、「IDR_RIBBON」をダブルクリックします。すると、以下のような画面がでてきます。

スクリーンショット_091413_033646_PM

すでに、「貼り付け」や「切り取り」などのボタンや、「ステータスバー」のようなチェックボックスがありますね。

これらの項目を消したい場合は、「右クリック->削除」でOKです。

そして、項目を追加したい場合は、「ツールボックス」からドラッグアンドドロップで追加できます。

スクリーンショット_091413_033955_PM

すると以下のようにボタンが追加されます。

スクリーンショット_091413_034100_PM

「Button1」が気になる場合は、「プロパティ」で変更できます。

基本的に以下の項目をよく変更します。

  1. Caption:「Button1」のことで、ボタンの表示文字を記述します。
  2. ID:ボタンの名前です。覚えやすい名前を付けましょう。
  3. Image Index:切り取りのハサミ画像のように小さい画像を設定します。
  4. Large Image Index:貼り付けの画像のように大きい画像を設定します。
  5. Prompt:ボタンを合わせた際の説明を表記します。「説明…\nタイトル」というように、\nで説明とタイトルを区切ります。\nがないと表示されないので注意しましょう。

イベントの使い方

ボタンをクリックした際の操作をプログラムする方法を紹介します。

ボタンを押した際の動作

まず、イベントを発生させたいボタンを右クリックします。

そして、「イベントハンドラーの追加」を選択します。すると以下のような画面が表示されます。

スクリーンショット_091413_035033_PM

ここでは、クラスを「CTestView」、メッセージの種類を「COMMAND」を選択します。

ちなみに、メッセージの種類の意味は以下のようになります。

  1. COMMAND:ボタンを押した際の動作を記述します。
  2. UPDATE_COMMAND_UI:ボタンを有効にするかどうかを記述します。

あとは、「追加して編集」を選択して、ボタンを押した際の動作を記述できるようになります。

ボタンの有効化処理

ボタンを押してほしくない場合があります。

そのような場合はボタンの有効化を設定します。

まず、ボタンを右クリック、イベントハンドラーの追加を選択します。

そして、先ほどではCOMMANDでしたが、今回は「UPDATA_COMMAND_UI」を選択します。

あとは以下のようにソースを記述します。

 

pCmdUI->Enable(TRUE);

 

これで、ボタンは常に使えるようになります。もし、使えなくしたいならTRUEをFALSEにしましょう。

条件で使えるかどうかを変えたいなら、if文などを使ってプログラムを作成してみてください。

カテゴリーやパネルを増やす

カテゴリーの設定

「ホーム」だけでなく、他にカテゴリを増やしたい場合があります。

スクリーンショット_091413_033646_PM

その際の操作は簡単で、ツールボックスからカテゴリーを追加します。

追加したら、プロパティを変更しましょう。プロパティの意味を以下に羅列します。

  1. Caption:「ホーム」のようなカテゴリの表示文字を表記します。
  2. Large Images:カテゴリ内の要素(ボタンなど)で使用できる大きい画像(例:貼り付けの画像)を選択します。
  3. Small Images:カテゴリ内の要素で使用できる小さい画像(例:切り取りの画像)を選択します。

パネルの設定

「クリップボード」や「表示」のようなパネルの追加方法を紹介します。

といっても簡単で、「ツールボックス」からドラッグアンドドロップで追加できます。

表記文字に関しては、「プロパティ->Caption」を変えればOKです。

 

MFCの画像を変えたい

MFCの画像が気になる人も多いかと思います。

この画像を変えるには、プロジェクトのフォルダ内になる「resフォルダ」内の「○○○.ico」を置き換えればOKです。ここで、○○○はプロジェクト名を記述されています。

最後に

最後までお読みいただきありがとうございます。

MFCのリボン機能はいかがだったでしょうか?

リボンを使えば、すごく簡単で使いやすく、さらに、きれいな画面でプログラムをつくれます。

今回は、ボタンの使い方を中心に説明しました。

ボタン以外にもチェックボックスなど様々な機能があります。これらの機能についても今後解説していく予定です。

著者:安井 真人(やすい まさと)