Copie d'écran sans barre de titre...

cs_DeathAngel Messages postés 117 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 13 avril 2007 - 20 nov. 2003 à 12:41
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 20 nov. 2003 à 17:23
Bonjour à tous,

j'ai trouvé plein de sources et de posts sur le sujet des capture d'écran, mais rien ne répond à mon problème.
J'ai un form sur lequel je crée plein de textbox et de shapes.
Je cherche à faire une capture de ce formulaire, mais sans la barre de titre, ni les barres de menus et d'outils.

J'arrive bien à capturer uniquement le form (sans la barre windows), mais pour virer la barre de titre etc, je suis obligé de retravailler la capture à la main.

Vous savez pas si c'est possible par hasard ?

Merci d'avance

@peluche et bon dev' à tous
DA

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 nov. 2003 à 13:12
Bien sur que c'est possible !!

comment fait tu ta capture, en utilisant BitBlt (ou autre....??)
il te suffit de modifier les coordonnées du rectangle d'orgine du Blit.

si ca te parle pas, envoie ton code ici, je te montrera...

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
cs_DeathAngel Messages postés 117 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 13 avril 2007
20 nov. 2003 à 13:22
Ah bah je viens juste de trouver une soluce sur le site MS :
http://support.microsoft.com/default.aspx?scid=kb;fr;161299&Product=vbbFra
Mais c'est un poil hard à suivre

Je suis curieux de voir comment tu fais.
Je faisais ma capture avec keybd_event, mais comme ça simule l'appui sur la touche ImprEcr, j'ai toujours la barre de titre.
Comment utilise-t-on BitBlt ?

Merci ;)
DA
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 nov. 2003 à 17:23
ok, c'est sur que vu comme ca...
je vais t'expliquer ca, dans le principe, si tu souhaite davantage d'infos....

en fait, un blit est un transfert de pixels (pour faire simple)
ca permet de faire tout un tas d'effet supers, mais ce qui nous interesse, est la copie telle quelle de pixels.

ca fais comme une photo d'une zone donnée....

le tout etant de determiner quelle est la zone que tu souhaite, dans ta fenetre (les coordonnées). pour cela (retrouver la taille de la barre de titre), il existe des fonctions....

essaie ce code, pour te faire une idée....

places une pictureBox

Option Explicit

Private Declare Function StretchBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As Long

Private Sub Picture1_Paint()
    With Picture1
        StretchBlt .hdc, 0, 0, .ScaleWidth \ 15, .ScaleHeight \ 15, GetDC(0), 0, 0, Screen.Width \ 15, Screen.Height \ 15, vbSrcCopy
    End With
End Sub



c'est qu'un exemple, bien entendu, ca fais une capture d'ecran, et la place dans ton pictureBox...... tu peux faire de même avec tou ce que tu veux....

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
Rejoignez-nous