問題タブ [cdialog]

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 投票する
2 に答える
184 参照

windows - CDialog の作成を傍受する

多くの異なる MFC CDialog 派生ダイアログ ウィンドウを表示するかなり大きなアプリがあります。すべてのダイアログは、次のような中央関数から表示されます。

ここで、基本的にすべてのダイアログの OnInitDialog メソッドで関数を呼び出す必要があります。技術的には OnInitDialog 内にある必要はありませんが、ダイアログが表示される前にあることが望ましいです。

強引な方法は、コードを調べて最後のすべてのダイアログを見つけ、関数呼び出しを OnInitDialog メソッドに追加することです (存在する場合は追加し、存在しない場合は追加します)。しかし、もっとエレガントな方法が必要なようです...

dlg は実際には CDialog ではなく、そこから派生したものであることに注意してください。

アイデア、トリック、ハックはありますか? 私はメッセージ マップにパッチを適用する以上のことはしませんが、よりクリーンで安全なものを見つけたいと思っています。

0 投票する
1 に答える
1607 参照

c++ - CDialogShowWindowの問題

SDIアプリケーションがあります。アプリケーションには、作業中のサーバーとの通信などのメッセージを表示するために使用されるモードレスダイアログがあります。問題は、ダイアログの親ウィンドウがメインフレームに設定されている場合、ShowWindowメソッドが期待どおりに機能しないことです。ダイアログはメインフレームで覆われているようです。ShowWindow呼び出しの横にSleep呼び出しを置くと、ダイアログが表示されます。そして、スリープが終了すると、ダイアログが消えます。ダイアログの親を設定しない場合、ShowWindow呼び出しは正常に機能します。ただし、ダイアログの親ウィンドウを設定したいのですが。それで、それをどのように解決するのですか?

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

c++ - MFC DLL からダイアログを表示

フォームを読み込んだが、機能のないボタンのみ

フォームの完全な機能をロードする方法と、DLL ソース コードを持っていない方法

0 投票する
1 に答える
384 参照

windows-7 - MFCエアロシェイクウィンドウメッセージ

私はMFCに組み込まれたプログラムに取り組んでいます。

CFormViewを振ると、この奇妙な状況になります。最初はすべてが正しく最小化されていますが、すべてのウィンドウが復元されているときに2回目に振ると、CFormView内のCDialogの1つが後ろになりますが、前にあるはずです。

2回目のシェイクのイベントをどのようにキャッチできますか?CDialogにどのようなメッセージを送信しますか?

メッセージマップで宣言できるものですか?

インターネットでは何も見つかりませんでした。

0 投票する
1 に答える
1954 参照

visual-studio-2010 - VC10でCDialogメモリリークが発生する

VC8からVC10にアップグレードしており、CDialogに関連していると思われるメモリリークが多数見つかりました。この最も簡単な例は、ボタンの数だけがあるCDialogを使用した次のコードで示されています。VC10ではこれはリークしますが、VC8ではリークしません。

メモリ使用量は増え続けており、約30個のボタンを使用したダイアログの例では数十Mbがリークしています。

上記は、ダイアログ処理コードをすべて削除したテスト例であることに注意してください。実際のコードでは、派生クラスがあり、PostNcDestroy()を使用しています。

奇妙なことに、次のコード例はいずれもVC8でもVC10でもリークしません。

ここで何が欠けていますか?

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

c++ - タスクバーから CDialogEX を非表示にする方法は? (MFC C++)

私はメインフレームを持っています。誰かがボタンを押すと、CDialogEX が開きます。

開いた後、タイトルやアイコンのない空のタスクバータブが表示されます...

メインフレームの子ウィンドウとして、タスクバータブなしで開きたいです。

スタイルなどを使用してみましたが、何も機能しません。

何か案は?

0 投票する
1 に答える
635 参照

windows - CDialogポップアップにシステムメニューを表示するには?

私は CDialog ベースのアプリケーションを持っています。Visual Studio リソース エディターで、ダイアログのプロパティは、スタイルが「ポップアップ」に設定され、システム メニューの値が「True」であることを示しています。ただし、アプリケーションを実行すると、システム メニューが表示されません。システム メニューを表示するにはどうすればよいですか? 最初に SetIcon() でアイコンを設定する必要がありますか?

リソースファイルからの私のダイアログの定義は次のとおりです。

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

c++ - マウスオーバーに応答してCDialogアイコンを変更するには?

マウスオーバー時にアプリケーション アイコンを変更するにはどうすればよいですか? CDialog のシステム メニューにいくつかのメニュー項目を配置したいのですが、ユーザーがアイコンの上にマウスを置いたときにアイコンを強調表示して、それがユーザー インターフェイス コンポーネントであることを示したいです (最近のバージョンの firefox に firefox メニューがあるのと同様です)。オレンジ色で、マウスオーバーするとハイライトされます)。

アップデート

「アプリケーション アイコン」とは、システム メニュー アイコンを意味します。また、システムメニューではありませんが、有望に見える CMFCRibbonApplicationButton クラスに出くわしました。

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

mfc - CDialog :: OnInitDialogから、またはこの関数が終了した直後にダイアログmfcアプリケーションを終了するにはどうすればよいですか?

私のアプリケーションの1つのケースでは、ダイアログのOnInitDialogで、またはこの関数の直後にアプリケーションを終了したいと思います。それを行う方法はありますか?

OnInitDialogでSendMessageを呼び出し、送信されたメッセージのハンドラーでOnCloseを呼び出して、Windowsメッセージを使用しようとしましたが、ダイアログが表示されたままであるため、意図したとおりに機能しませんでした。