Bonjour,
Esque qcq peut me dire , comment peut on avoir le Canvas en cours d'une imprimante (Bien sur avec la connessance de son handle).
Merci,d'avence.
Salut.
Bonjour,
Esque qcq peut me dire , comment peut on avoir le Canvas en cours d'une imprimante (Bien sur avec la connessance de son handle).
Merci,d'avence.
Salut.
Bonjour,
En utilisantça ne marcherait pas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Tprinter.canvas;
Cordialement,
Hauwke
salut
pour etre exact c'est printer que tu doit utiliser et non tprinter
@+ Phil
Ps : mettre le tag résolu si la question est terminé ,merci
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Bonjour,
Merci, pour toutes vos réponses , mais j'ai daja essayer cette methode est ça ne me resoud pas mon pb , car le TPrint de l'unit Printers, donne acces effectivement à un canvas ,mais sellement de mon application, Cad, si une autre application imprime sur limprimante "Index=1" ,quand je visionne son canvas Avec Printer je n'ai aucune information.
Donc pour etre un peut Explicite je reformule mon Pb,
Mon aplication est faite comme suit:
1- Elle intercepte un evenement imprimante ,sur le poste local ,mais le pb avec ce message windows ,il me rensigne pas sur l'identité de l'imprimante ,ni sur le Job à faire ni sur le canvas , qui à été ordonnée d'imprimé (Bien Sur par une autre Application).
2-Pour intercepter le Job de cette evenement , je pourait appler les Api windows , "EnumPrinters" puis "EnumJobs" sur chaque imprimante ,Mais le pb GetJob me demande un Identificateur du Job , et cette information je ne la possede pas.
Voila que croit que le pb est un peut mieu cadré , et encore merci pour vos réponse , et votre Patience .
Merci d'avence .
salut.
salut
voici un exemple pour recuperer les info d'un job
la premiere operation consiste a liste les job et les mettre
dans un lisbox la seconde et de recuperer l'info quand on click sur la listbox
@+ Phil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 procedure TForm1.Button9Click(Sender: TObject); type TJobs = Array [0..1000] of JOB_INFO_1; PJobs = ^TJobs; var hPrinter : THandle; bytesNeeded, numJobs, i: Cardinal; pJ : PJobs; begin hPrinter:= GetCurrentPrinterHandle; try EnumJobs( hPrinter, 0, 1000, 1, Nil, 0, bytesNeeded, numJobs ); pJ := AllocMem( bytesNeeded ); If not EnumJobs( hPrinter, 0, 1000, 1, pJ, bytesNeeded, bytesNeeded, numJobs ) Then RaiseLastWin32Error; ListBox1.clear; if numJobs = 0 Then ListBox1.Items.add('No jobs in queue') else For i:= 0 to Pred(numJobs) Do ListBox1.Items.AddObject( Format('Job %s, Status (%d): %s',[SavePChar(pJ^[i].pDocument), pJ^[i].Status,SavePChar(pJ^[i].pStatus)]) ,Tobject(@JOB_INFO_1(pJ^[i]) ) ); finally ClosePrinter( hPrinter ); end; end; procedure TForm1.ListBox1Click(Sender: TObject); var Jobs : JOB_INFO_1; obj : Tobject; begin obj := ListBox1.Items.Objects[ListBox1.ItemIndex]; Jobs :=JOB_INFO_1(Pointer(obj)^); end;
Blaise PascalNous souhaitons la vérité et nous trouvons qu'incertitude. [...]
Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
PS : n'oubliez pas le tag
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager