Toon posts:

[VB] Hoe krijg ik de keuze voor een printer?

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik ben voor mijn werk een tooltje aan het schrijven wat klantenpasjes moet gaan printen.
Alle gegevens printen lukt maar alleen op de default printer en dat is dus niet de goede.
Weet iemand hoe je dat keuze scherm (net als in word, excel, of wat dan ook) naar boven krijgt?
Of iets als dit: If exist printerx then print else error (maar dan in VB code).

Voorbeeldje is welkom.

Ik gebruik VB 6 enterprise + SP5 onder W2K pro SP2.

PS: programmeerkennis is beperkt.

[ Voor 0% gewijzigd door Verwijderd op 01-09-2002 16:42 . Reden: toevoeging ]


  • Aerox.2000
  • Registratie: Februari 2001
  • Laatst online: 13-05 08:57
Met een CommonDialog?, CommonDialog1.ShowPrinter
voorbeelden zijn wel te vinden op www.pscode.com

  • Kama
  • Registratie: Mei 2002
  • Laatst online: 01-09 14:19

Kama

Aritifical Intelligenticus

Gebruik de Common Dialog control, zit standaard in VB6

En koop een legale versie van VB, daar zit een manual bij.

Niels


  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 21:46

johnwoo

3S-GTE

Dat CommonDialog controltje is niets anders dan een COM wrapper rond enkele API calls.
Het is beter om deze calls direct zelf te doen, dan ben je van die dependency af.

Kijk eens naar de volgende API's:
PageSetupDlg
PrintDlg
PrintDlgEx
(en voor de compleetheid de overige common dialogs:)
ChooseColor
ChooseFont
GetOpenFileName
GetSaveFileName
ReplaceText

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


Verwijderd

johnwoo schreef op 01 september 2002 @ 18:42:
Dat CommonDialog controltje is niets anders dan een COM wrapper rond enkele API calls.
Het is beter om deze calls direct zelf te doen, dan ben je van die dependency af.
"PS: programmeerkennis is beperkt." En dan stuur jij 'm met 'n berg api's op pad :?

Verwijderd

Topicstarter
Kama schreef op 01 september 2002 @ 16:45:
Gebruik de Common Dialog control, zit standaard in VB6

En koop een legale versie van VB, daar zit een manual bij.
Sorry hoor!

Ik heb een legale versie van VB alleen komt deze binnen via ons MSDN abbonement en dan zit er dus geen handleiding bij.
Misschien handig om eerst eens na te denken voordat je mensen beschuldigd van het hebben van illegale software.

* R2D2 wordt een beetje moe van mensen die dircet met illegale software gaan smijten zonder goede reden.
Gewoon vragen mag en als het je niet aanstaat reageer dan niet.

[ Voor 0% gewijzigd door Verwijderd op 01-09-2002 19:39 . Reden: typo ]


Verwijderd

In dat geval moet je in je abo even zoeken naar de msdn library dat is de manual namelijk :Y)

Verwijderd

Topicstarter
Verwijderd schreef op 01 september 2002 @ 19:38:
In dat geval moet je in je abo even zoeken naar de msdn library dat is de manual namelijk :Y)
Weet ik, alleen had ik geen idee waarnaar ik moest zoeken.
Ga bovenstaande suggesties proberen.

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 21:46

johnwoo

3S-GTE

Verwijderd schreef op 01 september 2002 @ 18:46:
[...]


"PS: programmeerkennis is beperkt." En dan stuur jij 'm met 'n berg api's op pad :?
Volgens mij zien mensen het gebruik van API calls onterecht als iets heel ingewikkelds. Als hij verder al een programma af heeft, en hij kan ook al printen e.d., dan is het gebruik van deze API's zeker niet te ingewikkeld. Daarbij zijn ze zeer goed gedocumenteerd (iig deze commondialog API's).

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 30-08 14:10
Standaard VB code waar je wat aan zou kunnen hebben (na aanpassen voor jou gebruik)
The Printers collection enables you to query the available printers so you can specify a default printer for your application. For example, you may want to find out which of the available printers uses a specific printer driver. The following code searches all available printers to locate the first printer with its page orientation set to Portrait, then sets it as the default printer:

Dim X As Printer
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
' Set printer as system default.
Set Printer = X
' Stop looking for a printer.
Exit For
End If
Next

You designate one of the printers in the Printers collection as the default printer by using the Set statement. The preceding example designates the printer identified by the object variable X, the default printer for the application.

Note If you use the Printers collection to specify a particular printer, as in Printers(3), you can only access properties on a read-only basis. To both read and write the properties of an individual printer, you must first make that printer the default printer for the application.
Bron: http://www.experts-exchan...ual_Basic/Q_11963538.html

Verwijderd

Topicstarter
Aerox.2000 schreef op 01 september 2002 @ 16:44:
Met een CommonDialog?, CommonDialog1.ShowPrinter
voorbeelden zijn wel te vinden op www.pscode.com
Werkt perfect, thanx.

Alleen heb ik nog een klein probleempje.
Als de gebruiker op cancel klikt ipv print (in het opgeroepen printer venster) dan print hij alsnog.
Ik heb gezocht bij M$, PScode, Expert exchange, enz... maar kan hier geen voorbeeldje van vinden.

Dit is de code die ik nu gebruik (en dus eigenlijk niet helemaal goed werkt).
code:
1
2
3
4
5
6
Private Sub Print_Click()
'print klantenpas
CommonDialog1.ShowPrinter
Printer.Print Text1 & "     " & Text2
Printer.EndDoc
End Sub

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Dan ga je gaan controleren op welke button geklikt werd, en als dat de OK button is ga je printen anders niet.

P&W is geen forum waar we alles gaan voorkauwen hoor.... Pak zoals gezegd de MSDN er eens bij. Met een beetje logisch na te denken kom je er wel hoor.
Succes.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.