简单电池电量显示
2009-03-17 11:22
417 查看
闲来无事...做了个小东西
显示电池电量而已
Project1.dpr
program Project1;
uses
Forms,Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);//使程序不显示在任务栏中
Application.Title := '电池电量显示';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
======================================================================
Unit1.pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, RzStatus, Menus;
type
TForm1 = class(TForm)
Timer1: TTimer;
RzProgressStatus1: TRzProgressStatus;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure Timer1Timer(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure RzProgressStatus1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
Power: TSystemPowerStatus;
begin
GetSystemPowerStatus(Power);
RzProgressStatus1.Percent:=Power.BatteryLifePercent;//获取电量百分比
//根据电量百分比显示不同颜色
if Power.BatteryLifePercent>=40 then
begin
RzProgressStatus1.BarColor:=clLime;
RzProgressStatus1.BarColorStop:=clGreen;
end
else if (Power.BatteryLifePercent<40) and (Power.BatteryLifePercent>=10) then
begin
RzProgressStatus1.BarColor:=clYellow;
RzProgressStatus1.BarColorStop:=clOlive;
end
else if Power.BatteryLifePercent<10 then
begin
RzProgressStatus1.BarColor:=clRed;
RzProgressStatus1.BarColorStop:=clMaroon;
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.RzProgressStatus1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//为控件添加拖动事件,使其可以被拖动
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, 61457, 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//指定显示位置..桌面右下角
Form1.Left:=Screen.Width-RzProgressStatus1.Width+2;
Form1.Top:=Screen.Height-RzProgressStatus1.Height-29;
end;
end.
显示电池电量而已
Project1.dpr
program Project1;
uses
Forms,Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);//使程序不显示在任务栏中
Application.Title := '电池电量显示';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
======================================================================
Unit1.pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, RzStatus, Menus;
type
TForm1 = class(TForm)
Timer1: TTimer;
RzProgressStatus1: TRzProgressStatus;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure Timer1Timer(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure RzProgressStatus1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
Power: TSystemPowerStatus;
begin
GetSystemPowerStatus(Power);
RzProgressStatus1.Percent:=Power.BatteryLifePercent;//获取电量百分比
//根据电量百分比显示不同颜色
if Power.BatteryLifePercent>=40 then
begin
RzProgressStatus1.BarColor:=clLime;
RzProgressStatus1.BarColorStop:=clGreen;
end
else if (Power.BatteryLifePercent<40) and (Power.BatteryLifePercent>=10) then
begin
RzProgressStatus1.BarColor:=clYellow;
RzProgressStatus1.BarColorStop:=clOlive;
end
else if Power.BatteryLifePercent<10 then
begin
RzProgressStatus1.BarColor:=clRed;
RzProgressStatus1.BarColorStop:=clMaroon;
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.RzProgressStatus1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//为控件添加拖动事件,使其可以被拖动
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, 61457, 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//指定显示位置..桌面右下角
Form1.Left:=Screen.Width-RzProgressStatus1.Width+2;
Form1.Top:=Screen.Height-RzProgressStatus1.Height-29;
end;
end.
相关文章推荐
- 简单电池电量显示
- Qt Windows 7(Win7)下获取并显示电池电量和WIFI信号强度
- android 4.4 电池电量显示分析(低电量提醒与电池图标)Java 层
- iOS状态栏获取网络类型,运营商,电池电量,显示的系统时间等信息
- Android 显示手机电池的当前电量
- 显示电池电量
- android 电池电量检测,充电显示效果
- android 显示电池电量
- ImageView电池电量显示
- 操作qtopia2.2.0电池图标显示电池电量
- 广播接收器-BroadcastReceiver 电池电量显示
- 一个简单的android电池显示layout
- QML之自定义电池充电/电量显示效果
- 安卓开发—自定义电池电量显示状态
- 笔记本上任务栏显示电池电量使用情况的图标不见了怎么办?
- android 显示电池电量
- Qt Windows 7(Win7)下获取并显示电池电量和WIFI信号强度
- android shell 电池电量 显示
- Android显示电量——自定义电池View
- android 电池状态侦听显示 电量 充电动态显示