XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005
-
25 juil. 2005 à 17:49
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
26 juil. 2005 à 13:24
bonjour,
j'ai une fiche que j'ouvre e ferme plusieurs fois de suite, en actualisant le contenus de celle-ci, le problème ce que j'ai un scrollbox que je n'arrive pas a effacer, c'est à dire qu'à chaque ouverture de ma fiche le contenu précédent du scrollbox apparait avec le nouveau contenu par dessus, comment peut ton effacer le contenu de scrollbox, celui-ci contient des radiogroup crée dynamiquement
Loulibier
Messages postés309Date d'inscriptionjeudi 6 juin 2002StatutMembreDernière intervention24 septembre 20082 25 juil. 2005 à 18:00
Salut,
Si tu cherches à supprimer tous les éléments que tu as créés dynamiquement dans ton TScrollBox, voici une solution :
var
i : integer;
begin
// tu libères tous les composants enfant de ton TScrollBox.
for i := ScrollBox1.ComponentCount - 1 downto 0 do
ScrollBox1.Components[i].Free;
end;
Bonne Prog,
Olivier
PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
XgaletteX
Messages postés102Date d'inscriptionsamedi 14 mai 2005StatutMembreDernière intervention12 août 2005 26 juil. 2005 à 10:02
Ca ne marche pas , voici mon code ca peut peut-etre aider :
with AAnalyse^ do
begin
anc_top:=0;
for I:=0 to ListeQuestions.Count-1 do
begin
max_top:=0;
if (I mod 2 = 0) and (I>0) then
begin
for J:=I-2 to I-1 do
begin
if TRadioGroup(Liste_Critere.Items[J]).Height > max_top
then max_top := TRadioGroup(Liste_Critere.Items[J]).Height;
end;
anc_top := anc_top + max_top;
end;
AQuestion:=fiche_saisie.GetQuestion(I,AAnalyse);
Liste_Critere.Add(TRadioGroup.Create(Self));
with TRadioGroup(Liste_Critere.Items[Liste_Critere.Count-1]) do
begin
Parent := ScrollBox;
Caption := AQuestion^.Identite.Libelle;
Columns := 1;
Width := 297;
Left := 297*(I mod 2)+1;
Top := anc_top;
Font.Style := [fsBold];
Font.Size := 8;
end;
for J:=0 to AQuestion^.ListeReponses.Count-1 do
begin
AReponse:=fiche_saisie.GetReponse(J,AQuestion);
TRadioGroup(Liste_Critere.Items[Liste_Critere.Count-1]).Items.Add(AReponse^.Libelle);
end;
TRadioGroup(Liste_Critere.Items[Liste_Critere.Count-1]).Height := AQuestion^.ListeReponses.Count*30;
end;
end;
procedure Tfiche_saisie_critere.FormClose(Sender: TObject;
var Action: TCloseAction);
var
I: integer;
begin
inherited;
ScrollBox.ComponentCount
for I:=ScrollBox.ComponentCount-1 downto 0 do
ScrollBox.Components[I].Free;
Liste_Critere.Destroy;
end;