[vb.net] een plaatje op clipboard zetten

Pagina: 1
Acties:

  • _Dexter_
  • Registratie: December 2000
  • Laatst online: 23-02-2021
In [topic=449306/1/25] heb ik een vraag gezet hoe je een plaatje in een richtextbox kan zetten.

Nu is het zover opgelost dat een plaatje dat eerst in paint is geknipt in de richtextbox ge-past kan worden.

Maar het is dus de bedoeling dat eerst het plaatje (vanuit een bestand) dan vanuit de source op het clipboard gezet moet worden.

weet iemand hoe je dat kan doen?

met de volgende code werkt het iig niet terwijl het wel zo zou moeten volgens de clipboard class
code:
1
2
3
  dim plaatje as image
  plaatje.fromfile("C:\plaatje.bmp")
  clipboard.SetDataObject(plaatje)

Als je dat probeert te plakken in paint dan geeft paint een foutmelding en als je die in de richtextbox probeert te plakken dan staat er niets.

Iemand een oplossing?

  • stylee
  • Registratie: December 2000
  • Laatst online: 04-09-2021

stylee

blah zeg ik je

Probeer anders eens te casten naar een andere type (Bitmap bijvoorbeeld) voordat je het naar de Clipboard stuurt?

Dan krijg je dus zoiets:
code:
1
2
3
dim plaatje as image
plaatje.fromfile("C:\plaatje.bmp")
clipboard.SetDataObject((Bitmap)plaatje)

  • _Dexter_
  • Registratie: December 2000
  • Laatst online: 23-02-2021
De volgende code is uit de msdn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Function PasteMyBitmap(ByVal Filename As String) As Boolean

    'Open an bitmap from file and copy it to the clipboard.
    Dim MyBitmap As Bitmap
    MyBitmap = Bitmap.FromFile(Filename)

    ' Copy the bitmap to the clipboard.
    Clipboard.SetDataObject(MyBitmap)

    ' Get the format for the object type.
    Dim MyFormat As DataFormats.Format = DataFormats.GetFormat(DataFormats.Bitmap)

    ' After verifying that the data can be pasted, paste it.
    If RichTextBox1.CanPaste(MyFormat) Then

      RichTextBox1.Paste(MyFormat)
      PasteMyBitmap = True

    Else

      MessageBox.Show("The data format that you attempted to paste is not supported by this control.")
      PasteMyBitmap = False

    End If


End Function

Wat ik dus niet snap is waarom ik dan niets zie in mij richtextbox. Als ik na deze functie in MSWord ctrl-v doe dan....... Komt dus wel het plaatje op het scherm.
En als ik eerst in paint een stukje bitmap knip en alleen het laatste deel code doe dan krijg ik het dus wel in mijn richtextbox. Ik vraag me af wat er nu niet klopt.