vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
Re: Textausdruck um 90 grad gedreht 
Autor: ModeratorDieter (Moderator)
Datum: 13.07.01 22:24

Hallo Otto,

hier der Code:
<code><font color=green>' zunächst die benötigten API-Deklarationen</font>
Private Declare Function CreateFontIndirect Lib "gdi32" Alias _
  "CreateFontIndirectA" (lpLogFont As LOGFONT) 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 Const LF_FACESIZE = 32
Private Const ANTIALIASED_QUALITY = 4
Private Const FW_NORMAL = 400
Private Const FW_BOLD = 700
Private Const DEFAULT_CHARSET = 1
Private Const OUT_TT_PRECIS = 4
Private Const VARIABLE_PITCH = 2
 
Private Type LOGFONT
  lfHeight As Long
  lfWidth As Long
  lfEscapement As Long
  lfOrientation As Long
  lfWeight As Long
  lfItalic As Byte
  lfUnderline As Byte
  lfStrikeOut As Byte
  lfCharSet As Byte
  lfOutPrecision As Byte
  lfClipPrecision As Byte
  lfQuality As Byte
  lfPitchAndFamily As Byte
  lfFaceName As String * LF_FACESIZE
End Type
 
<font color=green>' Text-Ausgabe im Winkel 90°</font>
Private Function PrintRotatedText(prnObj As Object, ByVal Text As String) As _
  Boolean
  Dim RotFont As LOGFONT
  Dim OrgFont As Long
  Dim hFont As Long
  Dim X As Single
  Dim Y As Single
  Dim xSize As Long
  Dim ySize As Long
 
  Const Winkel = 90
 
  On Local Error GoTo Error_PrintRotatedText
 
  With prnObj
    <font color=green>' LOGFONT definieren</font>
    With RotFont
      .lfEscapement = CLng(Winkel * 10)
      .lfFaceName = prnObj.Font.Name
      .lfHeight = prnObj.Font.Size * -20 / _
        Screen.TwipsPerPixelY
      .lfWeight = IIf(prnObj.Font.Bold, FW_BOLD, FW_NORMAL)
      .lfItalic = IIf(prnObj.Font.Italic, 1, 0)
      .lfOutPrecision = OUT_TT_PRECIS
      .lfQuality = ANTIALIASED_QUALITY
      .lfCharSet = DEFAULT_CHARSET
      .lfPitchAndFamily = VARIABLE_PITCH
    End With
 
    <font color=green>' Font-Objekt erzeugen und zuweisen</font>
    hFont = CreateFontIndirect(RotFont)
    OrgFont = SelectObject(.hDC, hFont)
 
    <font color=green>' Größe (Maße) des Textes</font>
    xSize = .TextWidth(Text)
    ySize = .TextHeight(Text)
 
    <font color=green>' Position</font>
    Y = .CurrentY + xSize
    X = .CurrentX
    .CurrentX = X
    .CurrentY = Y
 
    <font color=green>' Text ausgeben</font>
    prnObj.Print Text
 
    <font color=green>' Originalfont wiederherstellen</font>
    SelectObject .hDC, OrgFont
 
    <font color=green>' neuen Font löschen</font>
    DeleteObject hFont
  End With
  PrintRotatedText = True
  Exit Function
 
Error_PrintRotatedText:
  PrintRotatedText = False
End Function</code>
Beispiel:
<code><font color=green>' Ausgabe auf Drucker an aktuelle Druckposition</font>
With Printer.Font
  .Name = "Arial"
  .Size = 14
  .Bold = True
End With
PrintRotatedText Printer, "www.vbarchiv.de"</code>
Ich denke, damit lässt sich doch schon mal einige anfangen

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Textausdruck um 90 grad gedreht92otto13.07.01 21:21
Re: Textausdruck um 90 grad gedreht645ModeratorDieter13.07.01 22:24
Re: Textausdruck um 90 grad gedreht67otto15.07.01 17:09

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel