C言語 - MFC - ダイアログをアクティブにする


 クラウディア


1. 概要
2. ダイアログをアクティブにする

1. 概要

 昔知ってたような気もしますが、すっかり忘れちゃったな。  「C#」を使っているうちに、「MFC」のことなんざ忘れちゃいます。  昔「MFC」で作成していたツールを、「C#」へ移植するような機会があってですね。  ボタンをクリックすると、いろいとやるもんで、だいぶ時間がかかります。  ボタン押した後に、他の作業をするとしますわな。  そうすると、ダイアログが他のウィンドウの下に隠れちゃうわけです。  処理が終わって、ダイアログ上に、「終わりましたよ」と書かれているのですが、ダイアログ自体が隠れちゃってるので、気づかないわけです。  処理が終わったら、ダイアログウィンドウを最前面に表示したい・・・ぞ・・・と。  「C#」のウィンドウだと、処理の直後に

	this.Activate();
 てな1行をいれておけば、ば~んと最上位に表示されます。  「MFC」にもそんなのが、あるはずなんだがなぁ。  あれこれやってみたあげく、下記のサイトを参考にさせていただきました。
VC++でウィンドウをアクティブにする 方法を教えてください。Set…

2. ダイアログをアクティブにする

 「MFC」は、結局、メソッドやイベントをどれだけ知ってるかってことなんですよね。  まぁ、ライブラリやフレームワークは、結局、そういうことなんだけど。  命題をクリアしたのは、下記のメソッド。

	this->SetForegroundWindow();
 これを「CDialog」なり「CDialogEx」の派生クラスで、時間のかかる処理の後にいれておけば、処理が終わった後で、ダイアログウィンドウが最上位に表示されます。

audiobook.jp
AbemaTV 無料体験
EaseUS
それがだいじWi-Fi
アフィリエイトのアクセストレード
JETBOY
サウンドハウス
薬屋の独り言
5G CONNECT
U-NEXT
【usus ウズウズ】
TikTok Shop 【リピート用プログラム】
EMEET 1
ネットオークションの相場、統計、価格比較といえばオークファン
健康サポート特集
earthcar(アースカー)
ハイスピードプラン
葬送のフリーレン Prime Video
ベルリッツ
Amazonギフトカード
損保との違い