関数が記述できるようになりました。
今までベタ書きしていたのが関数にまとめられるようになったので、見通しが良くなりました。
今後の予定は以下の通りです。
- 関数から値を返せるようにする
- コールバック(関数ポインタ)
- 構造体
ここまで実装すればウィンドウが表示できるようになるはずです。
wvsprintf
サンプルをいじっていて、呼び出し規約でハマりました。wsprintf()がcdeclだったのにつられてwvsprintf()をcdeclで呼び出そうとしたところ、文字化けしてしまいました。va_listの渡し方を疑いましたが、wvsprintf()はstdcallだったのが原因でした。Win32APIは基本的にstdcallですが、可変長引数はサイズが特定できないため、wsprintf()は例外的にcdeclなのだそうです。