OnDrawPanel (C++)

From RAD Studio Code Examples
Jump to: navigation, search


The following code is the OnDrawPanel event handler of a status bar. It draws each panel of the status bar, adding text and icons stored in ImageList1. The image list contains as many icons as there are header sections. This example requires a populated image list and a status bar with several panels added to the Panels property. Select each panel and set the Style property to psOwnerDraw.


void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar,
        TStatusPanel *Panel, const TRect &Rect)
  TCanvas *canvas = StatusBar->Canvas;
  canvas->Brush->Color = clRed;
  canvas->Font->Color = clYellow;
  ImageList1->Draw(canvas,Rect.Left,Rect.Top, Panel->Index, true);
  canvas->TextOut(Rect.left + 30, Rect.top + 2, "Panel" + IntToStr(Panel->Index));