UnitUnit2;InterfaceusesWindows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms, Dialogs, Imglist, Extctrls;typeTForm2=class(tform) imagelist1:timagelist; Panel1:tpanel; procedureformcreate (Sender:tobject); Private {Private Declarations} Public {Public Declarations} End; Tvspanel=class(Tcustompanel)Private protected procedurePaint;Override; PublicEnd;varForm2:tform2;ImplementationusesThemes;{$R *.DFM}{Tvspanel}procedureTvspanel.paint;vardetails:tthemedelementdetails;begin inherited; ifThemeservices.themesenabled Then beginDetails:= Themeservices.getelementdetails (tttbaloonnormal{Tbpushbuttonhot});{here, draw a button that looks like a hot state.}Performerasebackground (self, canvas.handle); {background When erasing a picture button}themeservices.drawelement (Canvas.handle, Details, Clientrect); Themeservices.drawtext (Canvas.handle, Details, Caption, Clientrect, Dt_expandtabsorDt_vcenterorDt_centerorDt_singleline,0); End;End;proceduretform2.formcreate (sender:tobject);varApanel:tvspanel;beginApanel:= Tvspanel.Create(application); Apanel.left:= -; Apanel.top:= -; Apanel.width:= $; Apanel.height:= -; Apanel.caption:='Panel with Button style'; Apanel.parent:=Self ;End;End.
Reference: http://www.cnblogs.com/key-ok/p/3380535.html
Panel with Button style