Je souhaite implémenter des boutons de redimensionnement automatique en conservant la même largeur lorsque certains boutons sont invisibles. J'ai utilisé le code préparé par Andreas Rejbrand at this link, mais le problème est plus compliqué quand je mets des boutons invisibles. Dans les endroits où nous avons des boutons invisibles, il y a des lacunes. Mon idée est de vérifier combien de boutons sont invisibles et ensuite btnWidth en fonction de la quantité de boutons visibles. Je ne sais pas vraiment comment je peux vérifier si les boutons sont invisibles dans ce cas.Redimensionner les boutons en conservant la même largeur lorsque certains boutons sont invisibles
Je veux utiliser TAdvGlowButton composants pour les boutons et composant TPanel pour le panneau et ajouter la procédure OnResize au panneau comme ci-dessous:
procedure TForm3.Panel4Resize(Sender: TObject);
var
i: Integer;
btnWidth: Integer;
begin
btnWidth := Panel4.Width div Panel4.ControlCount;
for i := 0 to Panel4.ControlCount - 1 do
begin
Panel4.Controls[i].Left := i * btnWidth;
Panel4.Controls[i].Width := btnWidth;
end;
end;
Pourriez-vous me donner une idée de comment résoudre ce problème?
Vous devez remplacer 'Panel4.ControlCount' par le nombre de contrôles visibles à la place, puis ne définir que la largeur et la gauche de ces contrôles visibles (pas tous). Vous devrez suivre les numéros visibles vous-même, ou faire une boucle une première fois pour les compter avant de les boucler pour les redimensionner/les repositionner. –