COMPO LED TRANSPARENTE AVEC OU SANS BITMAP ET 3 ETATS: ON/OFF/DISABLED!

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 - 8 avril 2005 à 16:44
tartave Messages postés 15 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 1 mars 2009 - 13 juin 2008 à 16:56
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/30627-compo-led-transparente-avec-ou-sans-bitmap-et-3-etats-on-off-disabled

tartave Messages postés 15 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 1 mars 2009
13 juin 2008 à 16:56
lors de l'instalation du coposant il lui manque un fichier : Types.dcu
tartave Messages postés 15 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 1 mars 2009
13 juin 2008 à 16:49
bonjour Mauricio,
ton composant est t'il compatible pour delphi 2005 ??
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
8 avril 2005 à 17:19
Ça me plait pour 2 raisons:
- J' utilise des units (divisées par type ex. obj/graph/sys/div etc...) pour regrouper les fonctions que je crées et ainsi, pouvoir les utiliser dans diverses programmes. Le problème c' est que ça gonfle les executables juste à cause d' une fonction qu' on a voulu utiliser. De plus, bem on peut pas faire des compos visuels:(
- Ça elimine le mauvais point cité plus haut! C' est bien plus visuel (même pour les compos non visuels, on voit tout de suite sur la TForm ce qu' on utilise).

Désolé mais pour le caption, ce sera pas possible!
Non pas que ton idée ne soit pas bonne, mais je pourrais plus créer des Leds (sans bitmaps) rectangulaires (avec la largeur désirée en fait).
par contre, des Leds rondes (toujours sans Bitmaps) j' y ai pensé et ovales aussi selon la taille du compo (c' est pour ça que je peux pas avoir de caption).
J' ai voulu posté comme ça pour avoir l' opinion du public. Mais je vais utiliser ton code pour y implementer les rondeurs (on aime tous ça, les rondeurs! oups, je m' égarre).

Sinon, bem c' est pas evident du tout. Je pense que j' ai bien fait de m' y mettre tard! Ça a evité de foutre des compos de m... plein de bugs partout!
D' ailleurs, j' ai un petit bug sur le compo TcyLabel/TcyActiveLabel!!!
cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
8 avril 2005 à 16:44
Salut Mauricio,

Finalement, écrire des composants, c'est pas si mal ! non ? Tu ne vas plus t'arrêter !
Quelques remarques sur celui-ci :
1 - J'aurais aimé que la propriété Caption y soit, pour avoir un texte en face de la led (avec la propriété Alignment comme pour un TRadioButton), plutôt que de coller un label à coté.
2 - Sans bitmap, c'est pas très zoli ! J'avais écrit ça (sans gestion de bitmap) et avec Caption pour faire des leds rondes :
---------------------------------------------
procedure TCustomLed.Paint;
var
W, H, X, Y : integer;
begin
W:=Width;
H:=Height;
if FAlignment = taRightJustify then
x:=W-H
else
x:=0;
y:=0;
with canvas do
begin
pen.color:=clBlack;
pen.style:=psSolid;
case FState of
ldOn : Brush.color:=OnColor;
ldOff : Brush.Color:=OffColor;
ldGrayed : Brush.Color:=clGray;
end;
pen.color:=Brush.Color;
pie(X+1,Y+1,X+H-1,Y+H-1,X,Y,X,Y);
pen.Color:=clgray;
arc(X,Y,X+H,Y+H,X,Y,X,Y);
pen.Color:=clWhite;
arc(X+1,Y+1,X+H-1,Y+H-1,X,Y,X,Y);
pen.Color:=clGray;
arc(X+1,Y+1,X+H-1,Y+H-1,X,Y+H,X+H,Y);
pen.color:=clWhite;
arc(X+4,Y+4,X+H-4,Y+H-4,X+H,Y,X,Y+H);
arc(X+5,Y+5,X+H-5,Y+H-5,X+H,Y,X,Y+H);
end;
if FAlignment = taLeftJustify then
x:=H+8
else
x:=0;
y:=(height+canvas.font.Height) div 2;
Canvas.Font:=Font;
with Canvas do
begin
Brush.Color := color;
TextOut(x,y,Caption);
end;
end;
---------------------------------------------
Pour des leds de 10 à 20 pixels, ça rend pas mal.

A +

Ken@vo
Rejoignez-nous