Bonjour,
Ce week-end mon addiction au TPath s'est confirmée
J'ai voulu pousser le bouchon le plus loin possible et, entre autres, ajouter des dessins à des dessins et ce à l'exécution (attention jouer à ça est très très addictif)
Bref, j'ai voulu aussi tester la propriété Data.StyleLookup. Pour ce faire, j'ai ajouté un stylebook et dans celui-ci ajouté un Tpath contenant donc un dessin tout prêt
Sources dans ce post
Seulement voilà, deux problèmes surgissent si l'on utilise un stylelookup
1 - on ne peut pas l'ajouter à des données existante (par exemple j'aurais voulu ajouter le casque (contenu dans le style) au coeur (un data défini dans une constante)
2 - impossible d'effacer le stylebook une fois défini. J'ai isolé ce test dans un petit programme qui permet de vérifier que changer le stylelookup d'un bouton fonctionne
mais que changer le StyleLookup du TPath.Data ne fonctionne pas
Vous remarquerez que c'est peut-être un bug Delphi car au design si l'on met un stylelookup cela fonctionne mais on ne peut plus l'effacer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 unit Unit44; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.ListBox, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Objects; type TForm44 = class(TForm) Button1: TButton; ComboBox1: TComboBox; Path1: TPath; StyleBook1: TStyleBook; Button2: TButton; Panel1: TPanel; procedure ComboBox1ClosePopup(Sender: TObject); procedure Button2Click(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form44: TForm44; implementation {$R *.fmx} procedure TForm44.Button2Click(Sender: TObject); begin if Panel1.StyleLookup.IsEmpty then Panel1.StyleLookup:='droid' else Panel1.StyleLookup:=''; if Path1.data.StyleLookup.IsEmpty then Path1.Data.StyleLookup:='droid' else begin Path1.Data.StyleLookup:=''; // ???? end; end; procedure TForm44.ComboBox1ClosePopup(Sender: TObject); begin Button1.StyleLookup:=ComboBox1.Items[Combobox1.ItemIndex]; end; end.même si ensuite à l'exécution le stylelookup n'est pas pris en compte s'il est effacé
![]()
Bref, si quelqu'un à une idée, je suis preneur
Partager