掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ウィザード作成時のボタンについて (ID:51174)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
やはり原因はWM_COMMANDの部分にありました。 「EN_CHANGE」を使おうとしたものの、使い方がいまいちわかっておらず「IDC_EDIT」のみでも「次へ」などのボタンを有効、無効に切り替えることが一応できていたので、大丈夫だろうなどと安易に考えてそのままにしていたのがわるかったようです。 SendMessageが実行されているのかどうか確かめるためにとりあえず、その直後にMessageBoxを入れて動かしてみたのですが、やたらとメッセージボックスが繰り返し出てきてしまうので、ここに原因があると改めて認識しました。そこでもう一度「EN_CHANGE」について調べて使ってみると、正常に有効/無効の切り替えができるようになりました。 ただし、「戻る」で戻ったときに「PSN_SETACTIVE」でボタンを無効にしていたためにこの部分も書き換えてエディットボックスに内容がかかれているかどうかチェックする必要がでてきました。 長くお付き合いくださってありがとうございました。 今後も質問させていただくことがあると思うので、そのときはまたよろしくお願いします。 実際に書き換えた後のコードです(一部)。 case WM_COMMAND: switch (LOWORD(wp)) { case IDC_EDIT: if(HIWORD(wp)==EN_CHANGE){ char bufStr[256]; GetWindowText(GetDlgItem(hDlgWnd, IDC_EDIT), bufStr, sizeof(bufStr)); if(strcmp(bufStr,"")!=0) { PropSheet_SetWizButtons(GetParent(hDlgWnd), PSWIZB_NEXT); } else { PropSheet_SetWizButtons(GetParent(hDlgWnd), NULL); } } break; default: return false; } break;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.