jjnouiphp
Messages postés33Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention21 janvier 2020
-
11 nov. 2009 à 19:41
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
12 nov. 2009 à 23:00
Bonjour,
Je souhaite que lorsque je sélectionne par programme plusieurs lignes d'un TListView, ces lignes soient colorées comme lorsqu'il s'agit d'une sélection manuelle.
Lorsque je sélectionne par programme toutes les lignes, pas de changement d'affichage, par contre si ensuite j'en déselectionne une par ctl + click la couleur apparait sur les autres lignes.
J'utilise Form1.refresh après la sélection par programme, j'ai aussi testé ceci trouvé sur le site, (proposé par Cincap)
procedure TForm1.LstOpenFlyersCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
with Sender as TListView do begin
with Canvas do begin
if Item.Selected then begin
Brush.Color := rgb(220,220,255);
Pen.Style := psDot;
Pen.Color := clGray;
end
else begin
Brush.Color := rgb(255,255,255);
Pen.Style := psSolid;
Pen.Color := Brush.Color;
end;
end;
end;
end;
mais cela ne fonctionne pas.
Une idée?
Merci
A voir également:
Changement de couleur des lignes sélectionnées par programme dans un TListView
jjnouiphp
Messages postés33Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention21 janvier 20201 11 nov. 2009 à 21:47
Désolé, j'avais pourtant cherché....
Puis un sursaut ?
Trouvé la solution en m'inspirant d'un source de Gbegreg :
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if Item.Selected = true then begin
Sender.Canvas.Brush.Color := clHighlight;
Sender.Canvas.Font.Color := clWhite;
Sender.Canvas.Font.Style := [fsBold];
end
else begin
Sender.Canvas.Brush.Color := clWhite;
Sender.Canvas.Font.Style := [];
Sender.Canvas.Font.color := clBlack;
end;
end;/code
jjnouiphp
Messages postés33Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention21 janvier 20201 12 nov. 2009 à 22:50
@Bactérius : Franchement je ne sais pas si ta réponse est à prendre au 1er degré (effectivement le problème des écrits c'est qu'il y manque l'intonation).
En tout cas, je me sens relativement 'propre' car une fois résolu mon problème je transmets la solution.
Allez continuez, vous servez beaucoup (je le pense sincèrement)
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 12 nov. 2009 à 23:00
Ca dépend ... faut-il vraiment offrir quelque chose à certains individus pour qu'ils se mettent à chercher ? Je disais ça à cause de la conjoncture actuelle des évènements (voir le méga-thread de Cboulas).
Il faut prendre mes messages comme on le sent, c'est généralement la bonne réponse avec moi.