Richtextbox + image + replace

Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 - 22 mai 2009 à 00:07
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 - 8 juin 2009 à 19:34
bonsoir
s.v.p je cherche comment ajouter un smile dans un richtextbox
je vous explique mieux:
j'ai trouvé comment ajouter une image dans un richtextbok avec sendmessage, mais je veux remplacer des mots avec des images (smile) puis les afficher dans le richtextbox

exemple:
salut c'est un message de test <=> je veux changer le mot message par une image

j'ai essayer avec la fonction replace mais sa change le mot par des numéro

merci d'avance

Les yeux montrent la force de l'âme

11 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 mai 2009 à 08:46
salut,

tu ne peux pas "remplacer" ta chaine par une image
tu localises ta chaine (position, caret), tu supprimes ce texte, puis tu insères ton image à la place
++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
22 mai 2009 à 11:31
bonjour
comment je peut localiser un mot dans une chaine même s'il est coller à un autre mot ?
merci

Les yeux montrent la force de l'âme
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 mai 2009 à 12:29
instr

(ce n'est pas la première fois pourtant... )
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
22 mai 2009 à 17:42
instr me donne la position du départ du mot que je cherche je vois pas comment le remplacer par une image dans ce cas.
merci

Les yeux montrent la force de l'âme
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 mai 2009 à 21:39
tu as x, puisque tu cherches x
donc tu connais la taille de x
(ex : tu cherches "bonjour", tu connais sa taille => len("bonjour") = 7)
tu connais sa position (instr(1, rtb.text, x))
tu sais sélectionner (selstart, sellength)
alors remplacer (seltext = vbnullstring)
le texte est alors null, et le caret à la bonne position, attendant ton insertion, ce que tu sais apparemment faire "j'ai trouvé comment ajouter une image dans un richtextbok avec sendmessage"

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
23 mai 2009 à 13:27
merci beaucoup PCPT

Les yeux montrent la force de l'âme
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
25 mai 2009 à 18:37
re
j'ai fait comme tu ma indiqué, la suppression du chaine recherché s'éffectu mais l'insertion de l'image ne fontionne pas et il y a aucune erreur,
bizard
merci

Les yeux montrent la force de l'âme
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 mai 2009 à 18:55
sous-entendu "à nous de deviner ton code"?
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
26 mai 2009 à 01:40
voila mon code:
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_PASTE = &H302

Private Sub Command1_Click()
insert text1, "salut test sava"
'insert text1, ImageList1.ListImages.Item(1).Picture
End Sub

Private Sub insert(text As RichTextBox, source As String)
Dim i, voir
For i = 1 To Len(source)
voir = Mid(source, i, 1)
If voir = Mid("test", 1, 1) Then
If Mid(source, i, Len("test")) = "test" Then
text.SelStart = i
text.SelLength = Len("test")
text.SelText = vbNullString

Clipboard.SetData ImageList1.ListImages.Item(1).Picture
Clipboard.SetData Image1.Picture
SendMessage text1.hwnd, WM_PASTE, 0, 0

i = i + Len("test")
Else
text1.text = text1.text & voir
End If
Else
text1.text = text1.text & voir
End If
Next
End Sub

dans ce code les caractère que je cherche à remplacer sont supprimer mais l'image n'est pas insérer parcontre si je test le code d'insertion d'image il fonctionne sans problème.
je comprend pourquoi sa fonctione pas
Les yeux montrent la force de l'âme
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 mai 2009 à 11:14
ces 2 lignes seules fonctionnent :
Clipboard.SetData Image1.Picture
SendMessage text1.hwnd, WM_PASTE, 0, 0

c'est tout le reste avant et après qui casse tout, et qui n'a rien à avoir avec ce que je t'ai indiqué

structure ton besoin, tu ne veux pas insérer une chaine mais en remplacer une, alors pourquoi faire les 2 dans la même procédure?

de plus tu n'insères pas d'image là, tu en colle une !
donc tu écrases le contenu du presse-papier utilisateur sans l'en avertir, pas top
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
8 juin 2009 à 19:34
bonsoir
y a t il un moyen d'insérer une image sans passer par le presse-papier s.v.p?
merci
Les yeux montrent la force de l'âme
0
Rejoignez-nous