18章 ダイアログボックス(その1)

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></meta>
<title>18章 ダイアログボックス(その1)</title>
</head>

<body bgcolor="WHITE">
<font size="5">18章 ダイアログボックス(その1)</font>
<hr>
<p>
 この章から数章に渡って、ダイアログボックスと言われるウインドウの説明をします。
<p>
 ダイアログボックスは、読んで字のごとく、オペレーターとアプリケーションが対話する箱です。つまり、オペレーターはダイアログボックスを通してアプリケーションに情報を伝えたり、アプリケーションから情報を受け取ったり出来ます。
<p>
 例として、ワードパッドのダイアログボックスを下に示します。
<p align="CENTER">
<p>
 この様な形でダイアログボックスを見ると、何か劣った簡易ウインドウの様な印象を受けますね。しかし、<b><i><u>ダイアログボックスは、今まで学んできたウインドウにコントロールをより簡単に利用する機能を組み込んだ非常に強力なウインドウなのです</u></i></b>。
<p>
 この講座では、典型的な2種類のダイアログボックスをサンプルプログラムで提示します。つまり、<b><i><u>モーダルダイアログボックス</u></i></b>と<b><i><u>モードレスダイアログボックス</u></i></b>です。これらのダイアログボックスの動きの違いを理解した後、プログラミングの説明をします。そして最後に、ダイアログボックスの本質について考えていこうと思います。きっと、貴方は、ダイアログボックスの虜になりますよ。
<p>
 では、今回は、2種類のダイアログボックスの動きについて理解しましょう。
<hr>
<p>
 どちらもサンプルプログラムを用意しましたので<b><i><u>ダウンロードして、実際の動きを確認してください</u></i></b>(コンパイラが無くても実行ファイルが入っています)。どちらのサンプルも、直線を描画するプログラムです。直線を描画するには、始点と終点の情報が必要ですが、この入力手段として、ダイアログボックスを用いています。両者の違いは、そのダイアログボックスがモーダルダイアログボックスかモードレスダイアログボックスかという事です。
<p>
<b>・モーダルダイアログボックスの動きを理解する</b>
<p>
<p align="CENTER">
<a href="chap18a.lzh">ダウンロード</a>
<p>
 どちらのダイアログボックスにも共通なのですが、ダイアログボックス内のコントロールはTABキーによって入力可能コントロールを移動できます。つまり、TABキーで<b><i><u>フォーカス</u></i></b>の移動が出来るという事です。フォーカスと言うのは、ディスクトップ上に存在するウインドウの中に一個所しかなく、キーボードの入力を受け付けることが出来る個所(ウインドウ)の事です。
<p>
 また、今回のダイアログボックスでは、エディットコントロールが主体なので、分かり難いですが、キーボードの[←][→][↑][↓]キーでフォーカスの移動が出来る事です。モーダルダイアログボックスの方は、ボタンコントロールが2つありますので、実験してください。
<p>
さて、モーダルダイアログボックスの最たる特徴は、ダイアログボックスが開いているときは、そのオーナーウインドウがいっさいの入力を受け付けなくなる事です。つまり、<b><i><u>オーナーウインドウが、ダイアログボックスが閉じられるまで、非アクティブになる</u></i></b>事です。
<p>
 モーダルダイアログボックスを閉じる方法は、OKボタンかキャンセルボタンの2つが基本です。OKボタンを押したときのみ、モーダルダイアログボックスに対する入力が反映されます。
<p>
 以上の様な事は以前に経験しましたよね。そうです、<b><i><u>MessageBox関数</u></i></b>です。MessageBox関数は、OS定義の簡易モーダルダイアログボックスだったのです。
<p>
<b>・モードレスダイアログボックスの動きを理解する</b>
<p>
<p align="CENTER">
<a href="chap18b.lzh">ダウンロード</a>
<p>
 モードレスダイアログボックスは、7章で学んだオーナー付きウインドウの様なダイアログボックスです。つまり、モードレスダイアログボックスは、それが開いているときでも、オーナーウインドウはアクティブになることが出来ます。つまり、オーナーウインドウを移動したりする事も可能という事です。また、モードレスダイアログボックスは、表示したまま、オーナーウインドウにメッセージを送り続ける事が可能です。モーダルダイアログボックスのときは、毎回、ダイアログボックスのオープン・クローズが必要でした。
<p>
 そして、モーダルダイアログボックスの時に説明したように、TABキーや[←][→][↑][↓]キーで入力可能なコントロールの移動が出来ます。
<hr>
<p>
 今回は、ダイアログボックスの紹介をしました。
<p>
 つまり、ダイアログボックスは、コントロールを使う上で便利な機能を持ったウインドウである。そして、動作の違いからモーダルダイアログボックスとモードレスダイアログボックスに分けられる。
<p>
 19章では、一般に使用頻度が高いと言われているモーダルダイアログボックスの作成方法を説明します。
<p>
 では、お楽しみに。
<p align="RIGHT">
1999年11月30日
<hr>
<p align="RIGHT">
<a href="/web/20160505174352/http://web.kyoto-inet.or.jp:80/people/ysskondo/index.html">目次</a><br>
<a href="chap19.html">次へ</a>
<hr>
<p align="RIGHT">
著作権者:近藤妥

</body>
</html>

  • 最終更新:2018-03-11 04:57:59

このWIKIを編集するにはパスワード入力が必要です

認証パスワード