2009-08-30 6 views
2

Comment créer un bouton non rectangulaire transparent avec Delphi?Comment créer un bouton non-rectangulaire avec Delphi?

+2

Si c'est vraiment si urgent, vous ne devriez pas essayer de le créer vous-même. Cela vous prendra trop de temps pour comprendre les bases. Vous feriez mieux de trouver l'une des douzaines de boutons non rectangulaires déjà faits. Essayez Torry. –

Répondre

4

Fondamentalement, vous utilisez SetWindowRgn pour définir la forme de votre bouton/contrôle/fenêtre. Voir here pour un exemple.

Ou si cela ne vous dérange pas que votre bouton ne puisse pas être sélectionné par le clavier, vous pouvez également utiliser un TImage et utiliser l'événement OnMouseUp.

Ou trouvez un bouton tiers qui fait déjà ce que vous voulez sur Torry. Le composant

3

Raize Components a un composant appelé TRzShapeButton, mais il existe probablement aussi des alternatives libres.

+1

+1 - Et vous obtenez tellement d'autres composants qui sont très matures et viennent avec un soutien fantastique. Une bibliothèque très bien pensée. – skamradt

2

Vous ne pouvez utiliser SetWindowRgn que si cela ne vous gêne pas d'avoir l'air bizarre - les bits qui ne sont pas dans la région seront simplement supprimés. Votre meilleur pari provient probablement de TCustomTransparentControl, mais vous devrez alors faire de la peinture personnalisée. Je suppose que cette peinture personnalisée était ce que vous attendiez tout le temps?

Questions connexes