Du kannst dir diese Funktionalität auch mit einer
Unit hineinbringen
Delphi-Quellcode:
unit Vcl.BaseForm;
interface
uses
System.PowerManagement,
Vcl.Forms;
type
TForm =
class(
Vcl.Forms.TForm )
private
FToken: IPowerManagementToken;
function GetPowerModeOptions: TPowerModeOptions;
procedure SetPowerModeOptions(
const Value: TPowerModeOptions );
protected
function GetDefaultPowerMode( ): TPowerModeOptions;
virtual;
property PowerModeOptions: TPowerModeOptions
read GetPowerModeOptions
write SetPowerModeOptions;
public
procedure AfterConstruction;
override;
end;
implementation
{ TForm }
procedure TForm.AfterConstruction;
begin
FToken := PowerManagement.GetToken( GetDefaultPowerMode( ) );
inherited;
end;
function TForm.GetDefaultPowerMode: TPowerModeOptions;
begin
Result := [ ];
end;
function TForm.GetPowerModeOptions: TPowerModeOptions;
begin
Result := FToken.Options;
end;
procedure TForm.SetPowerModeOptions(
const Value: TPowerModeOptions );
begin
if PowerModeOptions <> Value
then
FToken := PowerManagement.GetToken( Value );
end;
end.
und diese
Unit einfach nur noch
nach der
Vcl.Forms
in die uses Liste aufnehmen. Dann brauchst du bei den Forms, die so etwas benötigen entweder nur die
GetDefaultPowerMode
zu überschreiben oder du setzt einfach den Wert der Eigenschaft
PowerModeOptions
.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)