ACT-1タブコントロール今回作成するのはコモンコントロールの1つ『タブコントロール』です。このコントロールは複数のページをウィンドウに表示することができるようにするものです。ユーザーがタブを選択すると、それぞれのページの情報が表示されるようにします。今回は、右のようなものを作成します。タブコントロールの中の表示領域に描画はしません。タブコントロールを作成して、それぞれのタブが選択されたら、通知メッセージを受け取ってその旨をメッセージで表示するようにするだけです。タブコントロールの作成手順タブコントロールの作成手順は以下のようになります。関数でコモンコントロールライブラリを初期化する。メッセージを送信し、新しいタブアイテム(ページ)を追加する。通知メッセージを設定する。メッセージを送信して、選択されたタブのインデックスを取得する。することでタブコントロールが作成できます。合わせて指定しておきます。このスタイルは、ウィンドウが子ウィンドウを持つ場合に子ウィンドウが占める領域を除外して描画するというものです。今回はタブコントロール上に子ウィンドウはありませんが、実際にタブコントロール上に描画をするときには子ウィンドウを置くことになるので、ここでも指定しておくことにします。ページの追加タブコントロールが作成できたら、新しいページ(タブアイテム)を追加していきます。メッセージをコントロールに送信します。構造体は以下のように定義されています。メンバにはタブに表示する文字列を入れた変数のアドレスを格納しておきます。メッセージを送信します。パラメータには、新しく挿入するタブアイテムの位置のインデックスを指定します。構造体のアドレスを指定します。通知メッセージ以上の操作でタブコントロールは作成できると思います。あとは、ユーザーがタブをクリックなどで選択したときに送られてくるメッセージの取得設定をします。通知メッセージを送るようになっています。メッセージの形式で送られてきます。-551このメッセージを取得できるように設定するには、以下のようにメッセージ取得設定を行ないます。通知メッセージ設定あとは、ループ中でメッセージが送られてくるのを待つのみです。以下のように代入されることになります。通知メッセージの中には選択されたアイテムについての情報が含まれていないので、どのタブアイテムが選択されたのかを自分で取得する必要があります。メッセージを送信します。関数の戻り値として選択されているアイテムの位置のインデックスが返ります。サンプルスクリプトさて、実際にスクリプトを書いてみます。"タブ"+idx+"が選択されました。returnスクリプトを実行させると、タブを選択したときにメッセージが表示されますね。負の数に定数名を定義させることができません。そこで、負の数に定数名を付けるテクニックとして、16進数で定義するというものがあります。0xFFFFFDD9とすればよいのです。16進数はWindows標準の電卓で簡単に求められます。(「電卓の種類」メニューで『関数電卓』を選択)次回は、ちょっとした裏技的手法によりタブコントロールの中に描画をしてみたいと思います。