タイトルバーなしでDelphiフォームを作成する方法を知っている人はいますか?私はいくつかのリンク/ヒントを見てきましたが、正確には私が望むものではなく、自分ではできませんでした。フォームからタイトルバーを削除する方法
は、これは私が達成しようとしているものです:
タイトルバーなしでDelphiフォームを作成する方法を知っている人はいますか?私はいくつかのリンク/ヒントを見てきましたが、正確には私が望むものではなく、自分ではできませんでした。フォームからタイトルバーを削除する方法
は、これは私が達成しようとしているものです:
まず、オブジェクトインスペクタでbsNone
へBorderStyle
を設定し、設計時にbsNone
にBorderStyle
を設定します。そして、そのように手続きCreateParams
を宣言:
type
TForm1 = class(TForm)
private
protected
procedure CreateParams(var Params: TCreateParams); override; // ADD THIS LINE!
{ Private declarations }
public
{ Public declarations }
end;
、より良い境界線のスタイルについて
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style or WS_THICKFRAME;
end;
、
それだけでは不十分です。 –
@AndreasRejbrandなぜですか? –
結果がOPによって提供されたイメージと比較してください。ガラスの境界線(と影)全体がなくなりました。 –
のようにそれを実装するには、WS_BORDERフラグを追加することができます。このよう
:ソフトラインより
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style or WS_BORDER or WS_THICKFRAME;
end;
注境界枠内引き込まれます。
Windows XPでも正しく動作しますか? [+1] – TLama
@tlama:覚えていないし、XPをテストする必要はありませんが、問題はないはずです。 (それはガラスの代わりに青い太い枠線を得ませんか?) –
ありがとうございましたAndreas、境界線のサイズを変更する方法はありますか? –