LISTBOX TRANSPARENTE CRÉÉE DYNAMIQUEMENT SUR UNE IMAGE

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 25 mai 2012 à 10:27
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 - 19 juin 2012 à 07:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54324-listbox-transparente-creee-dynamiquement-sur-une-image

cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
19 juin 2012 à 07:26
Salut Aymenk,

Merci pour ce conseil, cette astuce que je ne connaissais pas... La procédure d'installation de alpha control n'est pas très compliqué mais c'est comme toujours, il faut se souvenir de telle procedure telle autre, et de telles dizaines d'autres...
La même arborescence est une technique que j'avais déjà mis en place, ça permet au moins de retrouver ses petits...
Je vais noter ton astuce quelque part!
aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018
15 juin 2012 à 12:13
Salut Jean_Jean:
Apropos de Reinstaller les composants ...
<<...Avec delphi 5, j'utilisai une classe de composants super class de chez Alpha Control. Je l'ai utilisé également avec D7 perso... Mais ça me fatigue de tout réinstaller à chaque fois : changement d'ordi, pb de licence etc...>>

avant de chager de PC j Exporte les deux lien de la base de registre :

HKEY_CURRENT_USER\Software\Borland
HKEY_LOCAL_MACHINE\SOFTWARE\Borland
Apres réinstallation de delphi je double clic sur les deux fichier exporté a condition que je garde la même arborescence des mes composants.
par exemple je garde ma VCL dan E:\maVCL\...
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
28 mai 2012 à 19:52
Merci Cirec pour cette précision.
A noter absoluement au rouge dans nos antisèches
J'en tiendrai compte dans mes MAJ
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
28 mai 2012 à 13:49
Salut,

petite parenthèse "au sujet de LBT.Free sur le Forum!"

La règle de base veut que l'on libère tout objet ou mémoire alloué dynamiquement.
et il y a les composants ... ceux qui acceptent un paramètre "Owner" dans le constructeur

"Owner" ou "propriétaire" qu'il ne faut pas confondre avec le Parent (les deux peuvent avoir la même valeur)
c'est lui qui se chargera de libérer le composant à la fin (sauf si il vaut "nil")

MonCompo := TMonCompo.Create(Self);
c'est Self (qui dépend du contexte) qui se chargera de libérer MonCompo.

MonCompo := TMonCompo.Create(Form1);
c'est Form1 qui se chargera de libérer MonCompo.

MonCompo := TMonCompo.Create(nil);
c'est le programmeur qui se chargera de libérer MonCompo.
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
28 mai 2012 à 12:10
Salut Mauricio,
Je me suis douté qu'il fallait écrire du code...
Chouette, un composant de plus à tester...
Je voulais rester simple, au pire je renverrai vers ton code...
Merci
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 mai 2012 à 10:52
Salut à tous,

pour la transparence d' une TListBox, il faut repeindre tous les items à cause donc du scrolling.
J' ai fait la même chose sur ma TcyDBAdvGrid (Propriété FullRepaint qui doit être à true).

A+
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
28 mai 2012 à 01:06
@korgis :

qu'as-tu fait entre le le 17 mai 2003 à 04:07:44
et ton dernier signe de vie le 27 mai 2012 à 23:28:08 ?

ça fait des longues vacances quand même...
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
28 mai 2012 à 01:02
on va éviter à Cantador des recherches longues, pénibles, et pas forcément fructueuses...
hummmmmmhhhhhhhhhh...
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
27 mai 2012 à 12:43
Merci Korgis,

C'est un composant intéressant. Par contre il ne s'agit pas d'une ListBox. Il reste donc à tenter d'intégrer un objet TListBox qui serait dérivé de celui-ci. ça mérite d'y passer un peu de temps...
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
26 mai 2012 à 19:03
Salut,

on va éviter à Cantador des recherches longues, pénibles, et pas forcément fructueuses... à moins qu'il n'ait plus d'ordre que moi.
C'est ici: http://www.torry.net/vcl/forms/effects/stainedglass.zip
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
26 mai 2012 à 09:16
Ben oui ça m'intéresse! Soit tu m'envoie le compo pour que je l'étudie, soit tu le publie...
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
25 mai 2012 à 22:29
en fait il s'agit du TStainedGlass
qui est free et fourni avec une démo
je ne sais plus où j'ai trouvé ce truc là
mais si ça t'intéresse..
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
25 mai 2012 à 21:13
Mauricio, vite tu as un client !
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
25 mai 2012 à 19:31
oui, je connaissais ces codes sauf TStainGlass que je ne trouve pas.
Ils sont très adaptés pour plein de cas... mais là dans ce code, ce qui m'intéressait c'était le composant et ses propriétés. il semble qu'il y ait quelques soucis...

Avec delphi 5, j'utilisai une classe de composants super class de chez Alpha Control. Je l'ai utilisé également avec D7 perso... Mais ça me fatigue de tout réinstaller à chaque fois : changement d'ordi, pb de licence etc...

C'est pour ça que je suis réticent à tout réinstaller et installer en particulier une foule de composants divers.... Il faudra que je regarde ceux de notre Mauricio préféré. Il a peut-être ce que je cherche...

A+
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
25 mai 2012 à 15:25
pour la transparence, j'ai trouvé pas mal les composants de
dephicool (coolform et TTransparentMemo)

Très intéressant et soigné : TStainGlass
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
25 mai 2012 à 15:07
@ Yanb qui échangeait au sujet de LBT.Free sur le Forum!

L'instruction Free est logique dès que l'on créer un objet dynamiquement. Cependantje suis d'accord avec toi, il y a un problème que signalait d'ailleurs Walter avec les scrollBars.
Tu as raison, avec lbOwnerDrawFixed, il y a une erreur, mais pas avec lbStandard...

Bon il va falloir perfectionner ça...

A+
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
25 mai 2012 à 15:01
Salut Cantador,

Merci pour ta remarque.
Effectivement c'est pourri... J'ai publié ça rapidement, seul m'intéressait le problème de la transparence.
Maus tu as raison, sans une gestion de l'affichage correct, ça vaut pas le coup. Je perfectionnerai dès que je me repencherai dessus.

Par ailleurs, si on doit scroller sur une image, il vaut peut-être mieux trouver un autre mécanisme avec des bitmap et du textout sur canvas de bitmap... Surtout que je trouve horrible les scrollbars...

Donc à suivre
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
25 mai 2012 à 10:27
si tu ajoutes du texte faisant apparaître la barre de scroll vertical
et que tu fais défiler rapidement.
alors, il se produit un souci d'affichage (écran noir..)
il y a d'ailleurs un avertissement de l'auteur :
* To break it short: TTransparentListBox is only suitable
* for non-scrolling lists.
Rejoignez-nous