Hallo zusammen,
ich starte hier noch einmal einen Versuch ...
Hier schonmal mein Code: (Diese Procedure wird mit dem OnDrawTab-Ereignis von einem TPageControl aufgerufen)
Delphi-Quellcode:
procedure Berechtigung_Tab_zeichnen(PageControl: TPageControl; Berechtigt: Boolean;Control: TCustomTabControl; Der_TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
Beschriftung: String;
begin
with Control as TPageControl do
begin
Beschriftung := Pages[Der_Tabindex].Caption;
If Berechtigt = TRUE then
begin
//Wenn Berechtigt wird normal gezeichnet
Canvas.Brush.Style := bssolid;
If Alarm_rot_zeichnen(Pages[Der_TabIndex].Name) = TRUE then Canvas.Brush.Color := clRed;
Canvas.Font.Color := clbtntext;
Canvas.TextOut(rect.left,rect.top,Beschriftung);
end
else
begin
//Wenn nicht berechtigt wird enabled gezeichnet
Canvas.Brush.Style := bssolid;
Canvas.Font.Color := clbtntext;
DrawState(Canvas.Handle, Canvas.Brush.Handle, nil, Integer(Beschriftung), 0,
rect.left,rect.top,0,0,DST_TEXT or DSS_DISABLED);
end;
end;
end;
Wie bekomme ich es nun hin, wenn ein Tab von dem PageControl TabVisible = FALSE ist, dass die Tabgrössen (Rect) und die Beschriftungen für die restlichen Tabs richtig bzw. an der richtigen Stelle gezeichnet werden ?
Gruss
Holger