Version 3.13
プロパティとスタイルそしてタブオーダー
「今回はこまごまとしたことを見ていきましょう」
『つまりプロパティとスタイルとタブオーダーってのってことね。でもプロ
パティって、いつも見てる右クリックメニューで出すヤツでしょ?』
「そうそう。たとえばダイアログそのものを右クリックして……」
『ダイアログそのものって?』
「つまりエディットボックスとかじゃなくてってこと」
『あー。で、プロパティ?』
「そうそう。その【一般】のページの【キャプション】ってあるでしょ」
『Calc って書いてあるね。あ、確かこれ、ダイアログのタイトルなんだよ
ね』
「あ、そういえば前に言ったか」
『想い出帳によると Ver 1.5( No.008 )に書いてあるって』
「なにその想い出帳って」
『じゃーこれ〈計算機〉にすればいーんだよね』
「ま、そんな感じかな」
『他に……IDはダイアログの名前とかなんだよね』
「そうそう。エディットボックスにも着けたでしょ?」
『IDC_E_LH とかね。メニューって?』
「ダイアログに着けるメニュー」
『あー、右クリックの』
「じゃなくて、ちゃんとしたメニュー」
『……?』
「つまり、ダイアログのタイトルバーの下に、メニューを着けることができ
るの」
『……なんかそれ変!! だってそんなの見たことないもん』
「たとえばねぇ、ウィンドウズの〈検索ダイアログ〉とか」
『あ、そういえば……』
「って言ってもやっぱりそんなにあるもんでもないし、あんまり使わない方
がいいかもね」
『でも、使ったって問題ないんだよね』
「まーね。推奨はしない、ってとこかな」
『あと……フォントは? 変えなくて大丈夫?』
「そうだね、今のたいがいのアプリでも、サイズが9のMS Pゴシックが
よく使われているみたいだね」
『さっきのメニューもそうだけど、〈他がそうだから〉って変くない?』
「確かにね。別に正式なドキュメントがあるわけじゃないから適当でもいい
んだけど、でもダイアログってユーザーに使いやすいようにすべきだと思う
し」
『だから右へならえ?』
「ってこと。理想は【画面のプロパティ】で変えられたらいいんだけどね。
あ、この前話した【大きいフォント】とかで一応変えられるかな」
『一応ねー。でもはみ出たりするんでしょ〜』
「ま、プログラミングは意外と曖昧なところが多い、ってとこかも」
『なんかなー。次は?』
「次は【スタイル】のページ見て」
『ん? なんかよく分かるような分かんないような……』
「一番右下の【垂直スクロールバー】っていうのチェックして」
『チェック……げ、ダイアログにスクロールバーできた。すごく変!』
「ダイアログもウィンドウの一種だから、こういうことができる、ってとこ
かな」
『なーんか混乱してきたかも……』
「今回は、とりあえず〈自由度の高さ〉っていうものを感じてくれればいい
かな」
『つまりダイアログにメニューやスクロールバー着けられるくらい自由度が
高い、と』
「推奨はしないけど、ね。で、このスタイルってものについてもうちょっと
見ておこうか。まず Spy++ を起動して」
『あ、ウィンドウハンドル見たのだよね。えっと、メニューの【ツール】
−【Spy++】っと。うん、起動したよ』
「そしたら Calc ダイアログをテスト動作させてみて」
『テスト動作ってなんだっけ』
「ほら、ハンコみたいなボタン押すの」
『あー、テスト動作用のね。あたしやっぱこれデッキブラシに見える……』
「いーから押すの」
『はーい。あ、こっちにも縦のスクロールバー付いてる……』
「そしたら Spy++ のメニューから【スパイ】−【ウィンドウ検索】を選ん
で」
『これは初めてのだよね。ダイアログ出たよ。なんか変な丸が付いてるけど』
「その丸を、Calc ダイアログにドラッグしてみて」
『ドラッグ! あ、ダイアログに黒い枠がついた』
「この前使ったときはツリーから探したけど、この検索機能を使うと〈今見
えているウィンドウ〉を選択できるから、こっちの方がよく使うと思うよ」
『なら最初に言えって。でも変くない? エディットボックスとかボタンと
かも黒い枠つくよ』
「実はね火美ちゃん、そういうのもぜーんぶウィンドウの一種なんだよ」
『ウソよそんなのとかいーたいけどまー水希ちゃんがゆーんだからそうなん
だろうけどねー。なんか謎って感じ』
「この辺はウィンドウズの仕組みそのものだからね。これはまた今度、しっ
かり勉強するとして、今は Calc ダイアログ全体が黒枠に覆われるようにし
て」
『はーい。そしたら OK ボタン?』
「そ。Calc ダイアログの方押さないようにね」
『おおっと』
「……」
『えっと、ダイアログが【ウィンドウプロパティ】っていうのになったよ。
プロパティって言うからには、やっぱいろんな設定があるってこと?』
「そういうこと。たとえば【一般】のページの」
『キャプションがダイアログタイトルと一緒だね。あ、ハンドルも書いてあ
る。ウィンドウ……ぷろっく?』
「Proc は〈プロシージャ〉って読むの。これはまだ先」
『あっそ。矩形って、もしかしてダイアログの位置とかサイズとか?』
「そうだよ。これは実際にダイアログを移動させてみれば分かるかな。で、
次の【スタイル】ってページ見て」
『を”、この【スタイル】って名前がいかにもって感じ。……でもよくわか
んない』
「上のに【ウィンドウスタイル】ってあって、その中に WS_VSCROLL って書
いてあるでしょ」
『……もしかしてこれって〈ウィンドウスタイル・バーチカルスクロール〉
って意味?』
「ご名答! というわけで、【ウィンドウプロパティ】ダイアログと Calc
ダイアログを閉じて」
『ダイアログふたつとも閉じて?』
「そしたら Calc ダイアログのプロパティで【垂直スクロールバー】の
チェックを解除して」
『あ、分かってきたかも。右クリックメニューから【プロパティ】、【スタ
イル】のページで【垂直スクロールバー】をオフ。で、さっきと同じことす
んでしょ?』
「そういうこと。まず Calc ダイアログをテスト表示させて、 Spy++ の
【ウィンドウ検索】でプロパティを表示、で、【スタイル】ページの【ウィ
ンドウスタイル】を見ると……」
『 WS_VSCROLL がなくなってる! つまり……どういうこと?』
「つまり、ウィンドウにはウィンドウスタイルっていう設定があるってこと」
『??』
「ウィンドウがウィンドウズのものってことは言ったでしょ」
『うん、借り物で、ハンドル使って操作するんだよね』
「ってことは、ウィンドウの現在位置やサイズ、ウィンドウタイトルとかも
ウィンドウズが管理してるってこと」
『あ、だからAPI使ってそういうの操作できるんだ。もしかして、そうい
うののひとつが、ウィンドウスタイルってこと?』
「そういうこと。ウィンドウのデータの中にウィンドウスタイルっていうも
のがあって、その設定でウィンドウの形が決まるってことかな」
『それを、右クリックのプロパティで変えられるってことねー』
「重要なのは、ウィンドウスタイルはウィンドウズのものってことかな」
『どゆこと?』
「つまり、VC以外のアプリを作るツールでも決められるってこと。VCだ
けが持ってる特別な機能じゃない、ウィンドウズそのものの機能ってことだ
ね」
『うーん、分かるような、分かんないような……』
「ま、これもまだ先の話かも。今は〈感じ〉が分かればいいかな」
『そういうのって大事?』
「大事。こういうのの積み重ねが、本当の実力を着けてくれるって僕は思う
から」
『ふーん』
「信じられてないな……」
『で、次は?』
「あ、えーと、今日最後は〈タブオーダー〉について」
『たぶおーだー?』
「訳せば〈タブの順番〉ってとこかな?」
『タブって?』
「タブキーのこと。とりあえず、ダイアログをテストモードにして」
『デッキブラシっと』
「そしたらタブキーを押していって」
『うん、ボタンとかエディットとかにカーソル移るよね。あ、この移る順番
がそのタブオーダーってゆーの?』
「そういうこと。今の状態だと、最初は【OK】ボタンになってたけど、火美
ちゃんはどこに合わせるのがいいと思う?」
『やっぱ最初は IDC_E_LH のエディットボックスよね。そのあと IDC_E_RH 、
で【=】ボタン、って感じかな』
「じゃあそうセットしてみましょう。まずテストダイアログを閉じてから、
メニューの【レイアウト】−【タブオーダー】を選んで」
『まんまねー。うわ、ダイアログに数字が付いた!』
「そしたら、火美ちゃんの思う順番にコントロールをクリックしていって」
『ってことは、まず IDC_E_LH のエディットボックス……[1]になった!』
「その調子で順番に」
『あ、間違えて【+】押しちゃった』
「そしたら、最初のエディットボックスをダブルクリックして、やり直し」
『やり直しかー、めんど』
「一応Ctrlキーを押しながら左クリックすると途中から始められるけど」
『う”、思った通りになんない……』
「だから最初からの方が楽かも」
『ま、今はコントロール少ないもんねー。うん、タブオーダーセット完了!
そしたらテストモードにしてタブキー押して……うん、思った順番!』
「特に計算機だとキーボード上で操作することが多いから、こういうのは大
事かな」
『それは言えるかも。あれ? そういえば【+】ってタブオーダーと関係な
いんだね。ちゃんと数字は出てるのに』
「あ、【+】のプロパティの【一般】ページに【タブストップ】ってあるで
しょ」
『うんある。このチェック入れるの?』
「そ。入れると」
『テストモード……あ、【+】の順番の時になんも反応がない』
「つまりこの【タブストップ】のチェックがされていないと、タブキーを押
しても飛ばされる、ってこと。これは他のコントロールにもあるよ」
『ホント、エディットボックスとかも飛ばされちゃう……』
「このタブストップの仕組みも、ウィンドウズのものだからね」
『今日のキーは、ウィンドウズのもの、と、自由度が高い、ね?』
「そんな感じだね。ウィンドウズは〈アプリが動く場〉だから、いろんなも
のを準備してくれているし、いろんなことができるようになっている」
『だからダイアログにスクロールバーねー』
/*
Preview Next Story!
*/
『なんか憶えること多いね、結構』
「いやー、僕も今日かなり調べたんだけどね」
『あんたも憶えとらんかったのかい!!』
「というわけで次回」
< Version 3.14 アイコンとリソース >
『につづく!!』
「来週は待望のアイコンだよ!」
『けっあたしゃそんなんではしゃぐトシじゃないよ』
「ばばくさ……」