質問

新しいDelphiフォームを作成し、Onresizeイベントをフックし、アプリを実行すると、Windowが表示される前にOnresizeが発射されます。私が知らないのは、これが常に起こるかどうか、どんなウィンドウでも起こるかどうかです。

(Windows APIに精通している人のために、Tcustomform.showingChanged(Delphi 2007のForms.Pas Line 5503)のshowwindowコールにトレースしました。 WM_SIZE...少なくとも、他のプロパティが設定されていない新しいウィンドウの場合。ショーウィンドウが常に発砲することを文書化したのを見たことはありません WM_SIZE, 、だから私はこれに頼ることができるかどうかはわかりません。)

そう: tformに頼ってもいいですか いつも 最初に表示されたときに燃えることがありますか? または、状況があります(おそらく、ウィンドウが居住できない場合、おそらく位置プロパティに特定の値がある場合など)。 いいえ 窓が最初に表示される前の火?

役に立ちましたか?

解決

いいえ、このイベントは、フォームが表示されたときに、ボーダーシルのようなものに応じて常に発生するとは限りません。たとえば、BSSINGLEのスタートアップで発砲しますが、BSDialogでは発生しません。

テストは簡単です。メインフォームのOnresizeイベントにログコードを追加し、BorderStyleを変更してアプリを実行するだけです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top