2013-01-08 5 views
0

J'utilise les contrôles DevExpress 2012 pour créer une application qui simule l'apparition d'un formulaire papier pour faciliter la saisie de données.Comment redimensionner automatiquement TcxGroupBox imbriqué

Chaque section du formulaire est un TcxGroupBox. Et à l'intérieur de chacun de ce TcxGoupBox peut avoir beaucoup d'autres TcxGroupBox au même niveau et/ou dans des niveaux imbriqués.

Ils sont tous avec TcxGroupBox.Align = alTop

Toutefois, selon certains paramètres des données des groupes peuvent être cachés, et qui causent les autres groupes d'aligner vers le haut, cela est exact.

Mon problème est de savoir comment redimensionner automatiquement chaque bordure de boutons TcxGroupBox. Quand un groupe est caché, tous les groupes du même niveau sont alignés en haut, et à la fin ils occupent l'espace restant du groupe caché. Ses groupes parents n'ont pas d'attribut auto = resize. L'inverse est également vrai lorsqu'il est nécessaire de montrer un groupe caché et que le groupe parent doit être redimensionné pour l'accueillir.

J'utilise Delphi XE2

Répondre

1

Vous devez définir la propriété de hauteur de chaque enfant du groupe en conséquence. Je suppose que cela dépend de la quantité d'éléments vérifiables et le nombre de colonnes. L'utilisation de cette approche présente l'avantage que toutes vos lignes (c'est-à-dire les éléments vérifiables) sont alignées de manière égale.

Autant j'aime les possibilités d'alignement automatique, j'ai tendance à définir moi-même la taille et la position de ces éléments dans l'OnResize-Event du conteneur englobant (Panel, Group Box, Form, Frame).

Questions connexes