Deklaration: Declare Function ExtTextOut Lib "gdi32" _ Alias "ExtTextOutA" ( _ ByVal hdc As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal wOptions As Long, _ lpRect As Any, _ ByVal lpString As String, _ ByVal nCount As Long, _ lpDx As Long) As Long Beschreibung: Parameter:
fuOptions Konstanten: Const ETO_CLIPPED = 4 ' Der Text wird auf das Ziel zurechgeschnitten Const ETO_GLYPH_INDEX = &H10 ' (ab Win 95 / NT 4.0 und Später) bei lpString wird die Rückgabe der ' GetCharacterPlacement-Funktion übergebeben Const ETO_IGNORELANGUAGE = &H1000 ' (Win NT 4.0 und Später) Es wird kein Scripting Support eingeschaltet, dies ' kann dazu führen, dass der Text nicht angezeigt werden kann Const ETO_NUMERICSLATIN = &H800 ' (Win 96 / NT 4.0 und Später) Wird benutzt um Europäische Zahlen anzuzeigen Const ETO_NUMERICSLOCAL = &H400 ' (Win 96 / NT 4.0 und Später) Wird benutzt um lokale Zahlen anzuzeigen Const ETO_OPAQUE = 2 ' Die aktuelle Hintergrundfarbe wird verwendet um die Hintergrundfarbe des ' Ziels auszufüllen Const ETO_PDY = &H2000 ' (Win 2000 / XP) bei lpDX wird ein Pointer zu einem 2 Felder großen Array ' übergeben, das die Abstände (x und y) zwischen den Buchstaben enthält Const ETO_RTLREADING = &H80 ' (Win 95 / NT 4.0 und später bei Ost Asiatischen Windows Versionen) Der ' Text wird, wenn möglich, von rechts nach links ausgegeben Rückgabewert: Beispiel: Private Declare Function GetTextAlign Lib "gdi32.dll" ( _ ByVal hdc As Long) As Long Private Declare Function SetTextAlign Lib "gdi32.dll" ( _ ByVal hdc As Long, _ ByVal wFlags As Long) As Long Private Declare Function CreateFont Lib "gdi32.dll" _ Alias "CreateFontA" ( _ ByVal nHeight As Long, _ ByVal nWidth As Long, _ ByVal nEscapement As Long, _ ByVal nOrientation As Long, _ ByVal fnWeight As Long, _ ByVal fdwItalic As Long, _ ByVal fdwUnderline As Long, _ ByVal fdwStrikeOut As Long, _ ByVal fdwCharSet As Long, _ ByVal fdwOutputPrecision As Long, _ ByVal fdwClipPrecision As Long, _ ByVal fdwQuality As Long, _ ByVal fdwPitchAndFamily As Long, _ ByVal lpszFace As String) As Long Private Declare Function ExtTextOut Lib "gdi32" _ Alias "ExtTextOutA" ( _ ByVal hdc As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal wOptions As Long, _ lpRect As Any, _ ByVal lpString As String, _ ByVal nCount As Long, _ lpDx As Long) As Long Private Declare Function SelectObject Lib "gdi32" ( _ ByVal hdc As Long, _ ByVal hObject As Long) As Long Private Declare Function DeleteObject Lib "gdi32" ( _ ByVal hObject As Long) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type ' CreateFont fnWeight-Konstanten Const FW_DONTCARE = 0 ' Standard Const FW_THIN = 100 ' Super dünn Const FW_EXTRALIGHT = 200 ' Extra dünn Const FW_LIGHT = 300 ' Dünn Const FW_NORMAL = 400 ' Normal Const FW_MEDIUM = 500 ' Mittel Const FW_SEMIBOLD = 600 ' Etwas dicker Const FW_BOLD = 700 ' Fett Const FW_EXTRABOLD = 800 ' Extra fett Const FW_HEAVY = 900 ' Super fett ' CreateFont fdwCharSet-Konstanten Const ANSI_CHARSET = 0 ' Ansi Zeichensatz Const ARABIC_CHARSET = 178 ' Arabisch (NT/2000) Const BALTIC_CHARSET = 186 ' Baltisch (Win 9x) Const CHINESEBIG5_CHARSET = 136 ' Chinesisch Const DEFAULT_CHARSET = 1 ' Standard Const EASTEUROPE_CHARSET = 238 ' Osteuropäisch (Win 9x) Const GB2312_CHARSET = 134 ' Englisch Const GREEK_CHARSET = 161 ' Griechisch (Win 9x) Const HANGEUL_CHARSET = 129 ' Handgeul Const HEBREW_CHARSET = 177 ' Hebräisch (NT/2000) Const JOHAB_CHARSET = 130 ' Johab (Win 9x) Const MAC_CHARSET = 77 ' Mac (Win 9x) Const OEM_CHARSET = 255 ' OEM Const RUSSIAN_CHARSET = 204 ' Russisch (Win 9x) Const SHIFTJIS_CHARSET = 128 ' ShiftJis Const SYMBOL_CHARSET = 2 ' Symbolisch Const THAI_CHARSET = 222 ' Thailändisch (NT/2000) Const TURKISH_CHARSET = 162 ' Türkisch (Win 9x) ' CreateFont fdwOutPrecision-Konstanten Const OUT_DEFAULT_PRECIS = 0 ' Benutzt den Standard-Font Const OUT_DEVICE_PRECIS = 5 ' Benutzt einen Device-Font wenn mehrere Dateien ' mit dem selben Namen existieren Const OUT_OUTLINE_PRECIS = 8 ' (NT/2000) Benutzt eine TureType-Schriftart ' oder Outline-Based Fonts. Const OUT_RASTER_PRECIS = 6 ' Benutzt einen Raster-Font wenn mehrere Dateien ' mit dem selben Namen existieren Const OUT_STRING_PRECIS = 1 ' Raster-Font für die Enumeration Const OUT_STROKE_PRECIS = 3 ' (Win 9x) Vector Font für die Enumeration ' (NT/2000) TrueType, Outline-Based oder VectorFont für die Enumeration Const OUT_TT_ONLY_PRECIS = 7 ' Benutzt eine TrueType-Schriftart Const OUT_TT_PRECIS = 4 ' Benutzt einen TrueType-Font wenn andere Fonts mit ' dem selben Namen existieren ' CreateFont fdwClipPrecision-Konstanten Const CLIP_DEFAULT_PRECIS = 0 ' Standard Const CLIP_EMBEDDED = 128 ' wird benutzt für eingebettete schreibgeschützte Fonts Const CLIP_LH_ANGLES = 16 ' Die Richtung von irgendwelchen Rotationen wird ' vom Koordinatensystem festgelegt (gegen den Uhrzeigersinn) Const CLIP_STROKE_PRECIS = 2 ' Raster Vector oder TrueType Fonts für die Enumeration ' CreateFont fdwQuality-Konstanten Const ANTIALIASED_QUALITY = 4 ' (Win 9x, NT 4.0, 2000) Die Schriftart wird ' immer mit Anitaliasing gezeichnet, wenn möglich Const DEFAULT_QUALITY = 0 ' Standard Qualität Const DRAFT_QUALITY = 1 ' Das Erscheinen der Fonts ist wenig wichtig wie ' bei PROOF_QUALITY Const NONANTIALIASED_QUALITY = 3 ' (Win 9x, NT 4.0, 2000) Die Schriftart ' wird nicht mit Anitaliasing gezeichnet Const PROOF_QUALITY = 2 ' Die Qualität der Erscheinung ist wichtiger als ' das exakte Übereinstimmen mit den Font-Attributen ' CreateFont fdwPitchAndFamily-Konstanten Const DEFAULT_PITCH = 0 ' Standard Const FIXED_PITCH = 1 ' Fest Const VARIABLE_PITCH = 2 ' Variabel Const FF_DECORATIVE = 80 ' Dekoriert Const FF_DONTCARE = 0 ' Egal Const FF_MODERN = 48 ' Modern Const FF_ROMAN = 16 ' Roman Const FF_SCRIPT = 64 ' Script Const FF_SWISS = 32 ' Swiss ' Get- / SetTextAlign Rückgabe- / wFlags-Konstanten Private Const TA_BASELINE = 24 ' Alle Textausgaben erfolgen Private Const TA_BOTTOM = 8 ' Alle Textausgaben werden unterhalb der ' angegebenen Koordinaten ausgegeben Private Const TA_CENTER = 6 ' Alle Textausgaben werden mittig der ' angegebenen Koordinaten ausgegeben Private Const TA_LEFT = 0 ' Alle Textausgaben werden links von den ' angegebenen Koordinaten ausgegeben Private Const TA_NOUPDATECP = 0 ' Der aktuelle Punkt wird nicht zum ' Referenzpunkt gemacht Private Const TA_RIGHT = 2 ' Alle Textausgaben werden Rechts von den ' angegebenen Koordinaten ausgegeben Private Const TA_TOP = 0 ' Alle Textausgaben werden oberhalb der angegebenen ' Koordinaten ausgegeben Private Const TA_UPDATECP = 1 ' die Aktuelle Position wird zum Referenzpunkt gemacht Private Const TA_RTLREADING = 256 ' der Text wird, wenn möglich, von rechts ' nach links ausgegeben ' ExtTextOut wOptions-Konstanten Private Const ETO_CLIPPED = 4 ' Der Text wird auf das Ziel zurechgeschnitten Private Const ETO_GLYPH_INDEX = &H10 ' (ab Win 95 / NT 4.0 und Später) bei lpString wird die Rückgabe ' der GetCharacterPlacement-Funktion übergebeben Private Const ETO_IGNORELANGUAGE = &H1000 ' (Win NT 4.0 und Später) Es wird kein Scripting Support ' eingeschaltet, dies kann dazu führen das der Text ' nicht angezeigt werden kann Private Const ETO_NUMERICSLATIN = &H800 ' (Win 96 / NT 4.0 und Später) Wird ' benutzt um Europäische Zahlen anzuzeigen Private Const ETO_NUMERICSLOCAL = &H400 ' (Win 96 / NT 4.0 und Später) Wird ' benutzt um Lokale Zahlen anzuzeigen Private Const ETO_OPAQUE = 2 ' Die aktuelle Hintergrundfarbe wird verwendet ' um die Hintergrundfarbe des Ziels auszufüllen Private Const ETO_PDY = &H2000 ' (Win 2000 / XP) bei lpDX wird ein Pointer zu einem 2 Felder ' großem Array übergeben das die Abstände (x und y) ' zwischen den Buchstaben enthält Private Const ETO_RTLREADING = &H80 ' (Win 95 / NT 4.0 und später bei Ost-Asiatischen Windows Versionen) ' Der Text wird, wenn möglich, von rechts nach links ausgegeben ' Zeichnet einen Text inmitten des Fensters Private Sub Command1_Click() Dim Retval As Long, hOldFont As Long, Distance() As Long Dim OutStr As String ' Text für die Ausgabe bestimmt OutStr = "VB Api Helpline" ' Form Maßeinheit auf Pixel stellen (AutoRedraw muss True sein !!) Me.ScaleMode = vbPixels ' Aktuelle Textausrichtung ermitteln Retval = GetTextAlign(Me.hdc) ' Aktuelle Textausrichtung auswerten If CBool(Retval And TA_CENTER) Then Debug.Print "Der Text wird _ Zentriert am Referenzpunkt ausgegeben" If CBool(Retval And TA_TOP) Then Debug.Print "Der Text wird Oberhalb _ des Referenzpunktes ausgegeben" ' und so weiter... ' Neue Textausrichtung einstellen (Alle Textausgaben erfolgen zentriert ' und unterhalb der übergebenen Koordinaten) SetTextAlign Me.hdc, TA_CENTER Or TA_BOTTOM Or TA_NOUPDATECP ' Font erstellen Retval = CreateFont(0, 0, 0, 0, FW_BOLD, 0, 0, 0, DEFAULT_CHARSET, _ OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, _ DEFAULT_PITCH Or FF_DECORATIVE, "Times New Roman") If Retval = 0 Then Exit Sub ' Font der Form zuweisen und alten Font zwischenspeichern hOldFont = SelectObject(Me.hdc, Retval) ' Distanz zwischen den Buchstaben setzten ReDim Distance(Len(OutStr) - 1) For i = 0 To UBound(Distance) Distance(i) = Me.TextWidth(Mid$(OutStr, i + 1, 1)) + 20 Next i ' Einen Text ausgeben in der Mitte des Fensters ExtTextOut Me.hdc, Me.ScaleWidth / 2, Me.ScaleHeight / 2, ETO_OPAQUE, _ ByVal 0&, OutStr, Len(OutStr), Distance(0) ' Altes Font wiederherstellen und erstellten Font löschen DeleteObject SelectObject(Me.hdc, hOldFont) Me.Refresh End Sub Diese Seite wurde bereits 9.309 mal aufgerufen. |
sevAniGif (VB/VBA) ![]() Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Buchempfehlung Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |