68 lines
1.2 KiB
Plaintext
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.
|