1

ダイアログのサイズを変更するには、画面の高さを調べる必要がありました。私は で電話GetSystemMetricsをかけてSM_CYFULLSCREENいますが、特定の番号 (私の場合は 1028) を取得しています。MSDN によると:

システム タスクバーまたはアプリケーション デスクトップ ツールバーによって隠されていない画面の部分の座標を取得するには SystemParametersInfo、値を指定して関数を呼び出しSPI_GETWORKAREAます。

SystemParametersInfoもそれが何を返すかを確認するために電話をかけ、高さの別の数値1050を取得しました。スパイを実行すると、タスクバーのない領域の高さは実際には1050です。高さが異なる理由を知っている人はいますか? ありがとう

4

1 に答える 1

3

SM_CYFULLSCREEN の MSDN ドキュメントから:

プライマリ ディスプレイ モニターのフルスクリーン ウィンドウのクライアント領域の高さ (ピクセル単位)。

関連する詳細を太字で示します。クライアント領域は、枠線とタイトル バーのないウィンドウの一部です。したがって、実際のプライマリ スクリーンの高さよりも大幅に小さくなります。おそらく、代わりに SM_CYSCREEN を使用するつもりでした。SPI_GETWORKAREA は、CreateWindowEx() に渡す、ウィンドウ全体の使用可能なスペース、外側のサイズを返します。

于 2015-11-19T17:07:42.820 に答える