リボンでスピン編集を使ってみる

ここでは、MFCにおけるリボンでのスピン編集の使い方を解説します。

スピン編集を使えば、上ボタンや下ボタンにより数値の調整が可能となります。

 

まず、リボンにスピン編集をドラッグアンドドロップで追加します。

スピン編集

 

ここで

  • ID:スピン編集の名前。ここでは、ID_SPINとします。
  • PROMPT:「説明\nタイトル」で設定します。マウスのポインタを置くと、ここでの設定が表示されます。
  • Range Max、Range Min:レンジの最大値と最小値
  • Text:中身の値

とします。

 

続いて、MainFrm.cppへ移動して

CMFCRibbonEdit* pEdit;

をコメント「//CMainFrameコンストラクション/デストラクション」の直下へ追加します。

初期値を設定するため、

m_wndRibbonBar.LoadFromResource(IDR_RIBBON);

の下に

pEdit=DYNAMIC_DOWNCAST(CMFCRibbonEdit,m_wndRibbonBar.FindByID(ID_SPIN));

と記述します。これにより、ポインタが作成されたことになります。

最後に、「アプリ名View.h」に

extern CMFCRibbonEdit* pEdit;

と定義して完了です。

動作設定

では、スピン編集の動作を設定します。まず、初期設定するので、「アプリ名View.cpp」のOnInitialUpdata()メソッドへ

pEdit->EnableSpinButtons(1,100);
pEdit->SetEditText("30");

と記述します。これで、値のレンジが1から100、値が30に設定されました。

 

次に、イベントハンドラを追加します。リボンの画面で、スピン編集を右クリックして、イベントハンドラーの追加を選択します。

そして、「アプリ名View.cpp」へCOMMANDとUPDATA_COMMAND_UIイベントを追加します。

ここでは、値が変更したら、変更した値を表示するようにするので、コマンドメソッドは

CString ss=pEdit->GetEditText();
AfxMessageBox(ss);

とします。これにより、スピン編集の値が変更されると、値が表示されます。また、UPDATE_COMMAND_UIは

pCmdUI->Enable(true);

とし、常に有効にします。

 

これで一通りスピン編集の使い方がわかったかと思います。

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