ownerdrawn

___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123gdi ___ Graphics Device Interface (GDI) ist eine geräteunabhängige, reine Software-Grafik-API unter dem Windows-Betriebssystem zum Zeichnen von grafischen Grundelementen und Text. Es ist die zugrunde liegende Basis zum Rendern der Windows-GUI-Elemente. ___ tag123owndrawn ___ Dies ermöglicht dem Benutzer, zur Laufzeit in der Win32 API benutzerdefinierte Steuerelemente zu zeichnen. Jedes vorhandene Steuerelement kann durch die Paint-Nachricht geändert werden. Dies ist C, C ++, C # und Delphi anwendbar. ___ qstntxt ___

Ich benutze die Funktion %code% , aber sie zeichnet den Text mit wenig Platz um den Text herum. Irgendeine Idee, wie man die Zeichenkette ohne dieses Padding zeichnet, nur die Pfade des Textes?

Mein Code ist wie folgt:

%Vor%     
___ answer17551110 ___

Was passiert ist unter der Haube ist es wahrscheinlich Graphics.MeasureString (), aus der Dokumentation:

  

GDI + fügt jedem Ende jeder angezeigten Zeichenfolge eine kleine Menge (1/6 em) hinzu. Diese 1/6 em erlaubt & gt; für Glyphen mit überhängenden Enden (wie kursiv "f") und gibt GDI + auch eine kleine Menge & gt; von Spielraum, um bei der Anpassung der Gitteranpassung zu helfen.

     

Die Standardaktion von DrawString funktioniert bei der Anzeige benachbarter Läufe gegen Sie:

     

Zunächst fügt das Standard-StringFormat an jedem Ende jeder Ausgabe ein zusätzliches 1/6 em hinzu;   Zweitens, wenn die Breite des Gitters geringer ist als vorgesehen, kann sich die Schnur zusammenziehen   bis zu einem em.   Um diese Probleme zu vermeiden:

     

Übergeben Sie immer MeasureString und DrawString ein StringFormat basierend auf dem typografischen & gt; StringFormat (GenericTypographic).   Legen Sie Graphics TextRenderingHint auf TextRenderingHintAntiAlias ​​fest. Diese Rendering-Methode verwendet Anti-Aliasing und Sub-Pixel-Glyph-Positionierung, um die Notwendigkeit einer Gitteranpassung zu vermeiden, und & gt; ist somit von Natur aus unabhängig von der Auflösung.

Es sieht also so aus, als könnten Sie das mit dem richtigen StringFormat beheben.

    
___ qstnhdr ___ Wie zeichnet man einen String ohne Padding? ___
1
Antwort

Probleme mit TreeView.DrawNode - OwnerDrawText

Ich habe eine App, die mit einem Remote-Server verbunden ist und Daten abfragt, wenn sie benötigt werden. Es hat eine TreeView, wo die Knoten die verfügbaren Objekte darstellen und die Farbe des Textes anzeigt, ob die Daten geladen wurden oder n...
12.01.2010, 22:49
1
Antwort

Wie zeichnet man das formatierte Auswahlrechteck von TTreeView während AdvancedCustomDrawItem?

Ich mache die benutzerdefinierte TTreeView Zeichnung von Grund auf neu mit OnAdvancedCustomDrawItem event, und ich frage mich, wie ich diese Auswahl und die heißen Rechtecke korrekt in den Hintergrund meiner Elemente für die Eigentümerzeic...
07.06.2012, 11:14
3
Antworten

Wie aktiviere ich die Doppelpufferung eines Controls mit C # (Windows Forms)?

Wie aktiviere ich die Doppelpufferung eines Steuerelements mit C # (Windows Forms)? Ich habe ein Panel-Steuerelement, in das ich Sachen zeichne, und auch ein vom Besitzer gezeichnetes Tab-Control. Beide leiden unter Flickern. Wie kann ich die...
20.10.2008, 21:57
1
Antwort

C #: TreeView Besitzer Zeichnung mit ownerdrawtext und die seltsame schwarze Hervorhebung beim Klicken auf einen Knoten

Ich habe den DrawMode auf OwnerDrawText gesetzt und an das DrawNode-Ereignis angeheftet, meinen Code hinzugefügt, um den Text so zu zeichnen, wie ich möchte, und alles funktioniert gut, abgesehen von einigen seltsamen schwarzen Hervorhebungen, w...
16.06.2009, 19:18
1
Antwort

Wie zeichnet man einen String ohne Padding?

Ich benutze die Funktion GraphicsPath.AddString() , aber sie zeichnet den Text mit wenig Platz um den Text herum. Irgendeine Idee, wie man die Zeichenkette ohne dieses Padding zeichnet, nur die Pfade des Textes? Mein Code ist wie folgt: %...
04.04.2013, 13:24