では、ソースを見てみましょう。 VisualC++は起動しているでしょうか。 起動のさせ方は、win32template.dsw のファイルをダブルクリックでしたね。
もし、user.c のファイルが表示されていなかったら、ドラッグ&ドロップか メニューバーの[ファイル]-[開く]で開きましょう。
まず、 どのボタンを押しても表示される文字がありました。これは、user.c のButtonPushed 関数の中で行われています。
普通のWindowsプログラミングの場合、文字を表示するにはかなりめんどくさいのですが、 DISP や STATUS と名付けた所には、簡単に文字を出力できるようにしてあります。 なんと、なじみのある printf 関数の先頭の文字を大文字にしただけの Printf関数です。(笑)
使い方は、ButtonPushed関数にあるように、以下のような感じです。
Printf(DISP, "ボタンが押されました。そのボタンはなんと・・・\r\n");
Printf(DISP, "[%d] 番でしたとさ。\r\n\r\n", button_num);
普通のprintf関数と違うのは、第1引数に文字を表示する場所(DISP)を書き、 改行するには、"\n" ではなく "\r\n" を使うことです。 これに注意すれば、C言語のように文字を表示させることができちゃいます! (←ここ、「ええっ!? すごいっ」 ってびっくりする所ね、 よろしく(強く推奨)(^^; )
Printf 関数(書式付き文字を指定した所に表示する) 引数1 int 表示する場所を指定
(DISP, MESSAGE, STATUS1, STATUS2, TITLEBAR, BUTTON1 〜 8)引数2以降 printf関数と同じ(ただし、\n を \r\nにする) ちょっと高度な使用例
char titlestr[MAX_PATH];
// タイトルバーに自分自身の絶対パスを表示
GetModuleFileName(NULL, titlestr, MAX_PATH);
Printf(TITLEBAR, "%s", titlestr);
(余談:何でもかんでもは表示できないと思う・・・多分。だって、 あまり複雑なことは想定してないから。ごめん。それから、DISP の最大表示文字は256KB程度までね。 それ以上表示するとメモリぶっ壊して強制終了するから。これまたごめん。メモリぶっ壊すって いっても本当にRAMから煙が出るんじゃないからね、念のため。)
次に、 ButtonPushed 関数の中の最初の方で、Clear 関数が呼び出されています。 これは文字通り、表示している内容を消去する関数です。
Clear(STATUS1 + STATUS2);
引数に、どこの文字を消去したいかを指定します。複数の箇所の文字を消したいなら、"+" でつないでいきます。逆に"-" も使えます。func8関数のように Clear(ALL) とすると、全ての箇所の文字が消えます。
Clear 関数(指定した所の文字を消去する) 引数1 int 表示する場所を指定( "+" で複数指定)
(DISP, STATUS1, STATUS2, TITLEBAR, BUTTON1 〜 8
BUTTONS, ALL)
ちょっと高度な(?)使用例
// タイトルバーとボタン以外の文字を消去
Clear(ALL - TITLEBAR - BUTTONS);
△TOP△ | BACK | NEXT |