ATL(C++) VS2010 のプロジェクトがあります。ダイアログクラスを作成しました。ボタンが 2 つあり、テキスト ボックスのようなものを追加したい。このコンポーネント CEdit を担当していることを読みました。
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
1. しかし、IDC_EDIT1 を宣言するリソースと呼ばれる場所はありません。
2. afxwin.h を接続する必要があります。一番上の stdafx.h にライブラリをプラグインしました。
エラーが発生しました:
Building MFC application with /MD[d] (CRT dll version) requires MFC
shared dll version. Please #define _AFXDLL or do not use /MD[d]
これが問題だと思いました。 エラー Please #define _AFXDLL or do not use /MD[d] は、プロジェクトのプロパティを変更した後でも発生します
次に、エラーが発生しました:
#error directive: WINDOWS.H already included. MFC apps must not #include
すべての参照 WINDOWS.H を削除しましたが、エラーは残りました。
CEdit を使用せずに解決策はありますか。
CWindow textBox(GetDlgItem(IDC_EDIT1));
textBox.SetWindowTextW(L"hello");
しかし、疑問は残ります。IDC_EDIT1を指定するリソースとして? 一般に、指定する必要がある場所には、前述のように例があります。何も見つかりませんでした。私の英語が下手なせいかもしれません。
Resource.h に追加します
#define IDC_EDIT1 113
ファイル .rc には 2 つのボタンがあります。
DEFPUSHBUTTON "OK",IDOK,209,179,50,14
PUSHBUTTON "Cancel",IDCANCEL,263,179,50,14
ファイル .rc に IDC_EDIT1 を追加するにはどうすればよいですか?
???? "text",IDC_EDIT1,263,179,50,14