Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit VML, une fonctionnalité déconseillée à partir de Windows Internet Explorer 9. Les pages web et les applications qui s’appuient sur VML doivent être migrées vers SVG ou d’autres normes largement prises en charge.
Notes
Depuis décembre 2011, cette rubrique a été archivée. Par conséquent, il n’est plus activement géré. Pour plus d’informations, consultez Contenu archivé. Pour obtenir des informations, des recommandations et des conseils concernant la version actuelle de Windows Internet Explorer, consultez Centre de développement Internet Explorer.
Dans cette rubrique, nous allons illustrer comment utiliser l’élément <shapetype>
pour définir vos propres formes fréquemment utilisées, puis instancier ou créer des formes à partir du type de forme.
Si vous souhaitez dessiner de nombreuses formes qui ont des propriétés identiques ou similaires, il serait fastidieux de taper à plusieurs reprises les mêmes attributs de propriété pour chaque forme. VML fournit l’élément <shapetype>
afin que vous puissiez définir un prototype d’une forme. Vous pouvez ensuite utiliser l’élément <shape>
pour instancier de nombreuses copies de formes du même type de forme.
Vous pouvez suivre les trois étapes pour définir un type de forme, puis instancier une forme à partir du type de forme :
- Tapez un
<shapetype>
élément et attribuez-lui un nom en spécifiant l’attribut id. - Décrivez le shapetype à l’aide de ses attributs de propriété ou sous-éléments.
- Instanciez une forme en tapant un
<shape>
élément et faites référence à l’attribut type de la forme à l’attribut id du shapetype.
Par exemple, vous tapez les lignes suivantes pour créer un type de forme appelé « MyShape » :
<v:shapetype id="MyShape" >
</v:shapetype>
Ensuite, vous modifiez le type de forme en définissant certains attributs de propriété, tels que fillcolor="red" strokecolor="blue"
. Vous pouvez également utiliser des sous-éléments à l’intérieur du shapetype, tels que <path>
, <fill>
<stroke>
(nous parlerons de ces sous-éléments dans les rubriques ultérieures).
<v:shapetype id="MyShape" fillcolor="red" strokecolor="blue"...>
</v:shapetype>
Ensuite, vous instanciez une forme à partir du type de forme « MyShape » en spécifiant type="#MyShape"
, comme illustré dans la représentation VML suivante. Cette forme hérite de toutes les propriétés du type de forme « MyShape » et est affichée dans sa zone de conteneur à une taille de 100 par 80.
<v:shape type="#MyShape" style='width:100;height:80'/>
Vous pouvez instancier une autre forme à partir du type de forme « MyShape » en spécifiant et en type="#MyShape"
remplaçant certaines propriétés, telles que fillcolor="maroon"
, comme illustré dans la représentation VML suivante. Cette forme hérite de toutes les propriétés du type de forme « MyShape », à l’exception de la propriété fillcolor, et est affichée dans sa zone de conteneur à une taille de 70 par 90.
<v:shape type="#MyShape" fillcolor="maroon"
style='width:70; height:90'/>
Voici la représentation VML complète de l’exemple précédent :
<body>
<v:shapetype id="MyShape" fillcolor="red" strokecolor="blue" coordsize="21600,21600"
path="m10860,2187c10451,1746,9529,1018,9015,730,7865,152,6685,,5415,,4175,
152,2995,575,1967,1305,1150,2187,575,3222,242,4220,,5410,242,6560,575,7597l10860,
21600,20995,7597c21480,6560,21600,5410,21480,4220,21115,3222,20420,2187,19632,
1305,18575,575,17425,152,16275,,15005,,13735,152,12705,730,12176,1018,11254,1746,
10860,2187xe">
</v:shapetype>
<v:shape type="#MyShape" style='width:100;height:80;'/>
<v:shape type="#MyShape" style='width:70;height:90;' fillcolor="maroon"/>
</body>
Comme vous l’avez appris, lorsqu’une forme est instanciée à partir d’un shapetype, elle hérite de tous les attributs de propriété du shapetype. Vous pouvez remplacer tout ou partie des attributs hérités en redéfinissant les attributs à l’intérieur de l’élément <shape>
. N’oubliez pas que l’héritage n’est qu’un seul niveau. En effet, seul un <shape>
élément peut référencer un <shapetype>
élément. Un <shapetype>
élément ne peut pas référencer un autre <shapetype>
élément.
En outre, un type de forme n’appartient à aucun groupe. Par conséquent, l’élément <shapetype>
peut apparaître seul ou à l’intérieur d’un <group>
élément. Vous pouvez avoir de nombreuses formes à l’intérieur de différents groupes qui font référence au même type de forme. Si un type de forme apparaît à l’intérieur d’un groupe, une forme vivant dans un autre groupe peut toujours référencer ce type de forme.
Par exemple, dans la représentation VML suivante, Rect1 et Rect2 sont dans GroupA, et Rect3 est dans GroupB. Les trois rectangles sont instanciés à partir du type de forme MyShape.
<body>
...
<v:shapetype id="MyShape" fillcolor="blue" strokecolor="red"...>
</v:shapetype>
<v:group id="GroupA"...>
<v:shape id="Rect1" type="#MyShape" .../>
<v:shape id="Rect2" type="#MyShape" strokecolor="black".../>
</v:group>
<v:group id="GroupB"...>
<v:shape id="Rect3" type="#MyShape" fillcolor="green".../>
</v:group>
...
</body>
Pour plus d’informations sur cet élément, consultez la spécification VML .