ATL/WTLプログラミング 5:スプリッタウィンドウ
ATL/WTLを利用したVisual C++のWindowsプログラミング
ダウンロード バイナリファイル (42.3 KB)
ダウンロード ソースファイル (12.3 KB)
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クラスを使用したサンプルプログラムを作成します。このプログラムは表示領域が左右に分かれている「スプリッタウィンドウ」で、左ペインはシステムで利用可能なフォントの一覧を表示し、右ペインは一覧から選択したフォントをプレビューします。

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

この記事は参考になりましたか?
- ATL/WTLを利用したVisual C++のWindowsプログラミング連載記事一覧
-
- ATL/WTLプログラミング 6:ズームスクロールウィンドウ
- ATL/WTLプログラミング 5:スプリッタウィンドウ
- ATL/WTLプログラミング 4:ダイアログリサイズ
- この記事の著者
-
この記事は参考になりましたか?
この記事をシェア
