math083
Messages postés49Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention28 juillet 2009
-
17 juin 2007 à 19:08
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
17 juin 2007 à 23:13
Bonjour tout le monde !
Alors voilà j'ai un problème !
je bosse sous vb6 et j'ai une form avec un picturebox. Cette picturebox occupe toute la form. Cette form contient une image de fond . J'ai également ajouté une listview et je voudrais savoir comment récupérer l'image cachée par le listview et l'afficher en fait en arrière plan dans mon listview afin d'avoir un arrière plan listview comme si il était transparent.
Je me suis renseigné sur la fonction paintpicture, mais je n'arrive qu'a afficher l'image du picturebox en entier.
A savoir que : le picture 2 est à la même position que le listview et sera caché. Je charge après l'arrière plan du listview avec celle de la picturebox2
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 juin 2007 à 20:53
Excuse-moi mais :
"A savoir que : le picture 2 est à la même position que le listview et sera caché. Je charge après l'arrière plan du listview avec celle de la picturebox2"
Je vois mal ce mécanisme là...
Explique comment picture2 sera cachée, alors ! C'est cet asêct là que tu dois ici nous montrer...
SQinon : pas de problème ! si tu veux que picture2 ne contienne que la partie de Picture1 qui correspond à l'emplacement de ListView1, on sait faire...
C'est ce que tu veux ? et tu t'en contenteras ? C'est sur ?
Dis-nous donc !.
Vous n’avez pas trouvé la réponse que vous recherchez ?
math083
Messages postés49Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention28 juillet 2009 17 juin 2007 à 21:05
Je suis ouvert à toute proposition !
En fait je voulais mettre l'option visible de picturebox2 à false
donc la cacher.
Mais si tu as une autre possibilité sans picturebox2 alors je suis preneur
à savoir que je veux juste que listview1 ne contienne que la partie de Picture1 qui correspond à l'emplacement pris par le listview
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 juin 2007 à 21:51
Non, je n'en ai certainement pas , moi...
Mais tu disais haut et fort :
"Je me suis renseigné sur la fonction paintpicture, mais je n'arrive qu' a afficher l'image du picturebox en entier."
ce qui me paraissait assez surprenant ! ('je ne voyais vraiùment pas comment !)
Alors ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 juin 2007 à 22:12
Si nbsi ! Tu vas être plus bclair, tu vas voir :
où est ta lisview dans cette belle image ?
Facile à faire avec tout contrôle doté d'un hdc (et je sais faire) ... mais, vois-tu, pas avec une listview (ou en tout cas pas avec une un contrôle listview normal)..
Et encore moins si comme toi, apparemment, on n'y parvient pas avec une simple pictureBox qui, elle, oui, a pourtant le hdc nécessaire ....
Allez !
Commence par çà, donc : une pictureBox pseudo transparente (celà te fera déjà commencer à réfléchir un petit ... très petit... peu !)
math083
Messages postés49Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention28 juillet 2009 17 juin 2007 à 22:17
la listview se trouve là ou l'image se repete et la ou l'image est décalée.
Alors voilà : je veux récupérer l'image du picturebox1 qui est coupée par le listview dans le picturebox2 et ensuite je chargerai l'image qui se trouvera dans le picturebox2 et je le mettrai dans l'arriere plan du listview
Alors voila.
Si tu peux m'éclairer éclaire moi dis moi si je peux utiliser le paintpicture et comment.
Merci
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 juin 2007 à 22:22
Non m'sieu !
Je te l'ai dit : pas de hdc = pas possible.
Tu verras sois ta listview, soit ta picturebox... pas les deux avec l'image de ta listbox en "fond" de ta listeview !
Montre-moi donc, tout bêtement , une listviview avec une image de fond !...
Tout ce que tu pourrais faire serait de mettre par dessus ta listview une Form "translucide", mais même ainsi, ta listeview n'en serait plus une car ses articles ne seraient plus "accessibles".
Tu as égalkement la possibilité de te fabriquer ton propre OCX (si tu t'en sens le courage et la capacité), et de le doter du hdc nécessaire.
Bref...
Amuse-toi...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 juin 2007 à 22:30
C'est pas vrai !
Je parle chinois ou quoi ?
Cà oui, c'est possible, bien évidemment (et commence donc par apprendre au moins celà) avec PaintBicture ou avec (à ton choix) la Fonction StrechtBlt dela librairie GDI32 de l'API de Windows...
Fastoche même ...
Et après ?
Tu comprends ou non que tu auras soit la PictureBox soit la Listview, mais jamais la listview avec une image de fond qui serait celle de ta pictureBox ...???????
Bon...
Terminé pour moi...
Bonne chance
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 17 juin 2007 à 22:52
Hé bé !
Si c'est seulement pour rendre "pseudo transparente" une picturebox picture2 située dans une picturebox Picture1, ma foi, voilà :
Une Form : une pictureBox Picture1 avec une image dedans
Une pictureboçx Picture2 dans la picturebox picture1 et pardessus l'image qui se trouve dans Picture1
et ce tout petit bout de code :
Private Sub Form_Initialize()
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
pict_transpa Picture2, Picture1
End Sub
Private Sub pict_transpa(pict, f)
With pict
.ScaleMode = 3
.BorderStyle = 0
.BackColor = f.BackColor
.AutoRedraw = True
On Error Resume Next 'si pas d'image de fond ou que la picturebox ne chevauche pas d'image
.PaintPicture f.Picture, 0, 0, , , pict.Left, pict.Top
End With
End Sub
Mais, je te le répête, celà ne te permettra en aucun cas de faire ce que tu veux : à savoir mettre une image de fond dans ta listview.
Daniel : d'où sors-tu une propriété Picture de la listview ? (j'ai pas la chose, moi, avec VB5, il est vrai ...)
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 17 juin 2007 à 23:13
il me semble que je l'ai toujours eu
mscomctl.ocx version 6.00.8862
Windows Common Controls 6.0 (SP4)
l'aurais-je changé en cours de route ?...
c'est possible, je ne m'en souviens plus, je sais que j'ai changé quelques éléments ponctuellement mais je sais plus lesquels
effectivement j'ai essayé le Common Contols 5.0 (SP2) il n'y a pas de propriété Picture !!!!