dポイントプレゼントキャンペーン実施中!

プログラミング初心者です。
WINAPI32を用いて、プログラミングに励んでいます。


リソース機能を用いて、親ウインドウのメニューバーからダイアログという形で子ウインドウを開けるようなプログラムを作りました。さらにその子ウインドウ上に、エディットボックスのコントロールを作りました。

例えばそのエディットボックスのIDがIDC_EDIT1なのですが、
子ウインドウを開いた時にすでにそのエディットボックスに数値が入力されているようにしたいのです。

そこで、ダイアログが開かれた時に流れる WM_INITDIALOGのメッセージがきたときに、SetWindowText関数を使えばよいのかな?と思ったのですが、このようなとき第一パラメータにはどのような数値をいれたらエディットボックスに文字列を代入できますか??

IDC-EDIT1といれたら、Struct HWNDに変換してくださいというエラーがでました。

どなたかご教授よろしくお願いいたします。

A 回答 (2件)

MFCを使っていないならば、


HWND GetDlgItem(HWND hDlg, int nIDDlgItem);
が使えるはずです。
これで取得したウインドウハンドルでもって、SetWindowText()を実行すれば大丈夫でしょう。
以下は例です。(hDlgとlpctStringはすでに既知ということで。)
HWND hDlgItem = GetDlgItem(hDlg, IDC-EDIT1);
SetWindowText(hDlgItem, lpctString);
    • good
    • 1
この回答へのお礼

できました!!
GetDlgItemですか。
しっかりと覚えておきます!
本当に助かりました。
ありがとうございました!!

お礼日時:2006/05/29 15:11

DDX/DDVは使わないのでしょうか?


読んでないけどここが詳しそうです。
http://home.att.ne.jp/banana/akatsuki/doc/atlwtl …

MFCを使っているなら、
CEdit* pEdit=(CEdit*)pDialog->GetDlgItem(IDC_EDIT1);
pEdit->SetWindowText("なんとか~");
とか・・。
(WM_INITDIALOGの送られるタイミングを覚えてないので、使えるかは不明です。m(__)m)

この回答への補足

MFCの機能は使っていません。
まだMFCの勉強をしてませんので。。。

MFCの機能なしではなんとかならないでしょうか??

補足日時:2006/05/29 14:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A