0

vc ++ウィンドウの下部のみをサイズ変更し、残りの側面(左、右、上)をサイズ変更しないようにするにはどうすればよいですか?

フォームの3つの側面(上面、左側、右側)を移動するときにデフォルトの矢印カーソルを表示し、フォームの下部にサイズNSの矢印を表示して機能させたい。

ありがとう。

4

1 に答える 1

0

これには、Windows通知を直接処理することにフォールバックする必要があり、Formクラスによってラップされません。WndProc()メソッドをオーバーライドし、WM_NCHITTESTの処理をカスタマイズする必要があります。stdafx.hファイルを変更し、次の#include <windows.h>コードをフォームに追加してから追加します。

protected:
    virtual void WndProc(Message% m) override {
        __super::WndProc(m);
        if (m.Msg == WM_NCHITTEST) {
            switch ((int)m.Result) {
                case HTLEFT: case HTRIGHT: case HTTOP: 
                case HTTOPLEFT: case HTTOPRIGHT:
                case HTBOTTOMLEFT: case HTBOTTOMRIGHT:
                    m.Result = (IntPtr)HTCLIENT;
            }
        }
    }
于 2013-02-06T01:59:56.813 に答える