vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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

Fortgeschrittene Programmierung
problem bei druckdialog per api 
Autor: Georgie
Datum: 13.12.04 18:46

hallo @all,

ich habe folgendes problem: ich rufe den druckdialog von windows per api (code siehe unten) auf. wenn man in dem dialog aber nun nicht den standarddrucker wählt, sondern einen anderen, wird alles trotzdem auf dem standardrucker ausgegeben.
ich bekomme ja den hdc des gewählten druckers zurück. nur will ich weiterhin mein printer-objekt benutzen. um das zutun habe ich das probiert: Printer.hdc = PrinterDC geht aber nicht. Hat jemand eine Idee, wie man das lösen kann?

hier nun mal mein code:
Private Function DLG_Printer(ByVal ParentHwnd As Long, ByVal flags As Long, _
                     ByRef FromPage As Long, ByRef ToPage As Long, _
                     ByRef MinPage As Long, ByRef MaxPage As Long, _
                     ByRef PrinterDC As Long, ByRef PrintToFile As Boolean, _
                     ByRef NumberOfCopies As Long, ByRef PrintOnlySelection As _
                     Boolean, _
                     ByRef PageString As String, ByRef PrintSorted As Boolean) _
                     As Long
  Dim pd As tPRINTDLG, r As Long
  With pd
    .lStructSize = Len(pd)
    .hwndOwner = ParentHwnd
    .nCopies = NumberOfCopies
    .nFromPage = FromPage
    .nToPage = ToPage
    .nMaxPage = MaxPage
    .nMinPage = MinPage
    flags = flags Or PD_RETURNDC
    If ParentHwnd = 0 Then flags = flags And Not PD_SHOWHELP
    .flags = flags
  End With
  r = PrintDlg(pd)
  If r Then
    With pd
      FromPage = .nFromPage
      ToPage = .nToPage
      MaxPage = .nMaxPage
      MinPage = .nMinPage
      PrinterDC = .hDC
      Printer.hDC = PrinterDC
      NumberOfCopies = .nCopies
      PageString = "" & .nMinPage & "-" & .nMaxPage
      If (.flags And PD_PAGENUMS) Then PageString = "" & .nFromPage & "-" & _
        .nToPage
      PrintToFile = ((.flags And PD_PRINTTOFILE) <> 0)
      PrintOnlySelection = ((.flags And PD_SELECTION) <> 0)
      PrintSorted = ((.flags And PD_COLLATE) <> 0)
      If PrintOnlySelection Then PageString = ""
    End With
  End If
  DLG_Printer = r
End Function
danke georg
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
problem bei druckdialog per api822Georgie13.12.04 18:46
Re: problem bei druckdialog per api416ModeratorDieter14.12.04 07:22
Re: problem bei druckdialog per api384Georgie14.12.04 08:25

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