web-dev-qa-db-ja.com

Windows APIを使用して、プログラムでウィンドウのサイズを変更したり移動したりするにはどうすればよいですか?

Windows APIを使用して、プログラムでウィンドウのサイズを変更したり移動したりするにはどうすればよいですか?

シナリオは次のとおりです。2つのウィンドウを垂直に並べて表示します(幅の比率が80%/ 20%)。

26
Daniel Silveira

ちらつきがなく、2つ(またはそれ以上)のウィンドウを同時に配置する場合、最善の策はBeginDeferWindowPos()DeferWindowPos()およびEndDeferWindowPos()。あなたの場合、2つを同時に移動するので、これが最善の策です。

また、検討する可能性のある3つの古い、より単純な関数は、 SetWindowPos()MoveWindow() 、および AdjustWindowRectEx() です。

38
mghie

Windows APIで SetWindowPos() を使用します。

HWNDを指定すると、zオーダー、位置(左上)、サイズ、およびその他の多数のフラグ(表示または非表示、アクティブウィンドウにするかどうかなど)を変更できます。

12
Reed Copsey

SetWindowPosMoveWindowAdjustWindowRectEx のいずれかを探しています。

最も適切なAPIを推奨できるように、シナリオについてより具体的に教えてください。

5
JaredPar

SetWindowPosまたはMoveWindowがこれを実現します

4
Net Citizen

SDKドキュメントでMoveWindowを検索します。

3
anon