home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Demo / conceptdraw / data1.cab / Samples__Basic / SimpleDrawing / DrawFillShadow / DrawFillShadow.cdb next >
Text File  |  2004-02-13  |  3KB  |  55 lines

  1. Sub DrawFillShadow()
  2.     Dim active_page As Page        '╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╨░╨║╤é╨╕╨▓╨╜╤â╤Ä ╤ü╤é╤Ç╨░╨╜╨╕╤å╤â ╤é╨╡╨║╤â╤ë╨╡╨│╨╛ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░.
  3.     Dim new_Shape As Shape        '╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╨╛╨▒╤è╨╡╨║╤é-╤ê╤ì╨╣╨┐, ╨┐╤Ç╨╡╨┤╤ü╤é╨░╨▓╨╗╤Å╤Ä╤ë╨╕╨╣ ╨╜╨╛╨▓╤ï╨╣ Shape.
  4.     Dim i As integer            '╨í╤ç╨╡╤é╤ç╨╕╨║ ╤å╨╕╨║╨╗╨░.
  5.     Dim iCounter As Integer        '╨í╤ç╨╡╤é╤ç╨╕╨║ ╨║╨╛╨╗╨╕╤ç╨╡╤ü╤é╨▓╨░ ╤ü╤é╤Ç╨╛╤Å╤ë╨╕╤à╤ü╤Å ╤ê╤ì╨╣╨┐╨╛╨▓, ╤ü╤ç╨╡╤é ╨╜╨░╤ç╨╕╨╜╨░╨╡╤é╤ü╤Å ╤ü 0.
  6.     Dim dShapeOffsetX as Double    '╨Ü╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╨░ X ╨▓╨╡╤Ç╤à╨╜╨╡╨│╨╛ ╨╗╨╡╨▓╨╛╨│╨╛ ╤â╨│╨╗╨░ ╤ê╤ì╨╣╨┐╨░
  7.     Dim dShapeOffsetY as Double    '╨Ü╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╨░ Y ╨▓╨╡╤Ç╤à╨╜╨╡╨│╨╛ ╨╗╨╡╨▓╨╛╨│╨╛ ╤â╨│╨╗╨░ ╤ê╤ì╨╣╨┐╨░
  8.      
  9.     iCounter = -1            '╨ÿ╨╜╨╕╤å╨╕╨░╨╗╨╕╨╖╨░╤å╨╕╨╕ ╤ü╤ç╨╡╤é╤ç╨╕╨║╨░ ╤ê╤ì╨╣╨┐╨╛╨▓
  10.     thisDoc.ShadowOffsetX = 150    '╨Æ╤ï╤ü╤é╨░╨▓╨╗╤Å╨╡╨╝ ╤ü╨╝╨╡╤ë╨╡╨╜╨╕╨╡ ╤é╨╡╨╜╨╕ ╨▓ ╤ì╤é╨╛╨╝ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨╡
  11.     thisDoc.ShadowOffsetY = 50
  12.     
  13.     '╨ƒ╨╛╨╗╤â╤ç╨░╨╡╨╝ ╤ü╤ü╤ï╨╗╨║╤â ╨╜╨░ ╨░╨║╤é╨╕╨▓╨╜╤â╤Ä ╤ü╤é╤Ç╨░╨╜╨╕╤å╤â ╤é╨╡╨║╤â╤ë╨╡╨│╨╛ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░. ╨ÿ╤ü╨┐╨╛╨╗╤î╨╖╤â╨╡╨╝ ╨│╨╗╨╛╨▒╨░╨╗╤î╨╜╤â╤Ä ╨┐╨╡╤Ç╨╡╨╝╨╡╨╜╨╜╤â╤Ä thisDoc
  14.     '╨┤╨╗╤Å ╨┤╨╛╤ü╤é╤â╨┐╨░ ╨║ ╨╛╨▒╤è╨╡╨║╤é╤â Document.
  15.     Set active_page = thisDoc.ActivePage() 
  16.  
  17.     '╨₧╤ç╨╕╤ü╤é╨╕╤é╤î ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é ╨╛╤é ╨▓╤ü╨╡╤à ╨╜╨░╤à╨╛╨┤╤Å╤ë╨╕╤à╤ü╤Å ╨▓ ╨╜╨╡╨╝ ╤ü╨╡╨╣╤ç╨░╤ü ╤ê╤ì╨╣╨┐╨╛╨▓.
  18.     thisDoc.ActivePage.RemoveAllShapes()
  19.  
  20.     '╨ö╨╗╤Å ╨║╨░╨╢╨┤╨╛╨│╨╛ ╤é╨╕╨┐╨░ Pattern ╤ü╤é╤Ç╨╛╨╕╨╝ ╨╛╨▒╤è╨╡╨║╤é, ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╤Ä╤ë╨╕╨╣ ╨╡╨│╨╛ ╨▓ ╨║╨░╤ç╨╡╤ü╤é╨▓╨╡
  21.     'Pattern ╨╛╨▒╤è╨╡╨║╤é╨░ ╨╕ Pattern ╤é╨╡╨╜╨╕. ╨ª╨╕╨║╨╗ ╨┐╨╛ ╨▓╤ü╨╡╨╝╤â ╨╕╨╜╤é╨╡╤Ç╨▓╨░╨╗╤â, ╨▓ ╨║╨╛╤é╨╛╤Ç╨╛╨╝
  22.     '╤ü╨╛╨┤╨╡╤Ç╨╢╨░╤é╤ü╤Å ╨┤╨╛╨┐╤â╤ü╤é╨╕╨╝╤ï╨╡ ╨╕╨╜╨┤╨╡╨║╤ü╤ï Pattern.
  23.     For i = 0 To 69
  24.         '╨ÿ╨╜╨┤╨╡╨║╤ü╤ï ╨╛╤é 39 ╨┤╨╛ 49 ╨▓╨║╨╗╤Ä╤ç╨╕╤é╨╡╨╗╤î╨╜╨╛ ╨▓ ╨╜╨░╤ü╤é╨╛╤Å╤ë╨╡╨╡ ╨▓╤Ç╨╡╨╝╤Å ╨╜╨╡ ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╤Ä╤é╤ü╤Å.
  25.         '╨₧╨╜╨╕ ╨▒╤â╨┤╤â╤é ╨┐╤Ç╨╛╨┐╤â╤ë╨╡╨╜╤ï.
  26.         If i < 39 Or i > 49 Then
  27.             '╨í╤ç╨╡╤é╤ç╨╕╨║ ╨║╨╛╨╗╨╕╤ç╨╡╤ü╤é╨▓╨░ ╤ü╤é╤Ç╨╛╤Å╤ë╨╕╤à╤ü╤Å ╨╛╨▒╤è╨╡╨║╤é╨╛╨▓ ╤â╨▓╨╡╨╗╨╕╤ç╨╕╨▓╨░╨╡╤é╤ü╤Å ╨╜╨░ 1
  28.             iCounter = iCounter +1
  29.             
  30.             '╨í╤é╤Ç╨╛╨╕╨╝ ╨┐╤Ç╤Å╨╝╨╛╤â╨│╨╛╨╗╤î╨╜╨╕╨║, ╨┤╨╡╨╝╨╛╨╜╤ü╤é╤Ç╨╕╤Ç╤â╤Ä╤ë╨╕╨╣ ╨╛╤ç╨╡╤Ç╨╡╨┤╨╜╨╛╨╣ ╤é╨╕╨┐ Pattern.
  31.             '╨Æ╤ï╤ç╨╕╤ü╨╗╤Å╨╡╨╝ ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╤é╨░╨║, ╤ç╤é╨╛╨▒╤ï ╨╛╨▒╤è╨╡╨║╤é╤ï ╤ü╨╛╤ü╤é╨░╨▓╨╗╤Å╨╗╨╕ ╤é╨░╨▒╨╗╨╕╤å╤â.
  32.             dShapeOffsetX = 100 + (iCounter Mod 5) * 500
  33.             dShapeOffsetY = 100 + (iCounter  \  5) * 300
  34.             Set new_Shape = active_page.DrawRect(dShapeOffsetX, dShapeOffsetY, dShapeOffsetX + 200, dShapeOffsetY +200)
  35.         
  36.             '╨ú╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ ╨┐╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╜╤ï╨╝ ╨╛╨▒╤è╨╡╨║╤é╨░╨╝ ╤å╨▓╨╡╤é╨░ ╨╖╨░╨╗╨╕╨▓╨║╨╕ ╨╕ Fill Pattern.
  37.             '╨ÿ╨╜╨┤╨╡╨║╤ü, ╤Ç╨░╨▓╨╜╤ï╨╣ ╨╜╤â╨╗╤Ä, ╤ü╨╛╨╛╤é╨▓╨╡╤é╤ü╤é╨▓╤â╨╡╤é ╨╛╤é╤ü╤â╤é╤ü╤é╨▓╨╕╤Ä ╨╖╨░╨╗╨╕╨▓╨║╨╕.
  38.             new_Shape.FillPatColor.Index = 65
  39.             new_Shape.FillColor.Index = 224
  40.             new_Shape.FillPattern = i
  41.             
  42.             '╨ú╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ ╨┐╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╜╤ï╨╝ ╨╛╨▒╤è╨╡╨║╤é╨░╨╝ ╤å╨▓╨╡╤é╨░ ╨╖╨░╨╗╨╕╨▓╨║╨╕ ╤é╨╡╨╜╨╕ ╨╕ Shadow Pattern.
  43.             '╨ÿ╨╜╨┤╨╡╨║╤ü, ╤Ç╨░╨▓╨╜╤ï╨╣ ╨╜╤â╨╗╤Ä, ╤ü╨╛╨╛╤é╨▓╨╡╤é╤ü╤é╨▓╤â╨╡╤é ╨╛╤é╤ü╤â╤é╤ü╤é╨▓╨╕╤Ä ╤é╨╡╨╜╨╕.
  44.             new_Shape.ShadowPatColor.Index = 119
  45.             new_Shape.ShadowColor.Index = 202
  46.             new_Shape.ShadowPattern = i
  47.             
  48.             '╨ö╨╛╨▒╨░╨▓╨╗╤Å╨╡╨╝ ╨╛╨▒╤è╨╡╨║╤é╤â ╤é╨╡╨║╤ü╤é, ╨║╨╛╤é╨╛╤Ç╤ï╨╣ ╤ü╨╛╨┤╨╡╤Ç╨╢╨╕╤é ╨╜╨╛╨╝╨╡╤Ç ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╨╡╨╝╨╛╨│╨╛ ╨╕╨╜╨┤╨╡╨║╤ü╨░.
  49.             '╨ƒ╤Ç╨╡╨╛╨▒╤Ç╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╨╕╨╖ ╤é╨╕╨┐╨░ Integer ╨▓ ╤é╨╕╨┐ String ╨┐╤Ç╨╛╨╕╤ü╤à╨╛╨┤╨╕╤é ╨╜╨╡╤Å╨▓╨╜╨╛.
  50.             new_Shape.Text = i
  51.         End If
  52.     Next
  53.  
  54. End Sub
  55.