Probleme api scrolldc

Résolu
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012 - 16 mars 2009 à 22:11
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012 - 17 mars 2009 à 19:21
Bonjour!
Toujours avec mon probleme de fuildite d'un apercu avant impression,j'ai trouver une api qui pourrais m'aider ,mais je n'arrive pas a l'utilise api scrolldc
je sais qu'il y a beaucoup d'example mais je n'y comprends rien
si qq un passe par la et qui serai m'expliquer ca serai cool
merci

13 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2009 à 14:58
ah non, te faut un "dessin"...

voir les arguments de Line, pour dessiner des cadres...

Picture1.DrawWidth = 5
Picture1.Line (120, 120)-(500, 500), vbRed, BF
Picture1.Line (120, 120)-(500, 500), vbBlue, B

l'avantage, c'est que pour imprimer, tu n'a que très peu de modif a faire :

Printer.DrawWidth = 5
Printer.Line (120, 120)-(500, 500), vbRed, BF
Printer.Line (120, 120)-(500, 500), vbBlue, B
Printer.EndDoc
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
16 mars 2009 à 22:19
Bonjour,

j'ai des difficultés à comprendre ce que cette fonction de l'Api de Windows (dont la vocation est de "dérouler" un rectangle - ton DC -) a à voir avec un aperçu vant impression ...
Explique ...
Et précise-nous également ce que tu as (ou as réussi à mettre) dans ton contexte de dispositif (DC)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2009 à 06:23
ScrollWindowEx me semble plus appropriée...
C'est même ce que dit la doc de ScrollDC: Si toute la zone cliente doit être scrollée, utiliser ScrollWindowEx.

http://msdn.microsoft.com/en-us/library/bb787593(VS.85).aspx
0
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012
17 mars 2009 à 09:43
Bonjour,Et Merci a vous deux,
Voila le probleme c'est que j'ai un apercu  avant impression   dans une picture  box,mais il est trop grand pour etre       visible en entier,donc je dois   utiliser   des scrollbar,j'ai essayer au depart de redessiner le    tout  (exemple,quand on utilise les scroll bar verticale je soustrait aux valeurs top    de depart    la v aleur du scrollbar,mais ce n'est pas fluide du tout,donc je voudrais trouver une autre solution.
j'espere etre clair dans mes explication et que vous pourrais me guider,Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2009 à 09:51
redessiner le tout ?

un BitBlt suffit, tu peux cadrer la chose en fonction de la position de ton ScrollBar....

(voir même la méthode Render de ton picturebox)
0
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012
17 mars 2009 à 09:57
merci pour votre reponse ultra rapide,
je ne connais pas l'utilisation bitblt,comment la mettre en place
encore merci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2009 à 10:12
dans un nouveau projet

j'ai ajouté une picturebox Picture1 contenant une grande image. j'ai mis cette Picturebox en invisible.
j'ai ajouté une petite pictureBox Picture2
j'ai ajouté une HScrollbar et une Vscrollbar

ensuite:

Private Sub Form_Load()
Me.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels
Picture2.ScaleMode = vbPixels

HScroll1.Max = Picture1.Width - Picture2.Width
VScroll1.Max = Picture1.Height - Picture2.Height

Render
End Sub

Private Sub Render()
Picture1.Picture.Render Picture2.hDC, _
0, 0, _
Picture2.Width, Picture2.Height, _
ScaleX(HScroll1.Value, vbPixels, vbHimetric), ScaleY(Picture1.Height - VScroll1.Value, vbPixels, vbHimetric), _
ScaleX(Picture2.Width, vbPixels, vbHimetric), -ScaleY(Picture2.Height, vbPixels, vbHimetric), ByVal 0&

End Sub

Private Sub HScroll1_Change()
Render
End Sub

Private Sub HScroll1_Scroll()
Render
End Sub

Private Sub VScroll1_Change()
Render
End Sub

Private Sub VScroll1_Scroll()
Render
End Sub
0
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012
17 mars 2009 à 12:30
ton code marche nikel pour une     image,
mais dans mon cas ca ne fait rien
je ne comprends pas commend je peux faire
dans mon prog  j'ai  fait mon  apercu   en dessinnant  ligne par ligne,(c'est un apercu d'un planning de conges en faisant picturebox.print"machinbidule"etc..),je pense qu'on est pas loin d'y arriver,mais il doit y avoir qq chose qui ne fonctionne pas
encore merci
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 mars 2009 à 14:10
ton "dessin" se trouve dans l'image

ajoutes simplement

Set Picture1.Picture = Picture1.Image

une fois ton dessin terminé

pour transferer ton dessin dans la Picture.
et ca devrais rouler
0
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012
17 mars 2009 à 14:31
encore moi
Le probleme c'est que j'ai mis des shapes pour faire des tableaux ,elles ne se transfere pas dans l'image,est ce qu'il y autre chose a faire
??
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
17 mars 2009 à 14:41
D'où ma question (plus haut)
"Et précise-nous également ce que tu as (ou as réussi à mettre) dans ton contexte de dispositif (DC)"

Car c'est par là qu'il faut commencer, avant même de parler de "scroller"
0
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012
17 mars 2009 à 14:57
Donc dans mon picture box j'y ai mis des groupes de fichier bmp(petite taille),des shapes en forme de rectangle (pour faire un tableau) ,dans ce tableau j'y mets du texte et les images
merci
0
serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012
17 mars 2009 à 19:21
C'est bon ca marche nickel ,enncoree une fois je te remerci pour le bon coup de pousse que tu m'a donne
@plus
0
Rejoignez-nous