2010-07-07 18 views
4

Je souhaite aligner un certain composant sur Align = alLeft sur le panneau, en occupant tout le côté gauche du panneau. Ensuite, ajoutez un autre composant à Aligner = AlTop, mais sans prédominance sur le composant aligné sur la gauche, afin qu'il n'occupe que le haut du panneau où le composant aligné n'est pas occupé. (Si cela a du sens). La chose est, je fais beaucoup de dessin personnalisé sur le panneau, donc je ne suis pas en mesure d'ajouter des panneaux supplémentaires sur mon panneau d'origine pour subdiviser le panneau et accomplir l'alignement comme je le ferais normalement. Je veux donc changer la façon dont Align fonctionne pour ce panneau spécifique. Est-ce possible? J'utilise Delphi 7. Quelque chose comme ceci:Comment régler "Aligner à gauche" pour avoir la prédominance sur "Aligner en haut" dans Delphi 7?

alt text http://www.freeimagehosting.net/uploads/2ede3a0023.jpg

+1

Pouvez-vous faire un diagramme du panneau sur lequel vous dessinez? Vous devriez être capable de réaliser ceci avec des panneaux imbriqués, vous pourriez juste devoir mettre le panneau que vous dessinez dans un autre panneau. – Nat

Répondre

2

Jetez un coup d'œil à alCustom. Je ne le vois pas beaucoup utilisé de nos jours mais Demo2 de here pourrait être ce dont vous avez besoin.

+0

Merci Ulrich. C'était exactement ce que je cherchais. Je n'ai jamais su comment utiliser alCustom, cet exemple m'a montré comment. –

4

Eh bien, si vous ne pouvez pas ajouter un panneau supplémentaire avec alClient sous le panneau avec alTop,

alors mon alternative serait d'utiliser des ancres , en plaçant simplement les panneaux là où vous le souhaitez et en ajoutant akBottom sur le panneau de gauche et akRight sur le panneau supérieur.

La dernière option consiste à redimensionner les panneaux vous-même dans l'événement OnResize du conteneur parent/formulaire.