16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE^2:ウインドウ中央表示ダイアログ"
この発言は #00583 らせん企画 さんのRE:ウインドウ中央表示ダイアログ に対するコメントです
この発言に対し以下のコメントが寄せられています
#00587 らせん企画 さん RE^3:ウインドウ中央表示ダイアログ
らせん企画 さん、こんにちは。
> 単純に 引数 Form の値を使用してはいかがでしょうか。
SDIやMDIの親フォームだと問題ありませんが、MDI子フォームだとTopとLeftの値
はスクリーン上の座標ではなくMDI親フォームのClient上の座標ですよね。です
から一度GetWindowRectでスクリーン上のウインドウ座標を取得しています。
本当はForm引数はTHANDLE(Integer)でも良いと思ったんですけど、変なハンドル
を入れるとぶっ飛んだ位置に出るので保険のためです(^^;
Top := ARect.Top + (Form.Height - Height) div 2;
Left := ARect.Left + (Form.Width - Width) div 2;
//^^^^^^^^^^^がスマートですね(^^;
RectじゃなくてPointが返ってくるAPIって無いんですかね....
紅月 燐火(BZF05041)
Original document by 紅月 燐火 氏 ID:(BZF05041)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|