問題タブ [dialogbasedapp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
21566 参照

c++ - アプリを強制的に最前面に表示してフォーカスするにはどうすればよいですか?

私も取り組んでいるインストーラーのブートストラップであるアプリケーションに取り組んでいます。アプリケーションは、いくつかの MSI 呼び出しを行って、アプリケーションのメイン ウィンドウであるウィザードをまとめるために必要な情報を取得します。これにより、情報の収集中に進行状況ウィンドウが開き、完了すると消えます。次に、ウィザードがセットアップされ、起動されます。私の問題は、ウィザード (CPropertySheet から派生) が前面に出てアクティブなアプリケーションになりたくないということです。

OnInitDialog() メソッドで次のコードを使用して、前面に表示する問題を解決しました。

私の問題は、ウィンドウを自己アクティブ化する方法 (つまり、ウィンドウ自体をフォーカスする方法) をまだ理解していないことです。SetFocus() は、このコンテキストでは機能しません。ウィンドウを強制的に Z オーダーの一番上に移動し、できればできるだけ少ない呼び出しでアクティブにするものが必要です。

私の推測では、最初に MSI 呼び出しによって開かれた進行状況ウィンドウが原因でメイン ウィンドウが台無しになっていると思われますが、そのウィンドウが表示されないようにする方法はありません。また、メイン ウィンドウが表示される前に何が起こっているかをユーザーに知らせるため、これを非表示にしても意味がありません。

0 投票する
3 に答える
4372 参照

visual-c++ - OnCtrlColor が機能しない?

次のオーバーロードされたメソッドを使用して、Visual C++ MFC ダイアログ ベースのアプリケーションで、リスト ボックスのテキストの色を赤に変更しました。プログラムを DEBUG モードでビルドすると、完全に動作します。しかし、RELEASE モードを使用すると、テキストの色が変わりません。これはなぜですか、どうすればこの問題を克服できますか??

ありがとう!!

0 投票する
2 に答える
24348 参照

c++ - OnKeyDownがダイアログベースのMFCプロジェクトで重要なイベントをキャッチしないのはなぜですか?

MFC(VS2008)でダイアログベースのプロジェクトを作成し、ダイアログにOnKeyDownイベントを追加するだけです。プロジェクトを実行してキーボードのキーを押しても、何も起こりません。ただし、ダイアログからすべてのコントロールを削除してプロジェクトを再実行すると、機能します。ダイアログにコントロールがある場合でも、キーイベントを取得するにはどうすればよいですか?

コードは次のとおりです。

0 投票する
2 に答える
7155 参照

visual-c++ - ダイアログベースの mfc Visual Studio 2010 で図形 (線、円など) を描画できますか?

ダイアログベースの MFC ビジュアル C++ を介していくつかの異なる周波数を表示するオシロスコープを実装したいのですが、あまりにもグーグルで検索すると、ビジュアル C++ で図形を描画する唯一の方法は SDI または MDI を使用することであることがわかりました。ダイアログベースの mfc で頻度チャートを描画する方法があるかどうかを知りたいです。誰かが参考文献を知っていれば、私に紹介してくれると本当にありがたい.

0 投票する
3 に答える
2739 参照

visual-c++ - MFCアプリケーションでの「初回例外」の意味?

Windows アプリケーション (MFC) を実行すると、2 つの警告が表示されます。

First-chance exception at 0x01046a44 in XXX.exe: 0xC0000005: Access violation reading location 0x00000048.

First-chance exception at 0x75fdb9bc (KernelBase.dll) in XXX.exe: 0x000006BA: The RPC server is unavailable.

それらが何を意味するか分かりますか?

0 投票する
2 に答える
1478 参照

visual-c++ - VC++ WTL で個々のリスト項目のフォントの色を指定する方法

CListBoxいくつかの条件に従って個々のリスト項目の色を指定する必要があるリスト ボックスがあります。どうすればこれを達成できますか。私はVS2005を実行しています。アプリケーションは、WTL ダイアログ ベースのアプリです。

0 投票する
0 に答える
811 参照

c++ - SqlServer データベースを MFC ダイアログ ベースのアプリケーションに追加する

sqlserver データベースに接続して datagridview にデータを表示できる C# のコードがいくつかあります。

C ++のMFCダイアログベースのアプリケーションで同じものを使用するにはどうすればよいですか? この前の質問を参照しましたが、私が知る必要があることをカバーしていないようです。

0 投票する
2 に答える
1633 参照

winapi - ビットマップの背景と視覚スタイルを備えた Win32 ダイアログ ベースのボーダレス ウィンドウ

私はStackOverflowを初めて使用するので、投稿で愚かな間違いを犯したことを許してください。

Win32 API (MFC なし) とダイアログ ベースのアプリケーションを使用して、ビットマップ背景のボーダレス ウィンドウを作成する際に問題が発生しています。ビジュアルスタジオ2010を使用しています。

この問題は、共通コントロール ライブラリを次のスニペットにリンクすることにより、Windows XP Visual Styles を使用する場合にのみ発生します。

シンプルなダイアログがあり、その中にウィンドウの背景になるビットマップ画像を持つ PictureControl があります。この画像をウィンドウ全体に表示したいのですが、サイズ変更やドラッグ アンド ドロップは不要なので、画面の中央に配置し、以下に示すように、ダイアログと画像コントロールの両方の寸法が RC ファイルで同じになるように定義しました (寸法 356、210 の両方):

ここでの問題は、視覚スタイルを使用しているときに、画像がダイアログ ウィンドウの全領域を埋めないことです。ダイアログの両側に小さな空白が見られることがあります (SS_CENTERIMAGE を削除すると、右側の空白になります)。これは、ビジュアル スタイルなしでは起こりません。以下の写真は問題を示しています (そこで使用されている画像は単なる例です。実際の背景画像はより複雑であるため、ブラシでペイントするだけでは解決できません)

ビジュアル スタイルなし http://postimg.org/image/hji8sa6j1/

ビジュアル スタイル http://postimg.org/image/b733ig3gt/

リンクについて申し訳ありませんが、まだ画像を投稿するのに十分な評判がありません.

視覚スタイルを有効にしてウィンドウ全体をビットマップで埋める方法について何か提案はありますか? ボーダレスウィンドウを作成するためのmelak47によるこの素晴らしい答えhttps://stackoverflow.com/a/17713810/3022281を見つけましたが、ダイアログベースではありません。他に何も機能しない場合は、そのソリューションを使用する必要があると思います。

0 投票する
0 に答える
129 参照

menu - ダイアログ メニューが Enter キーを受信しない

現在、メニューを持つ MFC ダイアログ アプリを作成しています。メニューは正しく表示され、メニュー エントリはマウス、アクセラレータ、およびホットキー (たとえば、終了するにはCtrl+QまたはAlt+ FQ) を介して正しく機能します。

残念ながら、Enterキーは機能していないようです。つまり、Alt+を押すと[ファイル] メニューFが開き、↑</kbd> will highlight the Quit entry, but pressing Enter will not select it.

ダイアログ アプリでメニューを使用するのは少し難しいことはわかっていますが、これは以前に成功したことがあります。しかし、それはカスタマイズされたVSウィザードでかなり前のことなので、これを最初から行う方法を覚えようとしています。古いコードをチェックしようとしましたが、 を参照して何も見つかりませんでしたVK_RETURN。(いいえ、特別なことは何もありませんPreTranslateMessage。)

これら 2 つの 質問は関連していますが、ダイアログでキーを受け取る必要があるため、キーを取得するにはメニューが必要です。

問題の内容と修正方法を知っている人はいますか?