Composant bouton avec image png ? - Delphi/Pascal - Programmation
Marsh Posté le 29-11-2004 à 10:45:21
De base dans delphi nan, essaye en installant cette librairie:
http://www.delphi-gems.com/Graphics.php
Marsh Posté le 29-11-2004 à 10:48:29
Ben en fit j'ai déjà un composant qui me permet d'afficher les images png dans delphi.
Ce que je cherche c'est juste le compo bouton.
A mmoins que je puisse utiliser le composant bitbtn ?
PS : non je ne peux charger des png qu'avec le composant Timage.
Bitbtn ne prend que des bmp.
Marsh Posté le 29-11-2004 à 11:26:32
ReplyMarsh Posté le 29-11-2004 à 11:33:28
Oups, j'avais effectivement raté la deuxième ligne !
Merci
je testerai cela ce soir.
Marsh Posté le 29-11-2004 à 11:37:34
ReplyMarsh Posté le 02-12-2004 à 18:15:41
euh comment fait-on pour enlever un composant ?
Parce que j'ai voulu installer le composant que tu m'as indiqué, mais il gère super mal les couleurs de ptransparence dans les png, et il m'a foutu la merde dans mon appli.
Merci
Marsh Posté le 02-12-2004 à 18:26:32
Pour l'enlever de l'appli il suffit d'enlever toutes ses références dans les uses.
Pour l'enlever de Delphi il faut soit le virer de dclusr.dpk si tu l'as installé là (ou si tu l'as installé via "install component" ), soit aller dans la liste des packages (menu components) et virer le package correspondant au composant.
Pour un support correct tu PNG avec transparences dans les imagelist et des boutons avec ces PNG, il y a cette série de composants tout récents mais encore en test :
http://www.thany.org/pngcomponents
Marsh Posté le 02-12-2004 à 18:36:48
ben je l'ai mis dans le dclusr.dpk !
Donc quelle est la marche à suivre pur l'enlever ?
Merci
Marsh Posté le 02-12-2004 à 20:15:23
tu ouvres dclusr.dpk, tu vires le fichier .pas du compo dans la liste des compos qui sont dans dclusr.dpk (fenêtre de package qui est apparue quand t'as ouvert le fichier) et puis tu cliques compile puis install, il devrait te dire que le compo en question n'est plus enregistré
Marsh Posté le 02-12-2004 à 21:02:49
~merci nickel. Maintenant les images png s'affichent bien.
Sinon, j'ai voulu essayé ton compos (thany...)
mais delphi me dit qu'il y a un pb de header au moment de la compil !
Donc là je ne vois pas que faire.
Marsh Posté le 02-12-2004 à 21:20:51
vu comme tu as bien détaillé le problème ("un pb de header" ) je ne vois pas que faire non plus ...
Marsh Posté le 02-12-2004 à 22:07:35
oui, c'est vrai. Mais bon qd même, tu pourrais faire un effort et te concentrer très fort sur mon pb ! (ah pardon t'es pas devin !)
Bon et bien tant pis pour toi, je reviens avec deux pb à te soumettre :
1 - pour ce pb de HANDLE (et pas header ! en plus je ne t'aidais pas !) : voilà ce que je fais :
Citation : j'ouvre le fichier png_D7.dpk |
2 - J'ai une fiche avec un bouton, une checklistbox et une listview.
suite à l'appuie sur le bouton, ma checklistbox se remplie avec le nom des cinemas de tout un département choisi (enfin bref, peu importe)
On peut alors sélectionner les cinés qui nous intéressent et ceux-ci s'affichent dansla listview.
J'ai juste un petit pb : si l'on coche/décoche un peu trop vite un element de la checklistbox, delphi ne prend pasen compte le chgt d'état. Est-il possible demodifier cela ?
Pour info voici mon code
Citation : procedure TForm2.CheckListBox1Click(Sender: TObject); |
MErci
Marsh Posté le 02-12-2004 à 23:03:52
1. "Handle de paquet incorrect" ? il dit vraiment ça ?
2. essaie
Code :
|
Ton code est un peu bizarre (et pas super bien indenté ni mis en page ) ; c'est quoi ce 999 ? Tu mettrais pas une valeur spéciale genre une valeur négative ou MaxInt comme valeur spéciale plutôt qu'un truc qui risque d'être un index réel ?
Et je ne comprends pas l'intérêt de la boucle ; un IndexOf ne serait pas plus simple ?
Marsh Posté le 02-12-2004 à 23:06:24
Chez moi le PNG_D7 s'installe sans problème
Marsh Posté le 03-12-2004 à 06:31:42
pourle handle, c'est vraiment ce qu'il me met ! (j'ai pris la version 1.0 RC1, enfin celle qui est sur le site !)
Sinon pour la fonction, je fais ce que je peux !
C'est quoi le indexof ?
MErci
Marsh Posté le 03-12-2004 à 09:04:42
Tous les TStrings/TStringList ont une méthode IndexOf qui renvoie l'index de la chaîne demandée, ou -1 si elle n'est pas dedans. Les TListBox & TCheckListBox utilisant un TStrings, c'est la manière la plus simple de voir si un item est dedans.
(puis )
Marsh Posté le 03-12-2004 à 09:11:52
Merci.
Oui effectivement après avoir posté j'ai fait un tour dans l'aide de delphi et j'ai vu le principe de cette fonction que je ne connaissez pas !
Encore merci.
Sinon ça veut dire quoi "indenté" ?
Marsh Posté le 03-12-2004 à 09:16:06
http://community.borland.com/artic [...] 80,00.html
bien indenté :
Code :
|
mal indenté :
Code :
|
Marsh Posté le 03-12-2004 à 17:59:39
Bon avec indexof, evidemment la routine est moins longue et marche de la même façon.
Mais j'ai tjs mon pb. De plus les commande chcklistbox.beginupdate, et endupdate n'existe pas chez moi !
la seule que me propose delphi est update tout court !
PS : bon en fait j'ai trouvé, c'est checklistbox.items.beginupdate
Mais le pb reste le même, si on clique trop rapidement (en 1 seconde on coche/decoche) la commande n'est pas prise en compte.
Marsh Posté le 03-12-2004 à 18:01:28
C'est Checklistbox.Items.BeginUpdate (une petite recherche rapide dans la doc ne t'aurait pas fait de mal )
Marsh Posté le 03-12-2004 à 18:05:47
Mais après observation du code de Delphi ça ne changera pas grand chose à ton problème.
Tu peux tenter de désactiver la liste pendant ton traitement, ou améliorer ton code pour que ça aille plus vite
Par exemple en utilisant des BeginUpdate/EndUpdate quand tu modifies des listes (listbox, listview, treeview, combobox, etc.) dans des boucles ou que tu fais des Clear sur des listes.
Marsh Posté le 03-12-2004 à 18:07:09
oups! on s'est croisé!
Marsh Posté le 03-12-2004 à 18:11:21
croisé ? j'ai pas mis 2 minutes à taper mon message hein c'est suite à ton post que je l'ai tapé
Marsh Posté le 29-11-2004 à 10:23:32
existe-t-il un composant bouton avec posibilité de mettre une image png dessus ?
Merci
---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF