2
MFC SDIアプリケーションがあります。
リボン、ステータスバー、プロパティウィンドウがあります。ビューのクライアント領域を変更する
ビューのクライアント領域をx % 16
にする必要があります。 ウィンドウ全体を調整することはできませんが、CMyView
を16ピクセルで割り切れるようにサイズ変更する必要があります。
これを行う方法はありますか? 。=(
void CMyView::OnSize(UINT nType, int cx, int cy)
{
cx -= cx % 16;
cy -= cy % 16;
CView::OnSize(nType, cx, cy);
RECT wr = { 0, 0, cx, cy };
AdjustWindowRect(&wr, WS_OVERLAPPEDWINDOW, FALSE);
}
'AdjustWindowRect'は何も調整していない、それは単に(希望クライアント矩形size_に基づいて、ウィンドウの四角形の必要なサイズを_calculates [MSのドキュメント]からの引用(https://でMSDN Microsoft.com/en-us/library/windows/desktop/ms632665(v = vs.85).aspx))。そして、 'CView :: OnSize'を別のサイズで呼び出すことはそれほど役に立ちません。(これを読んだドキュメントのどの部分を覚えていないか)。 –
[MoveWindow](https://msdn.microsoft.com/en-us/library/windows/desktop/ms633534(v = vs.85).aspx)を使用して見ましたか? –
私はいくつかの回避策を見つけました:1.ビュー用に追加の子ウィンドウを作成します。 2.サイズを変更したら、16ピクセル揃えてビューの中央に配置します。 –