OVH Cloud OVH Cloud

[vb.net 2005] - Création & Récupération de propriété

16 réponses
Avatar
Scottmat
Bonsoir à tous
Franchement merci aux personnes qui me répondront pcq je suis en panique
total !!!
Sa doit etre tout simple, une petit bout de ligne de code mais j'arrive pas
à voir comment
Voici mon petit problème :
Je voulais insérer une image dans un Richtextbox tout simplement
et j'ai voulu rajouter une propriété "Emplacement" (qui enregistrerai
l’emplacement de l’image qui à été insérer)

D’abord une classe générale (avec ma nouvelle propriété) :

Public Interface Element
Property Emplacement() As String
End Interface

Puis propre à l’objet image :
Imports System.ComponentModel
<Serializable()> Public MustInherit Class IMGElement
Implements Element
Dim _sEmplacementImG As String = ""
Dim ImG As New System.Drawing.Rectangle

Public Property EmplacementImG() As String Implements Element.EmplacementImG
Get
Return _sEmplacementImG
End Get
Set(ByVal value As String)
_sEmplacementImG = value
End Set
End Property
End Class

Ensuite la class qui définit l’ajout dans le Richtextbox de l’élément :

Public Class RectangleSimple
Inherits IMGElement
Public Sub add_pictures_to_rtb(ByVal pic As Image, ByVal rtb As RichTextBox,
ByVal index As Integer)
Dim a As Integer
Dim b As Integer
Dim tmpobj As Object
tmpobj = Clipboard.GetDataObject
Clipboard.SetDataObject(pic)
a = rtb.SelectionStart
b = rtb.SelectionLength
rtb.SelectionLength = 0
rtb.SelectionStart = index
rtb.Paste()
Clipboard.SetDataObject(tmpobj)
If index >= a Then a += 1
rtb.SelectionStart = a
rtb.SelectionLength = b
End Sub
End Class

Et pour terminer le code qui insérera l’élément à l’aide d’une boite de
dialogue (sur un événement bouton) :
Private Sub BtnInsertImg_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnInsertImg.Click
Try
Dim a As New InsertionImage ()
Dim OpenFiles As New OpenFileDialog

OpenFiles.Filter = "Tous les Fichiers (*.*)|*.*"

OpenFiles.FilterIndex = 2
OpenFiles.RestoreDirectory = True
OpenFiles.Title = "Inserer une image"

If OpenFiles.ShowDialog = Windows.Forms.DialogResult.OK Then
a.EmplacementImG = OpenFiles.FileName
a.add_pictures_to_rtb(New Bitmap(OpenFiles.FileName), Richtextbox,
Richtextbox.SelectionStart)
End If

Catch ex As Exception
MessageBox.Show("Impossible d'inserer cette image !", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
End Try
End Sub

Donc j’ai créé ma propriété EmplacementImG. J’ai affecter la valeur de cette
propriété par l’emplacement d’origine de l’image quand l’on clique sur OK de
la boite de dialogue " Inserer une image".

Le problème c’est que je n’arrive pas à récupéré cette propriété lorsque
l’utilisateur sélectionne une image.
=> Un Object (Class image) créer dans un autre objet (richtextbox) ! Comment
faire ???? je crack j'ai passer trop de nuit & d'heure dessus et je n'arrive
pas a comprendre comment récupéré cette valeur !!

Sa doit etre tout béte à mon avis ...

Merci par avance en tout cas, à celui ou celle qui m’aidera

6 réponses

1 2
Avatar
mlp code
Passe lui ton objet à ta fonction d'ajout :
a.add_pictures_to_rtb(a,Message,Message.SelectionStart)

et puis dans ta fonction assure toi d'ajouter 'a' dans ton richtextbox
Avatar
Scottmat
> Passe lui ton objet à ta fonction d'ajout :
a.add_pictures_to_rtb(a,Message,Message.SelectionStart)


c'est déjà fait dans la Class RectangleSimple il hérite de :
- Inherits ImGElement
et quand je déclare la variable pour déclarer l'objet je l'ai mi typé
RectangleSimple :
- Dim a As New RectangleSimple
Avatar
mlp code
je suis à cours d'idée...... Toi as-tu réussi à faire quelque
choses de ton côté ?
Avatar
Scottmat
non, je continu a chercher mais je trouve vraiment pas !
tu as une adresse msn ?
au pire je t'envoi mon projet en PJ
comme tu veu pcq moi je crack, en tout cas je te remercie de t'etre pencher
autant sur mon projet
la mienne c'est
bonne soirée ;)

"mlp code" a écrit :

je suis à cours d'idée...... Toi as-tu réussi à faire quelque
choses de ton côté ?




Avatar
mlp code
malheureusement, je suis au travail et on n'a pas MSN et chez moi je
n'ai pas internet
:( ...

Peut-être que si tu repost ton sujet quelqu'un qui connait mieux les
richtextbox pourra t'éclaircir
Avatar
Scottmat
bonjours,
dsl de répondre lentement en ce moment j'étais en déplacement.
Bref en tout cas je tenais à vous remerciez pour avoir passer du temps à
résoudre mon probléme
Merci quand meme et bon wek'end ;)

"mlp code" a écrit :

malheureusement, je suis au travail et on n'a pas MSN et chez moi je
n'ai pas internet
:( ...

Peut-être que si tu repost ton sujet quelqu'un qui connait mieux les
richtextbox pourra t'éclaircir




1 2