0

私は今Win32SDKアプリケーションを書いています。いくつかのオプションから選択するためのモーダル子ウィンドウを作成する必要があります。私のデザインは次のとおりです。子ウィンドウに表示するだけで、ユーザーがキー1を押すと、最初のオプションが選択されます。他のオプションは同じです。選択が行われると、子ウィンドウは自動的に閉じます。

私の問題は、そのような子ウィンドウを作成する簡単な方法はありますか?私は2つの方法を見つけましたが、どちらも退屈な手順がいくつかあります。

最初の方法は、ダイアログリソースを作成し、DialogBox関数を使用することです。モーダル子ウィンドウを簡単に作成できます。ただし、これはモーダルダイアログであるため、システムはすべてのキーボードメッセージを除外しました。これらのメッセージを取得するには、メッセージフックなどの特別な技術を使用する必要があります。

2番目の方法は、クラスを登録し、CreateWindow(Ex)関数を直接呼び出すことです。キーボードメッセージを含むウィンドウを簡単に作成できます。しかし、モーダルダイアログが退屈であるため、それを設定しているようです。親ウィンドウを手動で無効にし、子ウィンドウをフォアグラウンドに設定し、このウィンドウの完全なメッセージループを作成し、親ウィンドウが破棄された後に手動で有効にする必要があります。

これら2つの機能の両方を備えたウィンドウを作成する簡単な方法を探しました。ただし、上記の2つの方法以外に手がかりは見つかりませんでした。この方法が存在するかどうかはわかりません。誰か教えてもらえますか?返信ありがとうございます。

4

1 に答える 1

0

私の意見では、Win32 SDK での作業は、特に GUI を作成する場合は非常に複雑です (通常、単純なウィンドウを作成することさえ難しい場合があります)。したがって、次のことをお勧めします。

  1. Microsoft には、Visual Studio に付属する MFC と呼ばれる非常に優れた API があり (Visual Studio の外で MFC を使用できるかどうかはわかりません)、Windows SDK メソッドをラップするいくつかの C++ クラスが含まれているため、作業がはるかに簡単になります。さらに、Visual Studio では、ドラッグ アンド ドロップ インターフェイスを使用して GUI を作成できます (これは非常に便利です)。

  2. サードパーティ API を使用して、GTK や QT などの GUI 要素を作成できます。どちらも C/C++ で書かれており、非常に優れた API です。GUI を設計するときの作業が楽になることを願っています。

  3. C/C++ を使用する必要がない場合は、Java や C# などの高水準言語を使用してアプリケーションを開発することを強くお勧めします。それらを使用して GUI を設計することは、C/C++ で同じことを行うよりもはるかに面倒ではないことが証明されるはずです。

于 2012-06-27T20:32:19.440 に答える