ホームページ > バックエンド開発 > C++ > SetWindowposを使用して複数のモニターにWindowsを正しく配置するにはどうすればよいですか?

SetWindowposを使用して複数のモニターにWindowsを正しく配置するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-30 18:31:08
オリジナル
790 人が閲覧しました

How to Correctly Position Windows Across Multiple Monitors Using SetWindowPos?

setwindowpos

を使用します setWindowpositionコードフラグメントは、ウィンドウの位置をメインディスプレイに設定するだけです。

ディスプレイと仮想画面の表示を理解する

マルチディスプレイ環境では、ディスプレイには特定のレイアウトと座標があります。

メイン画面:

左上隅は(0、0)ディスプレイにあります。
  • 左のディスプレイ:画面の元のポイントは、フロント画面幅の合計を引いた画面のメイン画面です。
  • 右ディスプレイ:
  • 正のx座標があります。画面の元のポイントは、画面のメイン画面と、メイン画面を含むフロント画面幅の合計です。 画面座標の計算
  • 特定のディスプレイにウィンドウ位置を設定するには、画面レイアウトに基づいて正しいX座標を計算する必要があります。 画面オブジェクトを使用してください

.NET画面クラスは、ウィンドウによって現在表示されている画面を決定するためのいくつかの方法を提供しました:

screen.fromControl(Control) screen.fromhandle(ウィンドウハンドル)

screen.frompoint(point)

screen.fromrctangle(rectangle)

  • これらのメソッドは、指定された要素の最大部分を含む画面オブジェクトを返します。
  • hmonitorのハンドルを取得
  • .NETリファレンスソースディスプレイでは、オブジェクトの
  • gethashCode()
  • メソッドを呼び出すことにより、画面オブジェクトのhmonitorハンドルを取得できます。または、MonitorfromWindowやMonitorFrompointなどのネイティブWin32関数を使用して、Hmonitorハンドルを取得することもできます。 solution
  • ディスプレイレイアウトと画面座標の理解に基づいて、次のようにsetWindowpositionメソッドを変更できます。
  • この更新されたメソッドは、モニターインデックスを追加のパラメーターとして使用し、画面レイアウトに基づいて対応するX座標を計算します。

以上がSetWindowposを使用して複数のモニターにWindowsを正しく配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート