ATL/WTLを利用したVisual C++のWindowsプログラミング
So [著] 2006/03/23 12:00

バイナリファイル 43.27 KB
ソースファイル 12.56 KB

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

1 2 3 →

はじめに

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

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

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

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

1 2 3
→
INDEX
ATL/WTLプログラミング 5:スプリッタウィンドウ
Page1
はじめに
対象読者
必要な環境
コマンドバー
UI更新ハンドラ
ATL/WTL AppWizard
フォントリストペイン
フォントプレビューペイン
メインウィンドウ
最後に
参考資料
プロフィール
So


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト