IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[Impression] Définir la taille du papier


Sujet :

Windows

  1. #1
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut [Impression] Définir la taille du papier
    Bonjour,

    Quelles fonctions de l'API Windows utiliser pour définir les dimensions du papier d'une imprimante :
    En fait c'est ce que l'on fait dans Word à partir du Menu Fichier, Mise en Page, Onglet Taille, Taille Personnalisée, Largeur et Hauteur.

    Merci d'avance.
    Avant de poser une question, merci de chercher dans les rubriques suivantes:
    FAQ VB
    Tutoriaux VB
    Recherche avancée sur le forum

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 416
    Points
    59 416
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Il est possible d'utiliser PrintDlg. Cette fonction utilise comme paramètre une structure PRINTDLG. Le champ Flags de cette structure peut être initialisé avec le flag PD_PRINTSETUP, qui affiche le dialogue des propriétés de l'imprimante. L'utilisateur peut ainsi modifier les réglages.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Merci mais je souhaite modifier automatiquement ces réglages par du code....

    Impossible de trouver ces fonctions dans l'API...
    Avant de poser une question, merci de chercher dans les rubriques suivantes:
    FAQ VB
    Tutoriaux VB
    Recherche avancée sur le forum

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut
    Je ne l'ai pas essayée, mais je crois bien que DocumentProperties() fera l'affaire. En ne spécifiant pas le flag DM_IN_PROMPT, aucune boîte de dialogue ne devrait apparaître. Enfin, comme je le comprends :-)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Points : 83
    Points
    83
    Par défaut
    de mémoire, il faut d'abord avec DeviceCapabilities (DC_PAPERSIZE) récupérer les dimensions de papier acceptées. Ensuite, il faut appeler DiocumentProperties avec le DEVMODE récupéré avant. (Evenuellment, modifier le DEVMODE en fonction des portrait/landscape et autres..)

  6. #6
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Merci à tous, en effet j'avais aussi trouvé la fonction DocumentProperties, reste plus qu'à tester
    Peut-on mettre une taille de papier personnalisée (comme sous Word) qui ne correspond pas à un format prédéfini renvoyé par DeviceCapabilities (DC_PAPERSIZE) ?
    Avant de poser une question, merci de chercher dans les rubriques suivantes:
    FAQ VB
    Tutoriaux VB
    Recherche avancée sur le forum

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Points : 83
    Points
    83
    Par défaut
    d'aprés mes souvenirs et ma doc sur DEVMODE

    For printer devices only, selects the size of the paper to print on. This member can be set to zero if the length and width of the paper are both set by the dmPaperLength and dmPaperWidth members. Otherwise, the dmPaperSize member can be set to one of the following predefined values.
    il faut évidemment mettre à jour dmFields

  8. #8
    HPJ
    HPJ est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2003
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    J'ai essayé avec SetPrinter, DocumentProperties et ResetDC, seul l'appel à SetPrinter avec le level = 2 permet de résoudre mon problème...
    Avant de poser une question, merci de chercher dans les rubriques suivantes:
    FAQ VB
    Tutoriaux VB
    Recherche avancée sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier la taille de papier d'impression
    Par khaledPHPdelphi dans le forum QuickReport
    Réponses: 0
    Dernier message: 08/03/2014, 17h17
  2. [VB]Impression MSHFlexGrid : gestion taille papier + bac
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/02/2006, 12h27
  3. Réponses: 2
    Dernier message: 06/02/2006, 20h41
  4. Taille du papier pour imprimer (VB6)
    Par barrada dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/01/2006, 22h34
  5. [CSS]Définir une taille pour chaque police
    Par Davboc dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/12/2005, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo