レガシ コード MFC VC++ があります。2 つの入力を要求するメッセージ ボックスを追加する必要があります (両方とも文字列です)。セキュリティの問題を考慮する必要はありません。入力が必要です。
これを行う方法?私は本当にMFCの男ではありません。数ページ検索しました。私には良くありません。
最高のありがとう
レガシ コード MFC VC++ があります。2 つの入力を要求するメッセージ ボックスを追加する必要があります (両方とも文字列です)。セキュリティの問題を考慮する必要はありません。入力が必要です。
これを行う方法?私は本当にMFCの男ではありません。数ページ検索しました。私には良くありません。
最高のありがとう
入力を取得するには、メッセージ ボックスではなく、ダイアログが必要です。
VS で作業していると仮定すると、リソース ビューに移動してツリーを展開し、[ダイアログ] を右クリックして、ポップアップ メニューから [ダイアログの挿入] を選択します。これにより、いくつかの編集コントロールを挿入するダイアログを描画できます。おそらく、それぞれの横に静的コントロールを配置して、そこに入力する内容を説明するなどです。[OK] ボタンと [キャンセル] ボタンで始まるので、それらを追加する必要はありません。
ダイアログがどのように見えるかを描いたら、それをバックアップするためのコードなどを追加する必要があります。コントロールの 1 つを右クリックし、メニューから [クラスの追加] を選択します。これにより、ダイアログのクラスの名前を尋ねるダイアログが表示されます。クラス名 (「my_input」など) を入力すると、ソース/ヘッダー ファイルに一致する名前が選択されます。基本クラスを "CDHtmlDialog" から "CDialog" に変更することをお勧めします。満足したら、「完了」をクリックすると、クラス/ファイルが作成されます。
次に、ダイアログに戻り、編集コントロールの 1 つを右クリックして、[変数の追加] を選択します。右端に向かって単純にするために、「カテゴリ」を「コントロール」から「値」に変更します。次に、そのコントロールから受け取る文字列の名前を選択し、[OK] をクリックします。他のコントロールについて繰り返します。他のエディット コントロールについても繰り返します (明らかに、その変数に別の名前を選択します)。
最後に追加する必要があるのは、そのダイアログを呼び出すコードです。これを行うには、ダイアログのヘッダーを使用する場所に含める必要があります。次に、次のようなコードを少し追加します。
my_input inp;
if (inp.DoModal() == IDOK) {
// retrieve your two strings
CString input1 = inp.field1;
Cstring input2 = inp.field2;
}