0

これについて助けが必要です。ウィンドウが画面にそれらの変更を自動的に適用せずに、特定の勝利フォーム属性 (サイズ/場所/..) を設定したい。

フォームで WM_SETREDRAW を試しましたが、変更中にフォームの WndProc のすべてのメッセージをスキップしましたが、何も機能しません。ウィンドウはシステムによって自動的に調整されます。

背景: アプリケーションにはフルスクリーン トグルが必要です。問題は、ユーザーがフルスクリーンに切り替える前にウィンドウを最大化状態に設定できることです。

したがって、トランジションは次のようになります。Normal -> Maximized -> Fullscreen (is WindowState Normal (BorderStyle none, max size))

この遷移によると: フルスクリーン モードを終了するとき、アプリケーションは最大化された状態に戻る必要があります。その後、復元により、アプリケーションが最初の場所とサイズに戻されます。コントロール ボタン (最大化/復元) を正しく機能させるには、フルスクリーンから最大化に切り替えるときに次のようにする必要があります。

  1. 位置とサイズを「最初の」値に設定します。(通常の状態だったので)
  2. アプリケーションを最大化に設定します

その後、復元ボタンは完全に機能しますが、ウィンドウがステップ 1 でアプリケーションを描画し、ステップ 2 で再び描画することがわかります。ウィンドウが実際にサイズ変更されるため、ステップ 1 と 2 の間に Windows デスクトップが表示されます。

ここで、(内部が正しく機能するように) 何らかの方法で値を設定する方法が必要ですが、ウィンドウがステップ 2 までアプリケーションを描画できないようにします。

この「非アクティブ化」は、アプリケーションが画面全体をカバーするまでパネルのサイズが変更されるのを見ることができるため、全画面遷移中にも役立ちます。全然ダメ。

どんなアイデアでも素晴らしいでしょう。

4

0 に答える 0