BSOne.SFC/Tocsg.Module/SunkAssister/EXE_SunkAssister/Config/DShowAudioVolume.pas

68 lines
1.2 KiB
Plaintext

unit DShowAudioVolume;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TDlgShowAudioVolume = class(TForm)
pgVol: TProgressBar;
lbVol: TLabel;
tHide: TTimer;
procedure tHideTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Constructor Create(aOwner: TComponent); override;
Destructor Destroy; override;
procedure SetVolume(nVol: Integer);
end;
var
DlgShowAudioVolume: TDlgShowAudioVolume;
implementation
{$R *.dfm}
const
SHOW_MILISECOND = 3000;
var
_nShowTime: Integer = 0;
Constructor TDlgShowAudioVolume.Create(aOwner: TComponent);
begin
Inherited Create(aOwner);
end;
Destructor TDlgShowAudioVolume.Destroy;
begin
Inherited;
end;
procedure TDlgShowAudioVolume.SetVolume(nVol: Integer);
begin
_nShowTime := 0;
pgVol.Position := nVol;
lbVol.Caption := Format('%d%%', [nVol]);
Show;
Application.ProcessMessages;
end;
procedure TDlgShowAudioVolume.tHideTimer(Sender: TObject);
begin
if Showing then
begin
Inc(_nShowTime, 100);
if _nShowTime = SHOW_MILISECOND then
Hide;
end;
end;
end.