
Microsoft Visual C++ 6.0を新規で開いて、「挿入」-「リソース」のリソースの挿入画面で、2つダイアログ(Dialog)を作りました。新規作成で作りましたので「Script1 – IDD_DIALOG1(Dialog)」「Script1 – IDD_DIALOG2(Dialog)」と2ウィンドウのタイトルバーに書かれてあります。さて、これらを保存しようとした時にプロジェクト名を決めないといけないみたいで、適当にtestと名づけました。プロジェクトを作成すると、「test.dsw」というプロジェクトワークスペースが出来ました。ここで、「Debug」というフォルダが作成されましたので、このフォルダ内にEXEファイルを作成して、EXEを実行して2つのウィンドウを上手く機能も付けてアプリケーションを作ろうと思っているのですが、コンパイルすると
『
プロジェクト 'test - Win32 Debug' 用の中間ファイルおよび出力ファイルを削除しています。
--------------------構成: test - Win32 Debug--------------------
リソースをコンパイル中...
リンク中...
LINK:error LNK2001:外部シンボル "_WinMainCRTStartup" は未解決です
Debug/test.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
』
と、ドッキングビューに表示されています。
どのようにしたら、EXEを作成できて実行できるか、対策案をお願いいたします。
No.2ベストアンサー
- 回答日時:
現在のダイアログのレイアウトはプロジェクト内の○○.rcというファイルに格納されています。
こちらはとりあえず保留。
新規のダイアログexeを作成する手順:
VC++起動。
[ファイル]-[新規作成]
「新規作成」ダイアログ
「プロジェクト」タブ
「MFC AppWizard(exe)」青いアイコンクリック、プロジェクト名(exe名)を決めてOK。
「MFC AppWizard - ステップ1」ダイアログで「ダイアログベース」を選択、そのまま終了。
F5(実行)でexeが作成され、ダイアログが表示される事を確認。
ダイアログをインポートする手順:
[ファイル]-[開く]で古いrcファイルを開く。
プロジェクトの左側ResourceViewのDialogに古いDialogからIDD_…をctrlを押しながらドラッグ&ドロップ。
ダイアログクラスを作る手順:
ダイアログを開き、ctrl+wでクラスウィザード起動。
適当にクラス名前を付けてOK。
exeの最初に表示するダイアログを差し替える手順:
左側ClassViewで、C○○AppのInitInstanceを開く。
C○○Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
がダイアログの表示処理なので、C○○Dlg→C<新規に作ったクラス名>Dlgと変更。
先頭行に#include "<新規に作ったクラスのファイル名>.h"を追加。
ボタンのハンドラを作る手順:
リソースエディタでダイアログのボタンをダブルクリック、関数名を決める。
ダイアログ2を表示する手順:
上で作った関数に、
C<ダイアログ2のクラス名>Dlg dlg;
dlg.DoModal();
の処理を追加。
#includeも追加。
で良いハズ。
No.1
- 回答日時:
> EXEを実行して2つのウィンドウを上手く機能も付けてアプリケーションを作ろうと思っているのですが、
どのように機能をつけたいのか、具体的な説明が無いので、詳細な手順は書けません。
exeをクリックするとダイアログ1が表示されて、ダイアログ1のボタンを押すとダイアログ2が表示される。OKキャンセルで閉じるとか。
状況からして、新規にAppWizardでダイアログベースのプロジェクトを作成、そちらに現在のダイアログをコピーするのが早そうです。
この回答への補足
説明不足で申し訳ございません。
neKo_deuxさんのおっしゃるとおり、exeをクリックするとダイアログ1が表示されて、ダイアログ1のボタンを押すとダイアログ2が表示される。OKキャンセルで閉じるとか。など、簡単なダイアログでよいのです。あとあとは詳かな機能を付けたいので、ソースコードを入力していくつもりですが、今はただ2つのダイアログを作って、それだけでEXEを作成して実行してみたいだけだったのです。
あと、neKo_deuxさんの「状況からして、新規にAppWizardでダイアログベースのプロジェクトを作成、そちらに現在のダイアログをコピーするのが早そうです。」という作業も考慮したいので、手順を教えていただけたらありがたいです。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- C言語・C++・C# C#の2つの実行ファイルとアプリアイコンの変更について 1 2023/01/07 16:57
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Windows 10 別ユーザーでログインした際、表示されないのソフトの探し方 1 2022/07/15 10:26
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
処理に適したユーザーインター...
-
C# ボタンコントロール内で文字...
-
ダイアログのキャンセルを消し...
-
confirmダイアログの表示文字に...
-
フォーム上のリストボックスに...
-
MFCのリストボックスについて
-
VC++ MFC エラーコード C2248 ...
-
ダイアログの上のテキストボッ...
-
vbscriptで、ファイル選択ダイ...
-
'int' から 'LPCSTR' に変換で...
-
VC(Ver6.0)でダイアログサイズ...
-
【VC++2005】ダイアログサイズ...
-
【MFC】sleep関数を用いたモー...
-
ダイアログの表示位置の保存
-
エクセルで作った新しいウイン...
-
グラフの交点の求め方(Excel)
-
「アイテムは収集されました」...
-
Minecraft 統合版(PC)の描画距...
-
コントロールの書式設定で、“コ...
-
勝手にウィンドウが開いて止ま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンの表示の色、フォントを...
-
C# ボタンコントロール内で文字...
-
メッセージボックスを大きくす...
-
フォーム上のリストボックスに...
-
リソースファイルとは・・・
-
ダイアログの上のテキストボッ...
-
MFCダイアログボックスを最前面...
-
メッセージボックスのボタン文...
-
コンボボックスのドロップダウ...
-
ボタンの配置を変更したい
-
ダイアログボックスで指定した...
-
'int' から 'LPCSTR' に変換で...
-
ダイアログのボタンが押された...
-
ダイアログ最前面表示時の後ろ...
-
ダイアログの表示位置の保存
-
confirmダイアログの表示文字に...
-
ダイアログ間のメッセージの送...
-
エディットコントロールの色の...
-
MFC ポップアップメニューのチ...
-
vbscriptで、ファイル選択ダイ...
おすすめ情報