ホームページ >バックエンド開発 >C++ >WPF アプリケーションでアクティブ スクリーンのサイズを決定するにはどうすればよいですか?

WPF アプリケーションでアクティブ スクリーンのサイズを決定するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-24 20:29:161019ブラウズ

How to Determine Active Screen Dimensions in WPF Applications?

WPF でのアクティブ スクリーンのサイズの決定

WPF アプリケーションでアクティブ スクリーンのサイズを取得するには、WinForms とは少し異なるアプローチが必要です。この質問は、現在のモニターで使用可能なワークスペースを判断するために、System.Windows.SystemParameters.WorkArea に相当する WPF の必要性について説明します。

解決策:

依存する代わりに組み込み関数では、応答で提案されているように、Screen.FromControl メソッドを利用できます。このメソッドは、Control オブジェクトを引数として受け取り、そのコントロールを含むモニターを表す Screen オブジェクトを返します。これを WPF で適用するには、回答で提供されているような拡張メソッドを作成できます。

拡張メソッド:

static class ExtensionsForWPF
{
    public static System.Windows.Forms.Screen GetScreen(this Window window)
    {
        return System.Windows.Forms.Screen.FromHandle(new WindowInteropHelper(window).Handle);
    }
}

この拡張メソッドを呼び出すことで、 WPF Window オブジェクトの場合、対応する System.Windows.Forms.Screen オブジェクトを取得できます。これにより、Bounds プロパティにアクセスし、アクティブなウィンドウの寸法を取得できます。

使用法:

Window myWindow = ...;
System.Windows.Forms.Screen activeScreen = myWindow.GetScreen();
Rectangle activeScreenBounds = activeScreen.Bounds;

このアプローチは、WPF ウィンドウをホストしているモニター上で利用可能なワークスペースを決定するためのクロスプラットフォーム ソリューションを提供します。

以上がWPF アプリケーションでアクティブ スクリーンのサイズを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。