dapilaplap
Messages postés8Date d'inscriptionjeudi 28 juin 2007StatutMembreDernière intervention25 juillet 2007
-
28 juin 2007 à 10:52
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
28 juin 2007 à 12:35
Bonjour,
Je cherche a créer un menu fichier "enregistrer sous" avec lequel mon programme enregistre la page sous forme d'image, c'est a dire juste l'apparance qu'il a lors de l'enregistrement. J'utilise la boite de dialogue CommonDialog et j'arrive a enregistrer un fichier (j'arrive meme a l'enregistrer ou je veu et avec le nom que je veu :-), mais bien sur ce n'est pas une image :-(
Est-ce possible? Si oui, quelqu'un peut il me donner une solution pour le faire?
Merci d'avance.
Dapilaplap
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 juin 2007 à 12:05
ton code est à moitié correct : il dois bien te créer le fichier, mais le Print #1 lui ne doit pas marcher !
Il te faut faire un BitBlt (fonction de l'API) ou tout autre fonction pour récupèrer l'image de ta form et enregistrer cette image, et non le form lui même : le form est un objet, je pense qu'il plante sur ton print non ?
Comme le disais notre ami jacques, regarde les sources de capture d'écran et inspire toi de celles-ci.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 juin 2007 à 11:18
Bonjour,
Si c'est la Form que tu veux imprimer, tu as pour celà l'un des exemples de screenshots que tu trouveras dans les sources déposées sur ce forum.
"Récolte cette image dans une PictureBox (j'espère que tu développes réellement sous VB6 ...la présente section...) puis sauvegarde cette image par l'instruction SavePicture de VB6.
Si ce n'est pas ta Form que tu veux imprimer, il va falloir quer tu expliques ce que c'est très exactement
dapilaplap
Messages postés8Date d'inscriptionjeudi 28 juin 2007StatutMembreDernière intervention25 juillet 2007 28 juin 2007 à 11:50
Desolé.............
Voila le code, je sais meme pas si c'est la bonne demarche!
Private Sub mnusaveas_Click()
dlgCommon.Flags = cdlOFNOverwritePrompt + cdlOFNPathMustExist
dlgCommon.Filter = "Fichiers image(*.gif;*.ico)|*.gif;*.ico"
dlgCommon.ShowSave
Open dlgCommon.FileName For Output As #1
Print #1, frmAcceuil 'et la je sais pas ce que je doit mettre
Close #1
blnModif = False
blnAnnEnr = False
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
dapilaplap
Messages postés8Date d'inscriptionjeudi 28 juin 2007StatutMembreDernière intervention25 juillet 2007 28 juin 2007 à 12:19
oups! j'ai oublié de repondre aux questions.....
oui avec juste le nom du form ca plante, mais apparament ca marche pour enregistrer des fichier text. J'ai trouvé ca dans un bouquin, c'était d'ailleurs le seul exemple de commondialog.....
Merci encore a vous deux
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 juin 2007 à 12:35
oui ca marche très bien pour du texte puisque le Print enregistre du texte uniquement !
Pour enregistrer des images, il faut passer par la fonction SavePicture qui prend en paramètre un stdPicture, et non un Form, donc c'est pour cà : regarde dans les sources de screenshot pour voir comment il récupère un stdPicture à partir d'une copie d'écran d'une forme (sûrement l'utilisation de BitBlt en parallèle à un PictureBox).