Parametri di stampa
Moderator: Enrico Maria Giordano
Parametri di stampa
Se io selezionassi un tipo di pagina per la stampa ad esempio DMPAPER 3 ( A4)
c'è un metodo o una funzione che mi restituisca il tipo di carta selezionata e i parametri della larghezza, lunghezza, margine destri, margine sinistro, superiore, inferiore ?
Grazie
c'è un metodo o una funzione che mi restituisca il tipo di carta selezionata e i parametri della larghezza, lunghezza, margine destri, margine sinistro, superiore, inferiore ?
Grazie
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Parametri di stampa
Per quanto riguarda le dimensioni del foglio prova il metodo TPrinter:GetPhySize() oppure la funzione PrnGetSize(). Per i margini prova le variabili TPrinter:nXOffset (margine sinistro dell'area stampabile) e TPrinter:nYOffset (margine superiore dell'area stampabile) oppure la funzione PrnOffset().Silvio wrote:Se io selezionassi un tipo di pagina per la stampa ad esempio DMPAPER 3 ( A4)
c'è un metodo o una funzione che mi restituisca il tipo di carta selezionata e i parametri della larghezza, lunghezza, margine destri, margine sinistro, superiore, inferiore ?
Grazie
EMG
si anche un altra volta mi ha detto così ....
Ma si ha il caso che io non sono sulla classe Tprinter e quindi io il foglio di carta non c'è l'ho lo devo creare ...
Spiego meglio
io ho una dialog :
Nuovo formato -> si apre una dialog con un combobox con i tipi di carta
ON CHANGE -> mi deve restituire la larghezza e la lunghezza .... poi su 4 get io posso chiedere all'utente i margini ( destro sinistro,sup,inf)
Spero che abbia capito...
Ma si ha il caso che io non sono sulla classe Tprinter e quindi io il foglio di carta non c'è l'ho lo devo creare ...
Spiego meglio
io ho una dialog :
Nuovo formato -> si apre una dialog con un combobox con i tipi di carta
ON CHANGE -> mi deve restituire la larghezza e la lunghezza .... poi su 4 get io posso chiedere all'utente i margini ( destro sinistro,sup,inf)
Spero che abbia capito...
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
io devo mettere in u combo tutti i formati che in quel momento la mia stampante supporta
c'è un metodo veloce per esempio
grazie
c'è un metodo veloce per esempio
Code: Select all
LOCAL aLbx := dammi i formati()
LOCAL nLbx := 1
LOCAL lOk := .F.
LOCAL oDlg, oLbx, i
DEFINE DIALOG oDlg RESOURCE "Formati" FONT ::oFont
REDEFINE LISTBOX oLbx VAR nLbx ITEMS aLbx ID 101 OF oDlg
REDEFINE BUTTON ID 201 ACTION ( lOk := .T., oDlg:End() )
REDEFINE BUTTON ID 202 ACTION ( oDlg:End() )
ACTIVATE DIALOG oDlg CENTER
if lOk
? aLbx[ nLbx ]
endif
RETURN NIL
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
HAi ragione ma per esempio ho visto in ER che lui fa definire la pagina senza che nessuna stampante sia stata creata in windows cioè funzia anchese non c'ènessna stampante installata sul pc o on lineOps, è vero. Però, pensandoci bene, non mi pare possibile definire la carta prima di definire una stampante. Il tipo di carta infatti, come confermano le API utilizzate dalle funzioni PrnGetSize() e PrnOffset(), è una caratteristica della specifica stampante utilizzata.
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
Bene secondo te dovrei definire hdc diciamo che è oprn quindi oprn:prngetsize()No, perché, appunto, non hai ancora definito qual'è la "tua stampante" e quindi il sistema non può sapere a quale ti riferisci. Comunque anche definendo prima la stampante non ti saprei dire lo stesso come fare a (né se sia possibile) tirare fuori i formati di carta supportati.
e per avere i formati in un array ?
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Probabilmente riempie un array con *tutti* i principali formati disponibili (che trovi, ad esempio, in printer.prg) indipendentemente dalla stampante. Può essere?Silvio wrote:HAi ragione ma per esempio ho visto in ER che lui fa definire la pagina senza che nessuna stampante sia stata creata in windows cioè funzia anchese non c'ènessna stampante installata sul pc o on line
EMG
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact: