Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   checkbox text zentrieren (https://www.delphipraxis.net/175092-checkbox-text-zentrieren.html)

EWeiss 29. Mai 2013 20:47

checkbox text zentrieren
 
Jemand ne Idee wie ich Text in einer Checkbox zentrieren kann ohne dabei das Flag BS_AUTOCHECKBOX zu verlieren?

Die Ckeckbox soll nachher wie ein Button aussehen incl. Beschriftung.

Im moment vergleiche ich beim zeichnen des Textes auf BS_AUTOCHECKBOX

Delphi-Quellcode:
      if ButtonStyle = BS_AUTOCHECKBOX then
      begin
        Img := SkinEngine.GetButImageBackProperty(WinHandle);
        SkinEngine.GetImageSize(Img, ImgW, ImgH);
        x := ImgW div 2 + 2;
      end
      else if ButtonStyle = BS_LABEL_LEFT then
      begin
        x := 0;
      end
      else if ButtonStyle = BS_LABEL_RIGHT then
      begin
        GetClientRect(WinHandle, rc);
        x := rc.Right - dW;
      end
      else if ButtonStyle = BS_LABEL_MULTILINE then
      begin
        x  := 0;
        y  := 0;
        dW := xW;
        dH := yH;
        UseStrFormat := BS_LABEL_MULTILINE;
      end
      else
        x := MAX((xW - dW) div 2, 0);

      Result := DrawStringFormatedEx(Graphics, UseText, x, y, dW,
        dH, ColrARGB, SkinEngine.SK_TEXTRENDERING, TempFont, Use3D, UseStrFormat);

      GdipDeleteFont(TempFont); // Lösche das Font Object
Deaktiviere ich
if ButtonStyle = BS_AUTOCHECKBOX then.. blabla

kann ich den Text zentriert auf die Checkbox zeichnen dann geht mir aber
die berechnung für die Standard Checkboxen verloren wo der Text rechts davon gezeichnet wird.

Notfalls muss ich mir halt noch ein Flag zu meinen Standard Buttons addieren
um eine Checkbox zu emulieren "BST_PUSHED, BS_PUSHLIKE"

gruss

EWeiss 31. Mai 2013 10:03

AW: checkbox text zentrieren
 
Hab es gelöst ;)

Die Button für die Organisation der Tabsheets(Panels) sind Checkboxen mit Zentrierten Text.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz