123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- VERSION 5.00
- Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} Make_SIZE
- Caption = "Make Size Simple"
- ClientHeight = 1515
- ClientLeft = 45
- ClientTop = 390
- ClientWidth = 3690
- OleObjectBlob = "Make_SIZE.frx":0000
- StartUpPosition = 1 'CenterOwner
- End
- Attribute VB_Name = "Make_SIZE"
- Attribute VB_GlobalNameSpace = False
- Attribute VB_Creatable = False
- Attribute VB_PredeclaredId = True
- Attribute VB_Exposed = False
- Private Sub UserForm_Initialize()
- With Tis
- .BackColor = RGB(0, 150, 255)
- .BorderColor = RGB(30, 150, 255)
- .ForeColor = RGB(255, 255, 255)
- End With
-
- LNG_CODE = API.GetLngCode
- Me.Caption = i18n("Make Size Simple", LNG_CODE)
- Init_Translations Me, LNG_CODE
- End Sub
- Private Function button_move_in(t)
- With t
- .BackColor = RGB(0, 150, 255)
- .BorderColor = RGB(30, 150, 255)
- .ForeColor = RGB(255, 255, 255)
- End With
- End Function
- Private Function command_button(t As Label)
- With t
- .BackColor = RGB(240, 240, 240)
- .BorderColor = RGB(100, 100, 100)
- .ForeColor = RGB(0, 0, 0)
- End With
- End Function
- Private Sub CheckBox1_Click()
- If CheckBox1 Then CheckBox4 = False
- End Sub
- Private Sub CheckBox2_Click()
- If CheckBox2 Then CheckBox4 = False
- End Sub
- Private Sub CheckBox3_Click()
- If CheckBox3 Then CheckBox1 = False: CheckBox2 = False: CheckBox4 = False
- End Sub
- Private Sub CheckBox4_Click()
- If CheckBox4 Then CheckBox1 = False: CheckBox2 = False: CheckBox3 = False
- End Sub
- Private Sub Frame1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
- Call command_button(bt_MakeSize)
- Call command_button(bt_Del)
- End Sub
- Private Sub SpinButton1_SpinDown()
- Select_Font_Sub_Size
- End Sub
- Private Sub SpinButton1_SpinUp()
- Select_Font_Add_Size
- End Sub
- Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
- Select_Font_Size
- End Sub
- Private Sub bt_MakeSize_Click()
- If CheckBox1 Or CheckBox2 Then Call Dimension_width_and_height
- If CheckBox3 Then Call Mark_line_length
- If CheckBox4 Then Call Dimension_line_length
- End Sub
- Private Sub bt_MakeSize_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
- Call button_move_in(bt_MakeSize)
- End Sub
- Private Sub bt_Del_Click()
- Delete_callout
- End Sub
- Private Sub bt_Del_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
- Call button_move_in(bt_Del)
- End Sub
- Private Sub Dimension_width_and_height()
- ActiveDocument.Unit = cdrMillimeter
- Dim s As Shape, st1 As Shape, st2 As Shape
- Set s = ActiveShape
- If s Is Nothing Then Exit Sub
- Optimization = True '优化启动
- For Each s In ActiveSelection.Shapes
- If CheckBox1 Then
- Set st1 = ActiveLayer.CreateArtisticText(s.LeftX, s.TopY + 4, Round(s.SizeWidth, 0) & "mm", , , "微软雅黑", TextBox1.value, , , , cdrCenterAlignment)
- st1.text.Story.CharSpacing = 0 '字符间距
- st1.Fill.UniformColor.RGBAssign 40, 170, 20 ' 填充颜色
- st1.Move s.SizeWidth / 2, 0
- st1.name = "Text" ' 设置名
- Set sox = ActiveLayer.CreateLineSegment(s.LeftX, s.TopY + 3, s.RightX, s.TopY + 3)
- sox.Outline.Color.RGBAssign 40, 170, 20 ' 填充颜色
- sox.name = "line"
- Set sox1 = ActiveLayer.CreateLineSegment(s.LeftX, s.TopY + 1, s.LeftX, s.TopY + 3)
- sox1.Outline.Color.RGBAssign 40, 170, 20 ' 填充颜色
- sox1.name = "line"
- Set sox2 = ActiveLayer.CreateLineSegment(s.RightX, s.TopY + 1, s.RightX, s.TopY + 3)
- sox2.Outline.Color.RGBAssign 40, 170, 20 ' 填充颜色
- sox2.name = "line"
- s.CreateSelection
- End If
- If CheckBox2 Then
- Set st2 = ActiveLayer.CreateArtisticText(s.LeftX - 4, s.BottomY, Round(s.SizeHeight, 0) & "mm", , , "微软雅黑", TextBox1.value, , , , cdrCenterAlignment)
- st2.text.Story.CharSpacing = 0 '字符间距
- st2.Fill.UniformColor.RGBAssign 40, 170, 20 ' 填充颜色
- st2.Rotate 90
- st2.Move -st2.SizeWidth / 2, s.SizeHeight / 2
- st2.name = "Text" ' 设置名
- Set soy = ActiveLayer.CreateLineSegment(s.LeftX - 3, s.BottomY, s.LeftX - 3, s.TopY)
- soy.Outline.Color.RGBAssign 40, 170, 20 ' 填充颜色
- soy.name = "line"
- Set soy1 = ActiveLayer.CreateLineSegment(s.LeftX - 1, s.BottomY, s.LeftX - 3, s.BottomY)
- soy1.Outline.Color.RGBAssign 40, 170, 20 ' 填充颜色
- soy1.name = "line"
- Set soy2 = ActiveLayer.CreateLineSegment(s.LeftX - 1, s.TopY, s.LeftX - 3, s.TopY)
- soy2.Outline.Color.RGBAssign 40, 170, 20 ' 填充颜色
- soy2.name = "line"
- s.CreateSelection
- End If
- Next
- Optimization = False '优化关闭
- ActiveWindow.Refresh '刷新文档窗口
- End Sub
- Private Sub Dimension_line_length()
- ActiveDocument.Unit = cdrMillimeter
- Dim s As Shape, s1 As Shape, s2 As Shape, sc As Shape, st1 As Shape, st2 As Shape
- Set s = ActiveShape
- If s Is Nothing Then Exit Sub
- Optimization = True '优化启动
- For Each s In ActiveSelection.Shapes
- If s.Type <> cdrTextShape Then
- s.Copy
- Set sc = ActiveLayer.Paste
- sc.ConvertToCurves
- sc.Curve.Nodes.all.BreakApart
- sc.BreakApart
- For Each s1 In ActiveSelection.Shapes
- Set st1 = ActiveLayer.CreateArtisticText(0, 0, Round(s1.Curve.Length, 0), , , , TextBox1.value)
- st1.text.Story.CharSpacing = 0 '字符间距
- st1.Fill.UniformColor.RGBAssign 40, 170, 20 ' 填充颜色
- st1.text.FitToPath s1
- ' 获取或设置文本与路径的偏移量
- st1.Effects(1).TextOnPath.Offset = s1.Curve.Length * 0.5 - st1.SizeWidth * 0.55
- ' 获取或设置文本与路径的距离
- st1.Effects(1).TextOnPath.DistanceFromPath = 1
- st1.name = "Text" ' 设置名
- s1.Outline.SetNoOutline
- s1.OrderToBack
- s1.name = "line"
- Next
- Set st2 = ActiveLayer.CreateArtisticText(s.RightX + 3, s.BottomY, "单位:mm", , , "微软雅黑", TextBox1.value)
- st2.text.Story.CharSpacing = 0 '字符间距
- st2.Fill.UniformColor.RGBAssign 40, 170, 20 ' 填充颜色
- st2.name = "Text" ' 设置名
- End If
- Next
- Optimization = False '优化关闭
- ActiveWindow.Refresh '刷新文档窗口
- End Sub
- Private Sub Mark_line_length()
- ActiveDocument.Unit = cdrMillimeter
- Dim s As Shape, st1 As Shape
- Set s = ActiveShape
- If s Is Nothing Then Exit Sub
- Optimization = True '优化启动
- For Each s In ActiveSelection.Shapes
- If s.Type <> cdrTextShape Then
- X = s.LeftX
- Y = s.BottomY
- Set st1 = ActiveLayer.CreateArtisticText(X, Y, "线条长:" & Round(s.DisplayCurve.Length, 0) & "mm", , , "微软雅黑", TextBox1.value, , , , cdrLeftAlignment)
- st1.text.Story.CharSpacing = 0 '字符间距
- st1.Fill.UniformColor.RGBAssign 40, 170, 20 ' 填充颜色
- st1.Move 0, -st1.SizeHeight * 2
- st1.name = "Text" ' 设置名
- s.CreateSelection
- End If
- Next
- Optimization = False '优化关闭
- ActiveWindow.Refresh '刷新文档窗口
- End Sub
- Private Sub Select_Font_Add_Size()
- Dim s As Shape
- Optimization = True '优化启动
- If TextBox1.value > 0 Then
- TextBox1.value = TextBox1.value + 1
- For Each s In ActiveSelection.Shapes.FindShapes(Query:="@type ='text:artistic' and @Name='Text' ")
- s.text.Story.size = s.text.Story.size + 1
- Next
- End If
- Optimization = False '优化关闭
- ActiveWindow.Refresh '刷新文档窗口
- End Sub
- Private Sub Select_Font_Sub_Size()
- Dim s As Shape
- Optimization = True '优化启动
- If TextBox1.value > 0 Then
- TextBox1.value = TextBox1.value - 1
- For Each s In ActiveSelection.Shapes.FindShapes(Query:="@type ='text:artistic' and @Name='Text' ")
- s.text.Story.size = s.text.Story.size - 1
- Next
- End If
- Optimization = False '优化关闭
- ActiveWindow.Refresh '刷新文档窗口
- End Sub
- Private Sub Select_Font_Size()
- Dim s As Shape
- Optimization = True '优化启动
- If TextBox1.value > 0 Then
- For Each s In ActiveSelection.Shapes.FindShapes(Query:="@type ='text:artistic' and @Name='Text' ")
- s.text.Story.size = TextBox1.value
- Next
- End If
- Optimization = False '优化关闭
- ActiveWindow.Refresh '刷新文档窗口
- End Sub
- Private Sub Delete_callout()
- If ActiveSelection.Shapes.Count > 0 Then
- ActiveSelection.Shapes.FindShapes(Query:="@type ='text:artistic' and @Name='Text' ").Delete
- ActiveSelection.Shapes.FindShapes(Query:="@Name='line' ").Delete
- Else
- ActivePage.Shapes.FindShapes(Query:="@type ='text:artistic' and @Name='Text' ").Delete
- ActivePage.Shapes.FindShapes(Query:="@Name='line' ").Delete
- End If
- End Sub
|