Maniaxman
Messages postés155Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention17 juillet 2008
-
22 févr. 2005 à 10:31
Maniaxman
Messages postés155Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention17 juillet 2008
-
23 févr. 2005 à 18:38
salut, j'essaie de changer la couleur d'un label
au survol de la souris, pour cela dans la propriété MouseMove
d'un Panel, j'ai mis ce code :
Code:, ----
Label1.Font.Color := clYellow;
mais le problème, c'est que quand la souris quitte le label, la couleur reste jaune, comment faire pour qu'elle devienne noir?
Maniaxman
Messages postés155Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention17 juillet 2008 22 févr. 2005 à 10:48
oui, merci jmp77, mais c'est quand le
curseur passe au-dessus d'un panel que je veux que la couleur du label
change, et dans les évènement panel, il n'y a pas LabelOnMouseEnter ni LabelOnMouseLeave
roud59
Messages postés99Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention26 juillet 20072 22 févr. 2005 à 12:18
Salut Maniaxman,
Une petite info, OnMouseMove d'un contrôle est déclenché quand la souris bouge au dessus du contrôle. Quand la souris sort du contrôle, le OnMouseMove du contrôle n'est plus déclenché, et c'est pour ça que ton label reste jaune. Maintenant, quand la souris quitte ton pannel elle arrive forcément (presque) sur autre controle, sont parent par exemple. Recupère alors le OnMouseMove du controle parent ou des controles à coté du panel pour en déduire que la souris est sur un autre contrôle et donc qu'elle a quitté ton panel pour remettre ton label en noir.
Maniaxman
Messages postés155Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention17 juillet 2008 22 févr. 2005 à 12:54
la réponse de jmp77 me plaisait bien, sauf que les labels restaient jaunes, c'est aprce que je n'avais pas précisé que les labels étaient sur un PageControl, mais non pas sur la fiche directement, et les labels ne se trouvaient pas dans les Panels, d'ailleurs je n'arrive toujours pas à séléctionner tous les labels du PageControl
Maniaxman
Messages postés155Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention17 juillet 2008 22 févr. 2005 à 14:07
est-ce qu'au lieu de mettre le code pour que les labels redeviennent
noirs dans chaque évènement OnMouseMove de chaque Tabsheet, il n'y
aurait pas moyen de mettre le code une seule fois ?
Maniaxman
Messages postés155Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention17 juillet 2008 22 févr. 2005 à 15:13
En fait, je me suis rendu compte que pour mon application, ça serait plus simple de mettre mes labels dans des TPanels, donc comment faire pour que uniquement les Labels deviennent jaunes quand le curseur passe au-dessus d'un Panel, j'avais mis ceci dans l'évènement OnMouseMove des Panels :
begin
//On récupère la form où est posé le TpageControl
Form := TForm(TTabSheet(Sender).PageControl.Parent);
For I:=0 to Form.ComponentCount-1 do
begin
//On recherche tous les tpanels de la form et on les mets en noir
If Form.Components[I] is TPanel then
TPanel(Form.Components[I]).Font.Color := ClBlack;
end;
end;
mais les éléments qui sont contenus dans le Panels comme les RadioButton deviennent jaunes sans que je le veuille, je voudrais que seulement les labels deviennent jaunes.
begin
//On récupère la form où est posé le TpageControl
Form := TForm(TTabSheet(Sender).PageControl.Parent);
For I:=0 to Form.ComponentCount-1 do
begin
//On recherche tous les tpanels de la form et on les mets en noir
If Form.Components[I] is TLabel then
TLabel(Form.Components[I]).Font.Color := ClBlack;
end;
end;
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 22 févr. 2005 à 15:22
Mais dans ce cas la je ne comprends plus rien a ta demande. Est ce que
ces sont les labels ou les panels que tu veux passer en jaune puis en
noir? Explique bien ce que tu veux faire car la je pense que l'on est
entrain de faire une usine a gaz alors ce que tu veux faire est simple
je pense.