Cita:
no te queda mas remedio que usar otro Statusbar
|
No es necesario, se puede hacer de otro modo:
Tenemos la StatusBar con Paneles, pues aquel que se quiera de otro color debe tener su propiedad Style como psOwnerDraw
Luego debemos averiguar la posición izquierda del panel detro de la StatusBar, lo veríamos activando por ejemplo en el evento OnDrawPanel de ésta, se pasará por ese evento cada vez que se tenga que pintar un panel que esté en ese estilo, nos llega con la constante Rect de cada panel y Rect.Left indica dicho valor. Ejemplo en un tercer panel donde Rect.Left := 153:
procedure TFormMain.StatusBarDrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
beginif Rect.Left = 153 then
begin
StatusBar.Canvas.Font.Color:=clRed;
StatusBar.Canvas.TextOut(Rect.Left+3,Rect.Top+2,'El Escrito');
end;
end;