2

SetParent を使用してウィンドウをメッセージのみのウィンドウに変更しますが、SetParent を使用してウィンドウを復元しようとすると、ウィンドウが元に戻らないか、大幅な遅延が発生しますか? ソースコードの例。

// Change to message-only

HWND newParent = SetParent(currentHandle, HWND_MESSAGE);

// Change back

SetParent(newParent, currentHandle);
4

1 に答える 1

4

パラメータが逆になっています。元の親を復元するには、次のものが必要です。

SetParent(currentHandle, newParent);

どちらの場合も、ウィンドウの親を変更していることに注意してください。したがって、最初のパラメーターはSetParent両方の時間で同じでなければなりません。

問題の一部は、変数の名前が不十分なことです。私は次のように名前を付けます。

// convert to message only
HWND previousParent = SetParent(window, HWND_MESSAGE);

// restore parent
SetParent(window, previousParent);
于 2013-04-10T19:46:34.000 に答える