C/C++ ( Windows API 実装 ) でやっています。
通常、ウィンドウプロシージャ の WM_SIZE や WM_MOVE 等 ( WM_SIZING もあるらしいので。 ) 、SetWindowPos関数(?) 等で
ウィンドウサイズや位置が変更されたとき、コントロールも サイズ変更しますよね。
ウィンドウの位置 ( X軸, Y軸 ) のみの変更なら その中のコントロールは 変更しなくてもいいと思いますが、
ウィンドウの大きさが変更された場合、外観を整えるために コントロールも位置や大きさも変更しますよね。
その場合についてなのですが、そのコントロールの位置や大きさを割り出す方法はどのような感じになりますでしょうか。
※ 今はGUIとして組む時は ウィンドウを完全固定しています。
ウィンドウの中央にボタンを設置し、常にウィンドウの中央に来るように...
や、
ウィンドウの幅を 100% としたとき、 X軸 30% の位置に移動する...
等です。
たとえば、
[ 指定パーセンテージの位置に貼り付け ]
移動後のX軸 = ( ウィンドウの幅 - コントロールの幅 ) / パーセンテージ
移動後のY軸 = ( ウィンドウの高さ - コントロールの高さ ) / パーセンテージ
移動後の高さ = ( ウィンドウのX軸 ) / パーセンテージ
[ ウィンドウの中央に貼り付け ]
...
のような感じです。( あくまで例。実際の式が聞きたいので。 )
(思いつく範囲の)すべてのパターンを列挙し、逆算(?) すればいいかもしれませんが、
私は数学 ( というよりも算数すら... ) が苦手なので、わからなくなってしまいます。
[ 環境等 ]
言語: C/C++ ( Windows API あり ) ( C/C++に限った話ではないですが、使っているのは C/C++ なので。 )
宜しくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/11/28 09:00