Source Code Удаление TitleBarPanel из заголовка окна RAD Studio

FireWind

Свой
Регистрация
2 Дек 2005
Сообщения
1,957
Реакции
1,199
Credits
4,009
Удаление TitleBarPanel из заголовка окна RAD Studio
[SHOWTOGROUPS=4,20]
© 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.
[/SHOWTOGROUPS]