Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

ATL/WTLプログラミング 5:スプリッタウィンドウ

ATL/WTLを利用したVisual C++のWindowsプログラミング

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2006/03/23 12:00

Windowsアプリケーションを作成するためのC++クラスライブラリといえば、Microsoftが提供するMFCが有名ですが、同社が提供するライブラリATLを利用して作成することもできます。本稿では、WTL特有のGUIであるコマンドバーや、UI更新ハンドラを利用したプログラムについて解説します。

目次

はじめに

 前回は、WTL特有の仕組みであるダイアログリサイズを利用したプログラムを作成しました。今回は、同様にWTL特有のGUIであるコマンドバーや、UI更新ハンドラを利用したプログラムについて説明します。

対象読者

 ATL/WTLによるWindowsプログラミングに興味があり、C++やWin32APIによるWindowsプログラミングの基本的な知識がある方。

必要な環境

 サンプルはVisual C++ 6.0で作成し、Windows2000で動作確認しています。

コマンドバー

 コマンドバーとは、Internet Explorerのメニューバーのようなグリップが付いていて移動可能なバーのことです。WTLはコマンドバーを作成するためにCCommandBarCtrlを用意しています。CCommandBarCtrlを使うと、メニューリソースを用意するだけで簡単にコマンドバーを作成することができます。また、画像リソースを用意すると、メニューアイテムに画像を関連付けることができます。

コマンドバー
コマンドバー

UI更新ハンドラ

 UI更新ハンドラとは、適切なタイミング(アイドル時やWM_INITMENUPOPUPメッセージが送られてきた時など)にユーザーインターフェイス(UI)の状態を更新するための仕組みです。例えば、メニューアイテムにチェックマークを入れたり、ツールバーボタンを使用不可にするときなどに使用します。WTLはUI更新ハンドラを実現するためにCUpdateUIを用意しています。

 本稿では、これらのGUIクラスを使用したサンプルプログラムを作成します。このプログラムは表示領域が左右に分かれている「スプリッタウィンドウ」で、左ペインはシステムで利用可能なフォントの一覧を表示し、右ペインは一覧から選択したフォントをプレビューします。

サンプルプログラム
サンプルプログラム

 メニューには[ビュー切り換え]があり、これを実行すると左ペインが非表示になります。再度実行すると左ペインが表示されます。

サンプルプログラム表示切り換え後
サンプルプログラム表示切り換え後

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

著者プロフィール

バックナンバー

連載:ATL/WTLを利用したVisual C++のWindowsプログラミング
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5