[转载自csdn]StatusBar上实现指示灯表示启/停,正常/故障等信息

博客给出一段代码示例,定义了全局变量 Start 。在 StatusBar1DrawPanel 函数中,根据 Start 的值,在状态栏特定面板绘制不同颜色的椭圆。在 Button1Click 函数里,点击按钮会改变 Start 的值并刷新状态栏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:constantine(飘遥的安吉儿)

void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar,
      TStatusPanel *Panel, const TRect &Rect)
{

if (Panel->Index==1)
{
Panel->Style=psOwnerDraw;
if(Start)
{
StatusBar1->Canvas->Pen->Color=clRed;
StatusBar1->Canvas->Brush->Color=clRed;
StatusBar1->Canvas->Ellipse(Rect.left,Rect.top,Rect.left+15,Rect.top+15);
}
else
{
StatusBar1->Canvas->Pen->Color=clBlue;
StatusBar1->Canvas->Brush->Color=clBlue;
StatusBar1->Canvas->Ellipse(Rect.left,Rect.top,Rect.left+15,Rect.top+15);
}
}

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Start=!Start;
   StatusBar1->Repaint();
}

bool Start=false;//全局变量,要记得定义
Panel->Index==1你可以改为你需要的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值