Удаление TitleBarPanel из заголовка окна RAD Studio
[SHOWTOGROUPS=4,20]
© KostyantynKo
[/SHOWTOGROUPS]
© KostyantynKo
Код:
package RemoveTitleBarPanel;
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$IMPLICITBUILD ON}
requires
rtl,
vcl;
contains
Main in 'Main.pas';
end.
Код:
unit Main;
interface
procedure Register;
implementation
uses SysUtils, Classes, Controls, Forms, ExtCtrls;
type TInitWindowFrame=class(TWinControl);
type TTitleBarCtrlsRemoval=class(TObject)
private
OnAppActivate: TNotifyEvent;
procedure OnAppEvents(Sender: TObject);
public
constructor Create;
destructor Destroy; override;
end;
var TitleBarCtrlsRemoval: TTitleBarCtrlsRemoval=nil;
procedure Register;
begin
if TitleBarCtrlsRemoval=nil then
TitleBarCtrlsRemoval:=TTitleBarCtrlsRemoval.Create;
end;
constructor TTitleBarCtrlsRemoval.Create;
begin
OnAppActivate:=Application.OnActivate;
Application.OnActivate:=OnAppEvents;
end;
destructor TTitleBarCtrlsRemoval.Destroy;
begin
OnAppActivate:=Application.OnActivate;
inherited;
end;
procedure TitleBarPanelRemoval;
var I: Integer;
begin
for I:=0 to Screen.FormCount-1 do
begin
Screen.Forms[I].GlassFrame.Enabled:=False;
Screen.Forms[I].Scaled:=False;
Screen.Forms[I].CustomTitleBar.Enabled:=False;
Screen.Forms[I].StyleElements:=[seBorder, seClient, seFont];
end;
end;
procedure TTitleBarCtrlsRemoval.OnAppEvents(Sender: TObject);
begin
if Assigned(OnAppActivate) then OnAppActivate(Sender);
TitleBarPanelRemoval;
Exit;
end;
initialization
finalization
if TitleBarCtrlsRemoval<>nil then FreeAndNil(TitleBarCtrlsRemoval);
end.