COMPO TCYSKINBUTTON COMME DANS SONIQUE !!!

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 30 avril 2005 à 05:02
josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009 - 16 juin 2005 à 10:35
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/31082-compo-tcyskinbutton-comme-dans-sonique

josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009
16 juin 2005 à 10:35
Salut maurico
comme promit dans ton pack je reviens te dire mon impression sur les compos .
Comme j'ai pas pu faire entre mon commentaire la bas alors je le fais ici pas grave j'espere . Voila les composant sont genial mais la prochaine fois si tu pouvais les faire accompagner d'un demo se serai le top car il y a le composant led que je ne sais pas encore employe et donc l'utilite m'est encore inconnue avant que je ne telecharge ton compos . Mais a part sa Re bon boulot et tout mes compliments pour ton pack .
au faite lollll pour le club
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
15 juin 2005 à 10:49
C' est trop d' honneur, et puis ... DelphiProg a déjà un grand fan club donc, il m' en voudra pas :)
josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009
15 juin 2005 à 10:41
bon boulot . tu as un club lollll . encore merci
josswel Messages postés 67 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 3 juin 2009
15 juin 2005 à 10:39
re re re moi maurico je vais devenir une de tes fans si sa continue moi qui voulait suivre ceux de delphiprog lollll . bon boulot et encore 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
6 juin 2005 à 10:38
Pour l' option Skin, c' est quand même mieux ton procédé!
Tu pourras remarquer que dans mon bouton tu n' as pas besoin de donner un bitmap pour sa visualisation 'normale' si tu utilises une image de fond.
Question resources, il me semble que le fait d' utiliser 2 grosses images implique au changement de l' etat d' un bouton, le 'paint' total de l' image actualisée. Ce qui va provoquer des clignotements à l' ecran.
Il faudra utiliser DoubleBuffer pour la form.
Bref, on pourrait aussi bien avoir tes 2 images, utiliser mes boutons en y définissant au démarrage du prog. l' image pour le click seulement. Se serait plus facile à gérer :)
A+ et tiens moi au courant ...
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
3 juin 2005 à 23:53
Je vois ce que tu veux dire. Mais : là pour l'instant je me fait une appli skinnable avec plein de bouton, des forms qui se cachent, une IHM pour du carmedia. Pour des raison de confort visuel (nuit/jour) le prog gere deja 2 images par objet. Donc par bouton j'ai UP-Night, UP-Day, Down-Night, Down-Day, plus les boutons grisables etc etc ca grimpe vite.


Dans les cas de ce genre, il me semble plus facile d'avoir une image avec tout les boutons up, une image avec tout les bouton down, et un fichier de config pour dire au prog les coordonnées/taille des dit boutons. Ca fait que 2 bmp a charger en mémoire, dont un dans le canvas de la form. Quand on clique qqpart, pouf mybutton.canvas.copyrect(). Maintenant je ne m'y connais pas assez en delphi pour savoir ce qui, du point de vue temps cpu/mémoire est le plus sain.


Du point de vue de l'utilisateur qui veut pouvoir bricoler son skin dans son coin et editer son fichier ini pour définir les boutons, ne pas trainer trop d'images me semble plus efficace.
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
2 juin 2005 à 15:00
Oui, l' idée etait bien d' eviter de gérer un TImage avec plusieurs bitmaps.
De plus, dans le cas de mon bouton en forme étoile, si tu cliques entre 2 pattes, bem le click ne s' execute pas vu qu' on ne clique pas sur l' etoile. Dans mon pack, tu as aussi les compos TcyLed et TcyAdvLed qui te permettent de gérer des booleens comme le checkBox mais avec l' image désirée.
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
2 juin 2005 à 14:56
Je vois où tu veux en venir ...
Mais c' est pas très fonctionel vu que tu dois :
- avoir plusieurs grosses images pour chaque état.
- gérer un nouveau visuel pour un bouton implique changer ces grosses images.

Comme le compo est actuellement, si tu as plusieurs boutons avec le même visuel, il te suffit par code d' attribuer les bitmaps aux autres.
monBouton2.bmpNormal := monBouton1.bmpNormal
etc ...
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
2 juin 2005 à 12:17
Sympa ce compo ! Ca m'evite l'emploi abusif de Timages

Petites idées d'évolution : un switch 3position:
-fonctionnement actuel.
-fonctionne avec des bouts d'image. Genre je loade un bmp de la taille de la form, le bouton(left,top,width,height) se repeint en extrayant du bmp de la form le rectangle qui lui convient. Comme ca, il suffit d'avoir N grosses images.
- et une région associée, pour des boutons de formes bizarres.

Good job.
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
4 mai 2005 à 11:52
Voilà un update les gars !!!
Ajout de la propriété GroupIndex, AllowAllUp.
J' ai retiré l' option DownAuto vu que la gestion passe par GroupIndex maintenant.
Le compo adapte sa taille à l' image chargée :) si stretch = false.
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
2 mai 2005 à 10:26
Merci WhiteHippo pour tes remarques.
En affet, le compo devrait s' adapter à la taille du 1er bitmap chargé.
Généralement, le mode Edition n' est pas traité differemment du mode RunTime. On y dessine un carré avec de pointillés autour du compo. Mais je vais étudier tes remarques ...
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
30 avril 2005 à 05:02
Quelques remarques en passant :

- En mode Edition il faudrait penser à désactiver les événements comme le CmMouseEnter par exemple.

- Adapter la taille des TcySkinButton à la taille des bitmaps est nécessaire.

- Si il n'y a qu'un seul bitmap parmi les 5 possibles, alors l'afficher, si il y en a plus en choisir un par defaut pour le mode edition.

Cordialement.
Rejoignez-nous