- ベストアンサー
VS2008でEditコントロールが作成できない問題の解決策
- VS2008でスケルトンを作成し、Editコントロールを実装したいができない問題について
- WM_CREATEをWndProcに作成し、CreateWindowを記述することでEditコントロールを作成するが、機能しない
- 解決策を教えてください
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>MessageBoxをつけたところ、WM_CREATEが何度も呼び出されています。 この時点でおかしいような気もしますが…。 どこかでCreateWindow()を何度もコールしていたりしませんか? 作成したソリューション名がedit…なんてことはないですよね? # 大文字変換される…かなぁ……。 ちなみに、こちらでやったのは… Win32アプリケーションを選択、特にオプションは変更せずにウィザードは[OK]ボタンで閉じます。 スケルトンが作成されるのでID_EDITを適当にdefine。(とりあえず100で) WndProc()にWM_CREATEを掲示されたもので貼り付け。 # static HWND hwndEdit;も追加。 だけです。 # その上で"edit"を"Edit"に修正…です。 # WindowsXPSP3/VC2008EE。
その他の回答 (1)
- Wr5
- ベストアンサー率53% (2173/4061)
>3 実行するとEditコントロールの中にEditコントロールができて、Editコントロールとしては機能しません。 この状態にはなりませんでしたので…現象が違うかも知れませんが… # VC2008EEで確認。 SDIのクライアント上にEditコントロールに似たウィンドウが表示されました。 >hwndEdit = CreateWindow(TEXT("edit"),L"abcdefghijkl", TEXT("edit")をTEXT("Edit")に変えたらどうですか? または、WC_EDITに。(ComCtrl.hが必要)
お礼
回答ありがとうございます。 両方、試してみましたが残念ながら、だめでした。 また、CreateWindowExを使用しても、だめでした。 症状は□の中に□ができて、その中にも□がという具合です。 MessageBoxをつけたところ、WM_CREATEが何度も呼び出されています。 CreateWindowのEDITをBUTTONに変えたところ、ボタンはできました。 環境は、VC2008のProfessionalEditionです。 ちなみにウイザードがつくったスケルトンではなく、書籍に載っているスケルトンを入力すれば成功します。 書籍は「プログラミングWindows」、「Windows2000プログラミング標準講座」を参照しました。 深夜に入力したためとはいえ、表題の誤入力は直せないのかな。恥ずかしい。
お礼
お恥ずかしい >作成したソリューション名がedit…なんてことはないですよね? ソリューション名がeditでした。 その部分は何も考えていませんでした。 穴があったら入りたいです。 解決しました。