1

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
4

1 に答える 1