Textabstand in CStatic



  • Hi!
    Ich habe in meinem Dialog ein paar mehrzeilige CStatic Textfelder mit sichtbarem Rand. Dummerweise beginnt die Schrift bereits mit dem ersten Pixel des Client-Bereichs, das finde ich optisch irgendwie nicht so optimal.

    Frage: Gibt's eine Möglichkeit den Abstand zwischen Rand und Text bei CStatic-Controls zu vergrößern?

    Schonmal Danke für Eure Ideen 🙂

    Gruß Theo



  • Das einfachste wäre sicherlich, das Static kleiner zu machen (und evtl. den rest zu füllen). Was natürlich nix bringt wenn die statics einen Rand haben.

    Ansonsten hilft nur subclassen + selber malen.



  • Eine Subklasse von CStatic habe ich ohnehin schon.
    Ich bräuchte nur noch eine Idee bei welcher Nachricht (OnPaint?) ich die Sache anpacke + mit welcher Funktion man Text malt... 😕

    Thx schonmal! 🙂

    Gruß Theo



  • Die message ist WM_PAINT, die nachricht OnPaint.

    Am besten mal in der MSDN nachgucken, worauf man da so aufpassen muß, aber im Endeffekt brauchst du nur den richtigen Font selektieren (Mit getFont vom static holen, dann mit SelectObject im DC auswählen) und DrawText zum schreiben (da bigt es eine Menge flags, z.B. DT_WORDBREAK zum umbrechen)


Anmelden zum Antworten