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

  1. '╨₧╨▒╤è╤Å╨▓╨╗╨╡╨╜╨╕╨╡ ╨┐╤Ç╨╛╤å╨╡╨┤╤â╤Ç╤ï DrawWave, ╤é╨╡╨╗╨╛ ╨║╨╛╤é╨╛╤Ç╨╛╨╣ ╨▒╤â╨┤╨╡╤é ╨╛╨┐╤Ç╨╡╨┤╨╡╨╗╨╡╨╜╨╛ ╨╜╨╕╨╢╨╡.
  2. Declare Sub DrawWave(x1 As Double, y1 As Double)
  3.  
  4. Sub DrawSpline()
  5.     Dim active_page As Page        '╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╨░╨║╤é╨╕╨▓╨╜╤â╤Ä ╤ü╤é╤Ç╨░╨╜╨╕╤å╤â ╤é╨╡╨║╤â╤ë╨╡╨│╨╛ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░.
  6.     Dim new_Spline As Shape        '╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╨╛╨▒╤è╨╡╨║╤é-╤ê╤ì╨╣╨┐, ╨┐╤Ç╨╡╨┤╤ü╤é╨░╨▓╨╗╤Å╤Ä╤ë╨╕╨╣ ╨╜╨╛╨▓╤ï╨╣ ╤ü╨┐╨╗╨░╨╣╨╜.
  7.     Dim i As integer            '╨í╤ç╨╡╤é╤ç╨╕╨║ ╤å╨╕╨║╨╗╨░.
  8.      
  9.     '╨ƒ╨╛╨╗╤â╤ç╨░╨╡╨╝ ╤ü╤ü╤ï╨╗╨║╤â ╨╜╨░ ╨░╨║╤é╨╕╨▓╨╜╤â╤Ä ╤ü╤é╤Ç╨░╨╜╨╕╤å╤â ╤é╨╡╨║╤â╤ë╨╡╨│╨╛ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░. ╨ÿ╤ü╨┐╨╛╨╗╤î╨╖╤â╨╡╨╝ ╨│╨╗╨╛╨▒╨░╨╗╤î╨╜╤â╤Ä ╨┐╨╡╤Ç╨╡╨╝╨╡╨╜╨╜╤â╤Ä thisDoc
  10.     '╨┤╨╗╤Å ╨┤╨╛╤ü╤é╤â╨┐╨░ ╨║ ╨╛╨▒╤è╨╡╨║╤é╤â Document.
  11.     Set active_page = thisDoc.ActivePage() 
  12.  
  13.     '╨₧╤ç╨╕╤ü╤é╨╕╤é╤î ╨░╨║╤é╨╕╨▓╨╜╤â╤Ä ╤ü╤é╤Ç╨░╨╜╨╕╤å╤â ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░ ╨╛╤é ╨▓╤ü╨╡╤à ╨╜╨░╤à╨╛╨┤╤Å╤ë╨╕╤à╤ü╤Å ╨╜╨░ ╨╜╨╡╨╣ ╤ü╨╡╨╣╤ç╨░╤ü ╤ê╤ì╨╣╨┐╨╛╨▓.
  14.     active_page.RemoveAllShapes()
  15.  
  16.     '╨í╨╛╨╖╨┤╨░╨╡╨╝ ╤ê╤ì╨╣╨┐, ╨╕╨╖╨╛╨▒╤Ç╨░╨╢╨░╤Ä╤ë╨╕╨╣ "╨▓╨╛╨╗╨╜╤ï".
  17.     '╨ƒ╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╨╡ ╤ê╤ì╨╣╨┐╨░ ╨┐╤Ç╨╛╨╕╤ü╤à╨╛╨┤╨╕╤é ╨╝╨╡╨╢╨┤╤â ╨┤╨▓╤â╨╝╤Å ╤ä╤â╨╜╨║╤å╨╕╤Å╨╝╨╕, ╨╛╨▒╤è╤Å╨▓╨╗╤Å╤Ä╤ë╨╕╨╝╨╕ ╨╛ ╨╜╨░╤ç╨░╨╗╨╡ 
  18.     '╤ü╨╛╨╖╨┤╨░╨╜╨╕╤Å ╤ê╤ì╨╣╨┐╨░ (╨╝╨╡╤é╨╛╨┤ BeginShape ╨╛╨▒╤è╨╡╨║╤é╨░ Page) ╨╕ ╨╛ ╨╖╨░╨▓╨╡╤Ç╤ê╨╡╨╜╨╕╨╕ ╨╡╨│╨╛ ╤ü╨╛╨╖╨┤╨░╨╜╨╕╤Å
  19.     '(╨╝╨╡╤é╨╛╨┤ EndShape ╨╛╨▒╤è╨╡╨║╤é╨░ Page). ╨í╤ü╤ï╨╗╨║╨░ ╨╜╨░ ╤ü╤é╤Ç╨╛╤Å╤ë╨╕╨╣╤ü╤Å ╤ê╤ì╨╣╨┐ ╨┐╤Ç╨╕╤ü╨▓╨░╨╕╨▓╨░╨╡╤é╤ü╤Å 
  20.     '╨┐╨╡╤Ç╨╡╨╝╨╡╨╜╨╜╨╛╨╣ new_Spline.    ╨¿╤ì╨╣╨┐ ╤ü╨╛╤ü╤é╨╛╨╕╤é ╨╕╨╖ ╨╜╨╡╤ü╨║╨╛╨╗╤î╨║╨╕╤à ╨│╨╡╨╛╨╝╨╡╤é╤Ç╨╕╨╣,
  21.     '╨║╨░╨╢╨┤╨░╤Å ╨╕╨╖ ╨║╨╛╤é╨╛╤Ç╤ï╤à ╤Å╨▓╨╗╤Å╨╡╤é╤ü╤Å ╤ü╨┐╨╗╨░╨╣╨╜╨╛╨╝. ╨Ü╨░╨╢╨┤╨░╤Å ╨│╨╡╨╛╨╝╨╡╤é╤Ç╨╕╤Å ╤ü╨╛╨╖╨┤╨░╨╡╤é╤ü╤Å ╨▓ ╨┐╤Ç╨╛╤å╨╡╨┤╤â╤Ç╨╡
  22.     'DrawWave ╨╕ ╨┤╨╛╨▒╨░╨▓╨╗╤Å╨╡╤é╤ü╤Å ╨▓ ╤ê╤ì╨╣╨┐ new_Spline.
  23.     '╨ƒ╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╨╡ ╨╛╨▒╤è╨╡╨║╤é╨░ ╨┐╤Ç╨╛╨╕╤ü╤à╨╛╨┤╨╕╤é ╨╜╨░ ╨░╨║╤é╨╕╨▓╨╜╨╛╨╣ ╤ü╤é╤Ç╨░╨╜╨╕╤å╨╡ ╨┤╨░╨╜╨╜╨╛╨│╨╛ ╨┤╨╛╨║╤â╨╝╨╡╨╜╤é╨░ thisDoc.ActivePage
  24.     Set new_Spline = active_page.BeginShape()    
  25.     '╨ú╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ ╤å╨▓╨╡╤é ╨╗╨╕╨╜╨╕╨╕ ╨╛╨▒╤è╨╡╨║╤é╨░, ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╤Å ╨╕╨╜╨┤╨╡╨║╤ü╨╜╨╛╨╡ ╨┐╤Ç╨╡╨┤╤ü╤é╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╤å╨▓╨╡╤é╨░.
  26.     'new_Spline.PenColor ╨▓╨╛╨╖╨▓╤Ç╨░╤ë╨░╨╡╤é ╤ü╤ü╤ï╨╗╨║╤â ╨╜╨░ ╨╛╨▒╤è╨╡╨║╤é ╤é╨╕╨┐╨░ Color. ╨¡╤é╨░ ╤ü╤ü╤ï╨╗╨║╨░ ╨╜╨╡ 
  27.     '╨┐╤Ç╨╕╤ü╨▓╨░╨╕╨▓╨░╨╡╤é╤ü╤Å ╨┐╤Ç╨╛╨╝╨╡╨╢╤â╤é╨╛╤ç╨╜╨╛╨╣ ╨┐╨╡╤Ç╨╡╨╝╨╡╨╜╨╜╨╛╨╣. ╨₧╨╜╨░ ╤ü╤Ç╨░╨╖╤â ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╨╡╤é╤ü╤Å ╨┤╨╗╤Å ╨╛╨▒╤Ç╨░╤ë╨╡╨╜╨╕╤Å 
  28.     '╨║ ╤ü╨▓╨╛╨╣╤ü╤é╨▓╤â Index ╨┐╨╛╨╗╤â╤ç╨╡╨╜╨╜╨╛╨│╨╛ ╨╛╨▒╤è╨╡╨║╤é╨░. 
  29.     new_Spline.PenColor.Index=13 
  30.     '╨ú╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ ╤é╨╛╨╗╤ë╨╕╨╜╤â ╨╗╨╕╨╜╨╕╨╕ ╨╛╨▒╤è╨╡╨║╤é╨░.
  31.     new_Spline.PenWeight=12 
  32.     '╨ú╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╨╝ Pattern ╨╗╨╕╨╜╨╕╨╕ ╨╛╨▒╤è╨╡╨║╤é╨░.
  33.     new_Spline.PenPattern=1 
  34.     '╨Æ╤ï╨╖╨╛╨▓ ╨┐╤Ç╨╛╤å╨╡╨┤╤â╤Ç╤ï DrawWave. ╨₧╨╜╨░ ╨┤╨╛╨▒╨░╨▓╨╗╤Å╨╡╤é ╨▓ ╤ê╤ì╨╣╨┐ ╨╡╤ë╨╡ ╨╛╨┤╨╕╨╜ ╤ü╨┐╨╗╨░╨╣╨╜.
  35.     DrawWave(200,1000)
  36.     DrawWave(350,1100)
  37.     DrawWave(200,1200)
  38.     DrawWave(350,1300)
  39.     DrawWave(200,1400)
  40.     active_page.EndShape()
  41.     
  42.     '╨ƒ╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╨╡ ╨╖╨░╨╝╨║╨╜╤â╤é╨╛╨│╨╛ ╤ü╨┐╨╗╨░╨╣╨╜╨░, ╨╕╨╖╨╛╨▒╤Ç╨░╨╢╨░╤Ä╤ë╨╡╨│╨╛ "╨í╨╛╨╗╨╜╤å╨╡".
  43.     '╨í╤ü╤ï╨╗╨║╨╕ ╨╜╨░ ╤ê╤ì╨╣╨┐, ╨║╨╛╤é╨╛╤Ç╤ï╨╡ ╨▓╨╛╨╖╨▓╤Ç╨░╤ë╨░╤Ä╤é╤ü╤Å ╨╝╨╡╤é╨╛╨┤╨░╨╝╨╕ SplineStart ╨╕ SplineTo
  44.     '╤ü╤Ç╨░╨╖╤â ╨╕╤ü╨┐╨╛╨╗╤î╨╖╤â╤Ä╤é╤ü╤Å ╨┤╨╗╤Å ╨╕╨╖╨╝╨╡╨╜╨╡╨╜╨╕╤Å ╤ü╨▓╨╛╨╣╤ü╤é╨▓ ╨╛╨▒╤è╨╡╨║╤é╨░.
  45.     '╨£╨╡╤é╨╛╨┤ SplineStart ╨╖╨░╨┤╨░╨╡╤é ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╨┐╨╡╤Ç╨▓╨╛╨╣ ╤é╨╛╤ç╨║╨╕ ╤ü╨┐╨╗╨░╨╣╨╜╨░ (╨┤╨▓╨░ ╨┐╨╡╤Ç╨▓╤ï╤à
  46.     '╨┐╨░╤Ç╨░╨╝╨╡╤é╤Ç╨░) ╨╕ ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╨┐╨╡╤Ç╨▓╨╛╨╣ ╨╜╨░╨┐╤Ç╨░╨▓╨╗╤Å╤Ä╤ë╨╡╨╣ (╤é╤Ç╨╡╤é╨╕╨╣ ╨╕ ╤ç╨╡╤é╨▓╨╡╤Ç╤é╤ï╨╣ ╨┐╨░╤Ç╨░╨╝╨╡╤é╤Ç╤ï).
  47.     active_page.BeginShape()
  48.     active_page.SplineStart(1000,850,1000,650).FillColor.Index = 1
  49.     '╨ƒ╨╛╤ü╤é╤Ç╨╛╨╡╨╜╨╕╨╡ ╨┐╨╡╤Ç╨▓╨╛╨│╨╛ ╤ü╨╡╨│╨╝╨╡╨╜╤é╨░ ╤ü╨┐╨╗╨░╨╣╨╜╨░. ╨£╨╡╤é╨╛╨┤ SplineTo ╨╖╨░╨┤╨░╨╡╤é ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï 
  50.     '╨║╨╛╨╜╤å╨░ ╤ü╨╡╨│╨╝╨╡╨╜╤é╨░ ╤ü╨┐╨╗╨░╨╣╨╜╨░ (╨┤╨▓╨░ ╨┐╨╡╤Ç╨▓╤ï╤à ╨┐╨░╤Ç╨░╨╝╨╡╤é╤Ç╨░) ╨╕ ╨║╨╛╨╛╤Ç╨┤╨╕╨╜╨░╤é╤ï ╨╜╨░╨┐╤Ç╨░╨▓╨╗╤Å╤Ä╤ë╨╡╨╣ 
  51.     '╨║╨╛╨╜╤å╨░ ╤ü╨╡╨│╨╝╨╡╨╜╤é╨░ (╤é╤Ç╨╡╤é╨╕╨╣ ╨╕ ╤ç╨╡╤é╨▓╨╡╤Ç╤é╤ï╨╣ ╨┐╨░╤Ç╨░╨╝╨╡╤é╤Ç╤ï). ╨¥╨░╤ç╨░╨╗╨╛╨╝ ╤ü╨╡╨│╨╝╨╡╨╜╤é╨░ ╤ü╨╗╤â╨╢╨╕╤é
  52.     '╤é╨╡╨║╤â╤ë╨░╤Å ╤é╨╛╤ç╨║╨░, ╨╖╨░╨┤╨░╨╜╨╜╨░╤Å ╨┐╤Ç╨╕ ╨┐╤Ç╨╡╨┤╤ï╨┤╤â╤ë╨╡╨╝ ╨▓╤ï╨╖╨╛╨▓╨╡ ╨╝╨╡╤é╨╛╨┤╨░ SplineTo ╨╕╨╗╨╕ SplineStart. 
  53.     '╨í╨▓╨╛╨╣╤ü╤é╨▓╨╛ PenPattern ╨╛╨▒╤è╨╡╨║╤é╨░ ╤â╤ü╤é╨░╨╜╨░╨▓╨╗╨╕╨▓╨░╨╡╤é╤ü╤Å ╤Ç╨░╨▓╨╜╤ï╨╝ 0. ╨¢╨╕╨╜╨╕╤Å ╤ü╨┐╨╗╨░╨╣╨╜╨░
  54.     '╨╜╨╡ ╨▒╤â╨┤╨╡╤é ╨╛╤é╨╛╨▒╤Ç╨░╨╢╨░╤é╤î╤ü╤Å.
  55.     active_page.SplineTo(1300,850,1300,650).PenPattern = 0   
  56.     active_page.SplineTo(1000,850,1000,1050)
  57.     active_page.EndShape()
  58.     
  59. End Sub
  60.  
  61. '╨ó╨╡╨╗╨╛ ╨┐╤Ç╨╛╤å╨╡╨┤╤â╤Ç╤ï DrawWave
  62. Sub DrawWave(x1 As Double, y1 As Double)
  63.     thisDoc.ActivePage.SplineStart(x1,y1,x1,y1+200)
  64.     thisDoc.ActivePage.SplineTo(x1+400,y1,x1+400,y1-200)
  65.     thisDoc.ActivePage.SplineTo(x1+800,y1,x1+800,y1-200)
  66.     thisDoc.ActivePage.SplineTo(x1+1200,y1,x1+1200,y1-200)
  67.     thisDoc.ActivePage.SplineTo(x1+1600,y1,x1+1600,y1-200)
  68. end Sub
  69.