teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤字訂正

2017/02/15 02:50

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  それと、MinGWで作っているようですが、それでないと困る理由が何かあるのでしょうか? マルチプラットフォームなGUIツールキットを利用するならともかく、Windows SDKを使ったGUIアプリ作成にMinGWは向きません(できないことはありませんが、難易度が跳ね上がります)。もしMinGWを使う特段の理由がないのなら、Visual Studioの利用を強くお勧めします。巷に溢れかえっているWindows向けのC/C++情報のほとんどはVisual Studio(Visual C++)を前提としています。
4
4
 
5
- 一つだけ指摘しておくとすると、ダイアログの表示は`CreateWindow`ではなく、通常`DialogBox`系API関数で行います。これは`MessageBox`関数と同様に、呼び出すとダイアログが閉じられるまで戻ってきません。内部でメッセージループを回しているからです。したがって、自分でメッセージループを用意する必要はありませんし、WNDCLSの登録も不要です。いくつかの準備段階が端折れてダイアログテンプレートによるデザインも可能ということで、簡単なアプリならダイアログとして実装するということはよくやります。実際、Visual StudioにはダイアログベースでGUIアプリを作成するテンプレートが用意されています。
5
+ 一つだけ指摘しておくとすると、ダイアログの表示は`CreateWindow`ではなく、通常`DialogBox`系API関数で行います。これは`MessageBox`関数と同様に、呼び出すとダイアログが閉じられるまで戻ってきません。内部でメッセージループを回しているからです。したがって、自分でメッセージループを用意する必要はありませんし、WNDCLSの登録も不要です。いくつかの準備段階が端折れて、しかもダイアログテンプレートによるデザインも可能ということで、簡単なアプリならダイアログとして実装するということはよくやります。実際、Visual StudioにはダイアログベースでGUIアプリを作成するテンプレートが用意されています。