Einzelnen Beitrag anzeigen

HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

TabVisible -> Bei selber zeichnen

  Alt 1. Apr 2008, 11:32
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
  Mit Zitat antworten Zitat