CheckHitKeyの待ち処理について
Posted: 2010年8月15日(日) 17:44
入門編、以下のページの内容についてご教授よろしくお願いします。
>http://dixq.net/g/10.html
CheckHitKeyでエンターキーを取得するプログラムですが、whileループの中身が、結局のところ何の処理を繰り返しているのかが分かりません。プログラムを実行してみると、エンターキー以外では、画面はまったく反応していないように見えます。ただ、エンター以外の入力でも、画面上に、「ENTERキーを押すと終了します」という文章は表示され続けています。whileの条件文は、「==0」なので、「エンターが押されていないなら、カッコ内の処理を繰り返す」というふうに私は解釈してしまっているのですが、カッコ内の処理は、ProcessMessage()というエラー処理のみで、結局、いったい何が繰り返されているのか、あるいは、どうして文章の表示のままで「停められているのか」ピンと来ません。
例えば、 DrawString( 230 , 240 , "ENTERキーを押すと終了します。" , White );の部分が、whileの処理のカッコ内に書かれているのなら、「エンターが押されるまで、この文章は表示されるんだな」と分かるのですが、ここではwhileの手前で既に書かれていますし、私の今の習熟度では、何も処理の書かれていないwhile文というふうにしか捉えることができず、いったい何が繰り返されているのか、また、なんで何も処理がないのに繰り返されているのか、分かりません。
「いや、これはただ待っているだけだから、これでいいのだ」と考えれば、分かったようなつもりにはなれるのですが、エラー処理は別とすれば、何もwhileの中には処理がないように思え、C言語の入門も間もない私にはちょっと不思議に見えたのです。それともやはり、「処理がなくても条件文はあるので、これで待ち処理になるんだよ、これから知っといてね」というぐらいの理解でよいのでしょうか。
>http://dixq.net/g/10.html
CheckHitKeyでエンターキーを取得するプログラムですが、whileループの中身が、結局のところ何の処理を繰り返しているのかが分かりません。プログラムを実行してみると、エンターキー以外では、画面はまったく反応していないように見えます。ただ、エンター以外の入力でも、画面上に、「ENTERキーを押すと終了します」という文章は表示され続けています。whileの条件文は、「==0」なので、「エンターが押されていないなら、カッコ内の処理を繰り返す」というふうに私は解釈してしまっているのですが、カッコ内の処理は、ProcessMessage()というエラー処理のみで、結局、いったい何が繰り返されているのか、あるいは、どうして文章の表示のままで「停められているのか」ピンと来ません。
例えば、 DrawString( 230 , 240 , "ENTERキーを押すと終了します。" , White );の部分が、whileの処理のカッコ内に書かれているのなら、「エンターが押されるまで、この文章は表示されるんだな」と分かるのですが、ここではwhileの手前で既に書かれていますし、私の今の習熟度では、何も処理の書かれていないwhile文というふうにしか捉えることができず、いったい何が繰り返されているのか、また、なんで何も処理がないのに繰り返されているのか、分かりません。
「いや、これはただ待っているだけだから、これでいいのだ」と考えれば、分かったようなつもりにはなれるのですが、エラー処理は別とすれば、何もwhileの中には処理がないように思え、C言語の入門も間もない私にはちょっと不思議に見えたのです。それともやはり、「処理がなくても条件文はあるので、これで待ち処理になるんだよ、これから知っといてね」というぐらいの理解でよいのでしょうか。