Je me débrouille avec Livecode et je suis conscient que nous pouvons utiliser un gif ou un png pour changer la forme d'une pile.
Je ne veux pas changer la forme de la pile, je veux juste que la pile ait des coins arrondis sur Mac, Windows et Linux. Je n'arrive pas à trouver quoi que ce soit à ce sujet. Quelqu'un connaît-il un hack externe ou élégant?
3 Réponses :
Vérifiez la propriété "windowShape" dans le dictionnaire. Si vous créez une image avec des coins arrondis, vous pouvez définir la propriété de votre pile sur cet ID d'image.
Quand vous dites que vous ne voulez pas changer la forme de la pile, je suppose que vous voulez dire sa largeur et sa hauteur globales. Est-ce vrai?
J'essaie juste de créer une pile qui a des coins arrondis mais qui peut être redimensionnée. Ce que je voulais dire à l'origine, c'est que je ne cherche pas à créer une pile de forme bizarre qui soit statique (c'est ce que je peux faire). À l'époque, j'étais presque sûr de pouvoir faire en sorte que la pile chromée rende la barre d'outils Mac même si elle était sous Windows. On dirait que c'est un processus automatisé, mais je veux vraiment conserver les coins arrondis.
Vous pouvez toujours modifier le rect de l'image sous-jacente, et (re) définir le rect de la pile (pseudo):
set the rect of image "yourRoundRectImage" to newRect set the windowShape of stack "yourStack" to the ID of image "yourRoundRectImage"
Vous devrez peut-être jouer avec la localisation de la pile, car la définition de windowShape ne suit pas toujours la localisation de l'image dans la pile elle-même. Mais toutes les propriétés sont toujours disponibles.
Il y a cependant un hack.
Vous créez un nouvel objet RectangleGraphic à partir de la barre d'outils. Définissez son style sur "roundRect", définissez la propriété roundRadius sur ce que vous voulez. Réglez la taille sur votre taille cible.
Utilisez la commande "import snapshot from rect (rect of the RectGraphic) of the RectGraphic" pour créer un objet image. La référence à celle-ci est enregistrée dans la variable «it».
Faites ce que dunbarx a suggéré et définissez la propriété windowShape sur l'ID de l'image nouvellement créée.
La pile a maintenant la forme souhaitée. Effacez simplement les objets précédents en définissant le visible de RectangleGraphic sur false (ou supprimez-le) et de même avec l'objet image.
La pile a maintenant des bordures arrondies. Malheureusement, cette nouvelle forme de pile ne peut pas être redimensionnée. Chaque fois que vous souhaitez le redimensionner, vous répétez toutes les étapes en modifiant la taille de l'objet graphique à l'étape 1 à la taille cible souhaitée et suivez à nouveau le processus.
Je souhaite vraiment que la pile ait plus de propriétés pour personnaliser son apparence, mais malheureusement ce n'est pas le cas.
Consultez http://newsletters.livecode.com/may/issue70/newsletter3.php?id=NW70S38853 pour plus d'informations et d'idées. Le fichier .gif illustre le processus.