我是靠谱客的博主 殷勤战斗机,最近开发中收集的这篇文章主要介绍简单电池电量显示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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.

最后

以上就是殷勤战斗机为你收集整理的简单电池电量显示的全部内容,希望文章能够帮你解决简单电池电量显示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部