Difference between revisions of "FR/Documentation/BASIC Guide/Editing Drawing Objects"
m |
m (→Recherche et remplacement) |
||
Line 132: | Line 132: | ||
== Recherche et remplacement == | == Recherche et remplacement == | ||
− | Tout comme les documents texte, les documents de dessin fournissent une fonction de recherche et de remplacement. Cette fonction est semblable à celle utilisée dans les documents texte et est décrite au chapitre [[Documentation/BASIC_Guide/Text_Documents|Documents texte]]. Dans les dessins, toutefois, les objets Descriptor pour la recherche et le remplacement ne sont pas créés directement au moyen de l'objet Document, mais par l'intermédiaire du niveau de caractère associé. L'exemple suivant illustre le processus de remplacement dans un dessin : | + | Tout comme les documents texte, les documents de dessin fournissent une fonction de recherche et de remplacement. Cette fonction est semblable à celle utilisée dans les documents texte et est décrite au chapitre [[FR/Documentation/BASIC_Guide/Text_Documents|Documents texte]]. Dans les dessins, toutefois, les objets Descriptor pour la recherche et le remplacement ne sont pas créés directement au moyen de l'objet Document, mais par l'intermédiaire du niveau de caractère associé. L'exemple suivant illustre le processus de remplacement dans un dessin : |
<source lang="oobas"> | <source lang="oobas"> |
Latest revision as of 13:46, 23 May 2009
- Structure des dessins
- Édition des objets de dessin
- Présentations
Groupement d'objets
Il est souvent utile de regrouper plusieurs objets de dessin individuels afin qu'ils se comportent comme un seul objet.
L'exemple suivant associe deux objets de dessin :
Dim Doc As Object Dim Page As Object Dim Square As Object Dim Circle As Object Dim Shapes As Object Dim Group As Object Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Dim NewPos As New com.sun.star.awt.Point Dim Height As Long Dim Width As Long Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) Point.x = 3000 Point.y = 3000 Size.Width = 3000 Size.Height = 3000 ' create square drawing element Square = Doc.createInstance("com.sun.star.drawing.RectangleShape") Square.Size = Size Square.Position = Point Square.FillColor = RGB(255,128,128) Page.add(Square) ' create circle drawing element Circle = Doc.createInstance("com.sun.star.drawing.EllipseShape") Circle.Size = Size Circle.Position = Point Circle.FillColor = RGB(255,128,128) Circle.FillColor = RGB(0,255,0) Page.add(Circle) ' combine square and circle drawing elements Shapes = createUnoService("com.sun.star.drawing.ShapeCollection") Shapes.add(Square) Shapes.add(Circle) Group = Page.group(Shapes) ' centre combined drawing elements Height = Page.Height Width = Page.Width NewPos.X = Width / 2 NewPos.Y = Height / 2 Height = Group.Size.Height Width = Group.Size.Width NewPos.X = NewPos.X - Width / 2 NewPos.Y = NewPos.Y - Height / 2 Group.Position = NewPos
Ce code crée un rectangle et un cercle, puis les insère dans une page. Un objet prenant en charge le service com.sun.star.drawing.ShapeCollection est ensuite créé et le rectangle et le cercle sont ajoutés à cet objet à l'aide de la méthode Add. Le service ShapeCollection est ajouté à la page à l'aide de la méthode Group et retourne l'objet Group réel qui peut être édité individuellement comme un objet Shape.
Si vous souhaitez formater les différents objets d'un groupe, appliquez le formatage avant de les ajouter au groupe. Une fois qu'ils ont été insérés dans un groupe, les objets ne peuvent pas être modifiés.
Rotation et cisaillement des objets de dessin
Tous les objets de dessin décrits dans les sections précédentes peuvent également faire l'objet de rotations et de cisaillements à l'aide du service com.sun.star.drawing.RotationDescriptor.
Ce service fournit les propriétés suivantes :
- RotateAngle (Long)
- angle de rotation en centièmes de degré.
- ShearAngle (Long)
- angle de cisaillement en centièmes de degré.
L'exemple suivant crée un rectangle et le fait pivoter de 30 degrés à l'aide de la propriété RotateAngle :
Dim Doc As Object Dim Page As Object Dim RectangleShape As Object Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Point.x = 1000 Point.y = 1000 Size.Width = 10000 Size.Height = 10000 Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape") RectangleShape.Size = Size RectangleShape.Position = Point RectangleShape.RotateAngle = 3000 Page.add(RectangleShape)
L'exemple suivant crée le même rectangle que dans le précédent, mais en appliquant un cisaillement de 30 degrés à l'aide de la propriété ShearAngle.
Dim Doc As Object Dim Page As Object Dim RectangleShape As Object Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Point.x = 1000 Point.y = 1000 Size.Width = 10000 Size.Height = 10000 Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) RectangleShape = Doc.createInstance("com.sun.star.drawing.RectangleShape") RectangleShape.Size = Size RectangleShape.Position = Point RectangleShape.ShearAngle = 3000 Page.add(RectangleShape)
Recherche et remplacement
Tout comme les documents texte, les documents de dessin fournissent une fonction de recherche et de remplacement. Cette fonction est semblable à celle utilisée dans les documents texte et est décrite au chapitre Documents texte. Dans les dessins, toutefois, les objets Descriptor pour la recherche et le remplacement ne sont pas créés directement au moyen de l'objet Document, mais par l'intermédiaire du niveau de caractère associé. L'exemple suivant illustre le processus de remplacement dans un dessin :
Dim Doc As Object Dim Page As Object Dim ReplaceDescriptor As Object Dim I As Integer Doc = StarDesktop.CurrentComponent Page = Doc.drawPages(0) ReplaceDescriptor = Page.createReplaceDescriptor() ReplaceDescriptor.SearchString = "is" ReplaceDescriptor.ReplaceString = "was" For I = 0 to Doc.drawPages.Count - 1 Page = Doc.drawPages(I) Page.ReplaceAll(ReplaceDescriptor) Next I
Ce code utilise le premier DrawPage du document pour créer un ReplaceDescriptor avant d'appliquer ce descripteur dans une boucle à toutes les pages du dessin.
Content on this page is licensed under the Public Documentation License (PDL). |