BuiltInListStyles.vb
  1. ''
  2. '' This code is part of Document Solutions for Word demos.
  3. '' Copyright (c) MESCIUS inc. All rights reserved.
  4. ''
  5. Imports System.Drawing
  6. Imports System.IO
  7. Imports System.Linq
  8. Imports System.Collections.Generic
  9. Imports GrapeCity.Documents.Word
  10. Imports GrapeCity.Documents.Imaging
  11.  
  12. '' This sample demoes all built-in list template available in DsWord.
  13. Public Class BuiltInListStyles
  14. Public Function CreateDocx() As GcWordDocument
  15. Dim doc = New GcWordDocument()
  16. Dim pars = doc.Body.Paragraphs
  17.  
  18. pars.Add("Demo of All Built-in List Templates", doc.Styles(BuiltInStyleId.Title))
  19.  
  20. Dim n = 0
  21. For Each id In [Enum].GetValues(GetType(BuiltInListTemplateId))
  22. Dim listTemplate = doc.ListTemplates.Add(id, $"listTemplate{n}")
  23. n += 1
  24. pars.Add($"List formatted using built-in list template '{listTemplate.Name}':")
  25. Dim m = 0
  26. Dim levels = New Stack(Of Integer)
  27. levels.Push(m)
  28. For Each i In New Integer() {0, 0, 0, 1, 1, 2, 2, 2, 1}
  29. If (i > levels.Count) Then
  30. levels.Push(m)
  31. m = 0
  32. ElseIf (i < levels.Count) Then
  33. m = levels.Pop()
  34. End If
  35.  
  36. Dim p = pars.Add($"List item {m} on level {levels.Count}.", doc.Styles(BuiltInStyleId.ListParagraph))
  37. m += 1
  38. p.ListFormat.Template = listTemplate
  39. p.ListFormat.LevelNumber = i
  40. Next
  41. Next
  42.  
  43. '' Done
  44. Return doc
  45. End Function
  46. End Class
  47.