Zeichnen einer Zeichenfolge

Das Thema Zeichnen einer Linie zeigt, wie eine Windows-Anwendung geschrieben wird, die Windows GDI+ zum Zeichnen einer Linie verwendet. Um eine Zeichenfolge zu zeichnen, ersetzen Sie die in diesem Thema gezeigte OnPaint-Funktion durch die folgende OnPaint-Funktion :

VOID OnPaint(HDC hdc)
{
   Graphics    graphics(hdc);
   SolidBrush  brush(Color(255, 0, 0, 255));
   FontFamily  fontFamily(L"Times New Roman");
   Font        font(&fontFamily, 24, FontStyleRegular, UnitPixel);
   PointF      pointF(10.0f, 20.0f);
   
   graphics.DrawString(L"Hello World!", -1, &font, pointF, &brush);
}

Der vorherige Code erstellt mehrere GDI+-Objekte. Das Graphics-Objekt stellt die DrawString-Methode bereit, die die eigentliche Zeichnung ausführt. Das SolidBrush-Objekt gibt die Farbe der Zeichenfolge an.

Der FontFamily-Konstruktor empfängt ein einzelnes Zeichenfolgenargument, das die Schriftfamilie identifiziert. Die Adresse des FontFamily-Objekts ist das erste Argument, das an den Font-Konstruktor übergeben wird. Das zweite Argument, das an den Font-Konstruktor übergeben wird, gibt den Schriftgrad an, und das dritte Argument gibt die Formatvorlage an. Der Wert FontStyleRegular ist ein Element der FontStyle-Enumeration , die in Gdiplusenums.h deklariert wird. Das letzte Argument für den Schriftartkonstruktor gibt an, dass die Schriftgröße (in diesem Fall 24) in Pixeln gemessen wird. Der Wert UnitPixel ist ein Element der Unit-Enumeration .

Das erste Argument, das an die DrawString-Methode übergeben wird, ist die Adresse einer breitzeichenigen Zeichenfolge. Das zweite Argument –1 gibt an, dass die Zeichenfolge null beendet ist. (Wenn die Zeichenfolge nicht null beendet ist, sollte das zweite Argument die Anzahl der breiten Zeichen in der Zeichenfolge angeben.) Das dritte Argument ist die Adresse des Font-Objekts . Das vierte Argument ist ein Verweis auf ein PointF-Objekt , das den Speicherort angibt, an dem die Zeichenfolge gezeichnet wird. Das letzte Argument ist die Adresse des Brush-Objekts , das die Farbe der Zeichenfolge angibt.