Copie d'une pictureBox dans un contrôle Richtextbox [Résolu]

Signaler
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017
-
 Utilisateur anonyme -
Bonjour,

J'ai placé dans une form un contrôle richtextbox, une picture box et deux boutons.
La pictureBox est utilisée pour générer des séparateurs dans le contrôle Richtextbox.
Les deux Boutons (+ et -) sont utilisés pour réduire et augmenter l'épaisseur de la picture.

En cliquant sur la Richtextbox, je copie le séparateur avec les instructions ci-dessous.

Clipboard.Clear
Clipboard.SetData Picture1.Image, vbCFBitmap
SendMessage RichTextBox1.Hwnd, WM_PASTE, 0, 0
Clipboard.Clear


Impeccable, c'est OK.
A plusieurs reprises, j'augmente l'épaisseur de la picture avec mon Bouton +
Impeccable, la copie s'effectue correctement.

Maintenant je diminue l'épaisseur de la picture avec mon bouton -
La picturebox et alors affichée sans tenir compte de la réduction que je viens de faire ?

Conclusion:
Si j'augmente l'épaisseur de la picture, ça marche
Si je diminue, ça ne marche plus ?

Par avance merci pour votre support.

9 réponses

Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

Je trouve qu'il est pénible de recevoir des conseils qui n'ont absolument rien à voir avec la question posée.

Lorsque l'on n'a pas compris la question, on demande éventuellement un complément d'informations et, si l'on n'a pas la solution du problème, on n'ennui pas les gens avec des conseils aussi inutils qui font perdre du temps à tout le monde et qui n'intéresse personne.

Je clos cette discussion.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Avant d'aller plus loiin : éclaire s'il te plait la lanterne du vieux crouton que je suis ===>> C'est quoi, l' "épaisseur" d'une picturebox ?
Le malheureux que je suis sait bien évidemment ce que sont la largeur et la hauteur d'un tel contrôle, mais ignorait jusqu'à présent l'existence de ce contrôle en 3D !


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Ah !
Et zut ... (J'avais oublié de consulter ma base de données personnelles) .
Considère s'il te plait que je ne suis pas intervenu dans cette discussion.


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
14790
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
155
Bonjour,

Je pense que voir ton code pour l'augmentation et la réduction de la largeur de ton PictureBox/image, car il se peut que cela nous éclaire sur la cause.

Penses à utiliser la coloration syntaxique (3ième icône en partant de la droite).

Mon site
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

'---------------------------------------------------------------------------------'
' '
' On modifie la Hauteur du séparateur (PictureBox) '
' '
'---------------------------------------------------------------------------------'

Private Sub Picture8_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
If Index 0 Then Picture7.Height Picture7.Height + 10
If Index 1 Then Picture7.Height Picture7.Height - 10
End Sub
'---------------------------------------------------------------------------------'
' '
' On fait clignoter le Bouton Attribut non standard '
' '
'---------------------------------------------------------------------------------'

Private Sub RichTextBox1_Mouseup(Button As Integer, Shift As Integer, x As Single, y As Single)

' On Affiche un séparateur
If Picture5(4).BackColor = vbWhite Then
Picture5(4).BackColor = vbBlack
Clipboard.Clear
Clipboard.SetData Picture7.Image, vbCFBitmap
If RichTextBox1.SelStart = 0 Then Exit Sub
SendMessage RichTextBox1.hWnd, WM_PASTE, 0, 0
Clipboard.Clear Picture8(0).Visible = False
Picture8(1).Visible = False
Exit Sub
End If
'---------------------------------------------
-
-
-
-
End Sub
Messages postés
14790
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
155
Bonjour,

Juste une question, est-ce que PictureBox7 as sa propriété AutoRedraw à True ?

Sinon, penses toujours à nommer tes controle de manière claire :
CmdCopy est plus clair que Button1
RTBTexte est plus clair que RichTextBox1

Mon site
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

Bonjour,

Penses à utiliser la coloration syntaxique --> ?
CmdCopy est plus clair que Button1
RTBTexte est plus clair que RichTextBox1

"Personnellement je préfère appeler un chat un chat !"
_____________________________________________________________________________________

AutoRedraw à True ?

Dans la question posée:
--> Si j'augmente l'épaisseur de la picture, ça marche
--> Si je diminue, ça ne marche plus ?

Merci encore pour ces précieux conseils
Messages postés
14790
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2021
155
Bonjour,

La coloration syntaxique permet de faciliter la lecture du code posté, c'est le 3ième bouton en partant de la droite de la barre de mise en forme des messages.

"Personnellement je préfère appeler un chat un chat !"
Je le comprend que tu préfère avoir TextBox1 à la place d'un nom plus parlant.

Saches que quand le programme grossit, avoir ce genre de notation permet de faciliter grandement la compréhension du code.
Dans le milieu professionnel, c'est un impératif, et dans le domaine personnel, une bonne technique à utiliser.

Et AutoRedraw de ton PictureBox à False, ça arrange les choses ?
Car ton pb n'est pas la taille du conteneur, mais la taille de l'image, hors si AutoRedraw est à True, cela peut conserver la plus grande taille de l'image.

Mon site