Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Was mache ich hier falsch (Ownerdraw TToolbar)?

  Alt 18. Apr 2014, 23:45
Vorteilhafter ist es gleich mit Delphi-Referenz durchsuchenTFontRecall oder auch Delphi-Referenz durchsuchenTRecall zu arbeiten, dann kann man völlig frei am Font ändern was man möchte und am Ende wird es wieder auf die Originalwerte zurückgesetzt
Delphi-Quellcode:
procedure THauptformular.ToolBar1CustomDraw(Sender: TToolBar; const ARect: TRect; var DefaultDraw: Boolean);
var
  LFontRecall : TFontRecall;
begin
  LFontRecall := TFontRecall.Create( Toolbar1.Canvas.Font );
  try
   
    for L := 0 to MainMenu1.Items.Count - 1 do
    begin
     
      if MouseInRect(tp.X, tp.y, ar.Left-5, r.Top, ar.Right-5, ar.Bottom) then
      begin
        Toolbar1.Canvas.Font.Color := clBlack;

        DrawText (Toolbar1.Canvas.Handle, Pchar (s), -1, r, DT_Left + DT_VCenter);

        break;
      end;
    end;
  finally
    // die originalen Font-Eigenscshaften werden zurückgeschrieben
    LFontRecall.Free;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat