Afficher une image du presse papier sur une PictureBox V.B 2010
papanou1965
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
papanou1965 Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
papanou1965 Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Bonjour, Voilà le soucis à six sous.
Je débute en Visual Basic 2010 et je cherche à afficher une image du presse papier
dans une PictureBox .
Tout ce que j'ai trouvé sur le sujet comme code source est soit incomplet soit
pas compatible avec VB2010.
Ces tordus de chez Microsoft ne sont pas foutus d'uniformiser leurs commandes
d'une version à l'autre.
Tout ce que j'ai besoin pour l'instant c'est d'un code source type pour une Windows form
et une PictureBox.
Si vous aviez la gentillesse d'aider un pauvre newbee comme moi sa me ferais plaisir .
Sa fait trois jours que je suis dessus .
Merci d'avance
Je débute en Visual Basic 2010 et je cherche à afficher une image du presse papier
dans une PictureBox .
Tout ce que j'ai trouvé sur le sujet comme code source est soit incomplet soit
pas compatible avec VB2010.
Ces tordus de chez Microsoft ne sont pas foutus d'uniformiser leurs commandes
d'une version à l'autre.
Tout ce que j'ai besoin pour l'instant c'est d'un code source type pour une Windows form
et une PictureBox.
Si vous aviez la gentillesse d'aider un pauvre newbee comme moi sa me ferais plaisir .
Sa fait trois jours que je suis dessus .
Merci d'avance
A voir également:
- Afficher une image du presse papier sur une PictureBox V.B 2010
- Presse papier - Guide
- Presse-papier - Guide
- Légender une image - Guide
- Presse papier iphone ou le trouver ✓ - Forum Windows 7
- Presse papier iphone ✓ - Forum Samsung
3 réponses
Bonjour,
Ce que tu cherches a faire ce fait avec la touche Imprécran du clavier. Il suffit de mettre une PictureBox, un label et ce code:
Il suffit d'appuyer sur la touche Imprécran pour que la capture d'écran s'affiche.
Tu peux récupérer du texte aussi dans le label
Sinon voici un code qui met une image dans le presse papier et qui la copie dans une PictureBox. Mettre une PictureBox et un Button:
On peut aussi utiliser la touche Imprécran pour que la capture d'écran s'affiche
Ce que tu cherches a faire ce fait avec la touche Imprécran du clavier. Il suffit de mettre une PictureBox, un label et ce code:
Option Strict On Imports System.Runtime.InteropServices Public Class Form1 Private Const WM_DRAWCLIPBOARD As Integer = &H308 Private Const WM_CHANGECBCHAIN As Integer = &H30D Private mNextClipBoardViewerHWnd As IntPtr Private Event OnClipboardChanged() <DllImport("user32")> _ Private Shared Function SetClipboardViewer(ByVal hWnd As IntPtr) As IntPtr End Function <DllImport("user32")> _ Private Shared Function ChangeClipboardChain(ByVal hWnd As IntPtr, ByVal hWndNext As IntPtr) As _ <MarshalAs(UnmanagedType.Bool)> Boolean End Function <DllImport("user32")> _ Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, _ ByVal lParam As IntPtr) As IntPtr End Function Sub New() InitializeComponent() mNextClipBoardViewerHWnd = SetClipboardViewer(Me.Handle) AddHandler Me.OnClipboardChanged, AddressOf ClipBoardChanged End Sub Protected Overrides Sub WndProc(ByRef m As Message) Select Case m.Msg Case WM_DRAWCLIPBOARD RaiseEvent OnClipboardChanged() SendMessage(mNextClipBoardViewerHWnd, m.Msg, m.WParam, m.LParam) Case WM_CHANGECBCHAIN If m.WParam.Equals(mNextClipBoardViewerHWnd) Then mNextClipBoardViewerHWnd = m.LParam Else SendMessage(mNextClipBoardViewerHWnd, m.Msg, m.WParam, m.LParam) End If End Select MyBase.WndProc(m) End Sub Private Sub ClipBoardChanged() If Clipboard.ContainsText = True Then Label1.Text = Clipboard.GetText End If If Clipboard.ContainsImage = True Then PictureBox1.Image = CType(Clipboard.GetImage.Clone, Image) PictureBox1.SizeMode = PictureBoxSizeMode.Zoom End If End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing ChangeClipboardChain(Me.Handle, mNextClipBoardViewerHWnd) End Sub End Class
Il suffit d'appuyer sur la touche Imprécran pour que la capture d'écran s'affiche.
Tu peux récupérer du texte aussi dans le label
Sinon voici un code qui met une image dans le presse papier et qui la copie dans une PictureBox. Mettre une PictureBox et un Button:
Option Strict On Public Class Form1 Dim pic As Image Dim x As New DataObject Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim ofd As New OpenFileDialog With ofd .Title = "Choisissez une image" .Filter = "jpeg (*.jpg)|*.jpg|gif (*.gif)|*.gif|tiff (*.tif)|*.tif|bmp (*.bmp)|*.bmp|png (*.png)|*.png" .FilterIndex = 1 .RestoreDirectory = False If .ShowDialog() = Windows.Forms.DialogResult.OK Then pic = New Bitmap(.FileName) x.SetData(DataFormats.Bitmap, False, pic) System.Windows.Forms.Clipboard.SetDataObject(x) Else MessageBox.Show("Opération annulée par l'utilisateur!", "Ouverture image", MessageBoxButtons.OK, MessageBoxIcon.Information) Exit Sub End If .Dispose() End With End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click x = CType(System.Windows.Forms.Clipboard.GetDataObject, DataObject) pic = CType(x.GetData(DataFormats.Bitmap), Image) PictureBox1.Image = pic PictureBox1.SizeMode = PictureBoxSizeMode.Zoom End Sub End Class
On peut aussi utiliser la touche Imprécran pour que la capture d'écran s'affiche