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

C++Builder Discussion :

Imprimer avec l'assistant Photograhie Windows


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut Imprimer avec l'assistant Photograhie Windows
    Bonjour,

    Je souhaite utiliser l'assistant Photograhie Windows pour imprimer des photos sélectionnées via mon programme.
    J'ai réussi, avec l'aide de NABIL74 de le faire sous Delphi.
    La discussion se trouvant ici

    Voici le code de NABIL74 (merci à lui) :
    Code delphi : 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
    uses ActiveX, ComObj, StdCtrls;
     
    procedure ShowPhotoPrintWizard(Files: TStringList);
    var
      I: Integer;
      CommonDialog: OleVariant;
      Vector: OleVariant;
    begin
      if not Assigned(Files) then
        Exit;
      CommonDialog := CreateOleObject('WIA.CommonDialog');
      Vector := CreateOleObject('WIA.Vector');
      for I := 0 to Files.Count - 1 do
        Vector.Add(Files[i]);
      CommonDialog.ShowPhotoPrintingWizard(Vector);
      Vector := Unassigned;
      CommonDialog := Unassigned;
    end;

    Utilisation :
    Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Button2Click(Sender: TObject);
    var
       List: TStringList;
    begin
       List := TStringList.Create;
       with List do
       try
         Append('D:\image 3.jpg');//la 1ère photo
         Append('D:\4.jpg');//la 2ème photo
         ShowPhotoPrintWizard(List);
       finally
         Free;
       end;
    end;

    Je n'arrive pas à invoquer CommonDialog et Vector
    Quelqu'un peut-il m'aiguiller ?

    Merci

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Est-ce qu'il s'agit des mêmes vecteurs que STL? Si oui, il faut ajouter:

  3. #3
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Encore une fois j'ai mis un message trop rapidement. Voici les vrais liens.

    CommonDialog Object:
    http://msdn.microsoft.com/en-us/libr...92(VS.85).aspx
    Vector Object:
    http://msdn.microsoft.com/en-us/libr...13(VS.85).aspx

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut Crayon ,

    Merci pour ces infos (je les avais déjà lu ).

    En fait, ce que j'ai fait en C++ c'est ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void __fastcall TForm1::ShowPhotoPrintWizard(TStringList Files);
    {
      Variant CommonDialog;
      Variant Vector;
     
      CommonDialog = CreateOleObject('WIA.CommonDialog');
      Vector = CreateOleObject('WIA.Vector');
      for(int i = 0; i<Files->Count - 1;i++)
        Vector.Add(Files->Strings[i]);
     
      CommonDialog.ShowPhotoPrintingWizard(Vector);
      Vector = Unassigned;
      CommonDialog = Unassigned;
    }
    Donc deux choses poses soucis :
    Vector.Add n'est pas reconnu ...
    CommonDialog.ShowPhotoPrintingWizard n'est pas reconnu ...

    PS: J'ai remis le code de tête n'ayant pas Builder sous la main avant demain soir, donc il risque d'y avoir des erreurs

    Merci

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par défaut
    C'est très intéressant. C'est un truc que je souhaite faire depuis longtemps.

    J'ai téléchargé le SDK mais c'est un SDK pour VB. Il n'est pas fait pour une compilation C++ (pas de headers). Il faut donc chercher l'équivalent C++.

    J'ai commencé à chercher dans le MSDN est j'ai déja trouvé ceci:
    http://msdn.microsoft.com/en-us/library/ms630368.aspx

    En tout cas le code ci-dessus ne peux pas fonctionner en C++. Le type variant n'a pas de méthode Add ou ShowPhotoPrintingWizard ce qu'il faut c'est charger l'interface COM qui corresponds à WIA.CommonDialog et à WIA.Vector et après ce sera facile.

    Yarp
    www.senosoft.com

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut Yarp et merci pour les infos mais bien que le type soit un variant, on lui affecte bien quelque chose...

    Pour ceux que ça intéresse, j'ai trouvé ça et un autre lien plus intéressant ici

    Faudrait que je teste le tout à me retour, pendant ce temps, je continue de chercher

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

Discussions similaires

  1. Imprimer avec un service Windows (ServiceAccount.LocalSystem)
    Par dkmix dans le forum Services Windows
    Réponses: 0
    Dernier message: 07/02/2011, 10h37
  2. Imprimer avec window.print()
    Par jo281 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/01/2006, 08h58
  3. Imprimer avec window.print()
    Par jo281 dans le forum ASP
    Réponses: 4
    Dernier message: 11/01/2006, 21h37
  4. [Impression] Imprimer avec jbuilder
    Par joker34 dans le forum JBuilder
    Réponses: 3
    Dernier message: 15/11/2005, 13h15

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