あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

試しに起動したら早速バグ。
というかXPと7の互換のない部分。


ダイアログプロシージャ内。
"case IDC_DLGCOIN: if(HIWORD(wParam) == EN_UPDATE) CountCoin(hDlg);"
WM_COMMANDメッセージからテキストボックスのコントロールIDでswitchして、wParamから更新イベントを抜き出して関数実行。
やることはテキストボックスの入力チェック。
で、CountCoin()内。
"SetDlgItemText(hDlg, IDC_DLGCOIN, text);"
テキストを整形して再設置。以前はこれが普通に動いていたのだけど、
どうやらこれで無限ループが発生してしまうようだ。
このSetDlgItemText()で更新イベントが再び発生してしまうらしい。
よく考えたらこれで発生しないわけがないのだけど、XP時代は特に考えていなかった。
対策はこれからぐぐります。
この調子だと今まで作ったのほぼ全滅ですわ。がっくし。


調べた感じだと、このやり方だとチェックタイミングを後にするとかグローバルなフラグを設けるとかしかなかったですね。
リアルタイムに処理できた旧仕様と比べるとスマートさが足りない。
しかしイベントを発生させずにテキストをsetする方法は見つからず。
キー入力を拾うしかないか。それだとコピペに対応できないんだけど。いやペーストを無効化すればいいのか。
じゃあそれでいこう。明日からずっと仕事なので来週になりますが。