1

サイズ変更コーナーのサイズ (垂直および水平) をピクセル単位で取得する方法 (API) はありますか?

マウスを使用して同時に両方向 (左から右および上から下) にウィンドウのサイズを変更できる、ウィンドウの各コーナーの領域について言及しています。ウィンドウの隅にカーソルを合わせると、マウス カーソルがそこにあることがわかります。マウス カーソルは対角線サイズ変更カーソルです。

ありがとうございました

編集: 例: 大きなウィンドウの右端にマウスを置きます。ウィンドウの中央 (垂直方向) から開始し、水平方向のサイズ変更カーソルが対角方向のサイズ変更カーソルに変わるまで、エッジに沿ってマウスを上に移動します。カーソルが変化したときの位置がウィンドウの上部からどれだけ離れているかを OS に問い合わせて判断するにはどうすればよいですか。

4

2 に答える 2

2

スクロールバーのサイズを使用することをお勧めします。SM_CYHSCROLL および SM_CXVSCROLL を使用して GetSystemMetrics を呼び出します。SM_CYSIZEFRAME と SM_CXSIZEFRAME のサイズを組み合わせることもできます。

しかし、ステータスバーの高さを使用する方が良いと思います。ただし、スクリーンショットに見られるように、Microsoft Windows でさえ固定値を使用しているようです。

ここに画像の説明を入力

于 2013-07-17T13:51:33.023 に答える
1

GetClientRectと の結果を比較するとGetWindowRect、ウィンドウの各端に沿った非クライアント (境界) 領域の幅がわかります。

サイジングのためにすべてがアクティブではない可能性があることを懸念している場合 (特に上部に沿って真)、または対角線のサイジング領域とエッジのサイジング領域を区別したい場合は、手順 1 で検出された座標を取得して、SendMessage(WM_NCHITTEST) 参照に渡すことができます。さまざまな戻りコードのドキュメント。このメッセージを繰り返し送信しても問題ありません。マウス移動イベントごとに呼び出されるように設計されているため、非常に高速です。

于 2013-07-17T13:47:03.537 に答える