掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
複数のFormのfsStayOnTopの関係について (ID:23036)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私はBorderStyleは無視して TopMostプロパティを つくって制御しています。 参考にしてください。 type TForm1 = class(TForm) CheckBox1: TCheckBox; procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private private FTopMost: Boolean; procedure SetTopMost(const Value: Boolean); function GetTopMost: Boolean; public property TopMost: Boolean read GetTopMost write SetTopMost; end; procedure TForm1.FormShow(Sender: TObject); begin FTopMost := True;//or False; Self.TopMost := Self.TopMost; //Self.FormStyle:=fsStayOnTopにしておくこと //TopMostプロパティをコードで設定することで //FormStyleの値とは関係なく最前面状態が変化する end; procedure TForm1.SetTopMost(const Value: Boolean); begin if Value then begin SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE); end else begin SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE); end; FTopMost := Value; end; function TForm1.GetTopMost: Boolean; begin Result := FTopMost; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.