📄 main.frm
字号:
CallBox DrawFromFile(hBox, 100, 450, App.Path + "\sitelogo.bmp")
' StretchDraw product logo
SetNum hBox, Box_FontItalic, True
CallBox TextOut(hBox, 100, 1900, "(继续下一页)")
CallBox NewPage(hBox)
SetNum hBox, Box_FontItalic, False
SetNum hBox, Box_FontBold, True
CallBox TextOut(hBox, 100, 100, " 'StretchDraw' 方法是拉伸图片以适合矩形方框内容")
SetNum hBox, Box_FontBold, False
SetNum hBox, Box_BrushStyle, bsClear
SetNum hBox, Box_SmartStretchDraw, False
CallBox StretchDrawFromFile(hBox, 100, 200, 500, 700, App.Path + "\sitelogo.bmp")
CallBox Rectangle(hBox, 100, 200, 500, 700)
CallBox TextOut(hBox, 100, 750, "标准拉伸")
SetNum hBox, Box_SmartStretchDraw, True
SetNum hBox, Box_SmartHorzAlignment, taLeftJustify
SetNum hBox, Box_SmartVertAlignment, vaTop
CallBox StretchDrawFromFile(hBox, 600, 200, 1000, 700, App.Path + "\sitelogo.bmp")
CallBox Rectangle(hBox, 600, 200, 1000, 700)
CallBox TextOut(hBox, 600, 750, "智能拉伸")
CallBox TextOut(hBox, 600, 800, "居左顶部对齐")
SetNum hBox, Box_SmartStretchDraw, True
SetNum hBox, Box_SmartHorzAlignment, taCenter
SetNum hBox, Box_SmartVertAlignment, vaCenter
CallBox StretchDrawFromFile(hBox, 1100, 200, 1500, 700, App.Path + "\sitelogo.bmp")
CallBox Rectangle(hBox, 1100, 200, 1500, 700)
CallBox TextOut(hBox, 1100, 750, "智能拉伸")
CallBox TextOut(hBox, 1100, 800, "居中对齐")
SetNum hBox, Box_SmartStretchDraw, True
SetNum hBox, Box_SmartHorzAlignment, taRightJustify
SetNum hBox, Box_SmartVertAlignment, vaBottom
CallBox StretchDrawFromFile(hBox, 1600, 200, 2000, 700, App.Path + "\sitelogo.bmp")
CallBox Rectangle(hBox, 1600, 200, 2000, 700)
CallBox TextOut(hBox, 1600, 750, "智能拉伸")
CallBox TextOut(hBox, 1600, 800, "具有底部对齐")
SetNum hBox, Box_FontBold, True
CallBox TextOut(hBox, 100, 1000, "智能拉伸维持图片缩放比例 (宽度:高度)")
CallBox EndDoc(hBox)
End Sub
'4: 自定义图形
Private Sub btExample4_Click()
Dim i, X0, Y0, R, R1 As Long
Dim Angle, PI As Double
Dim Hrs, Min As Integer
PI = 3.14159
Min = Minute(Now)
Hrs = Hour(Now) Mod 12
SetStr hBox, Box_Title, "自定义图形示例"
CallBox BeginDoc(hBox)
X0 = CInt(GetNum(hBox, Box_PageWidth) / 2)
R = CInt(X0 / 4)
Y0 = R + 200
SetStr hBox, Box_FontName, "宋体"
CallBox DrawText(hBox, 0, 0, GetNum(hBox, Box_PageWidth), 200, taCenter, vaCenter, "该文档创建在这个时间:")
' Clock body
SetNum hBox, Box_PenColor, vbBlue
SetNum hBox, Box_PenWidth, 2
SetNum hBox, Box_BrushStyle, bsClear
CallBox Ellipse(hBox, X0 - R - 10, Y0 - R - 10, X0 + R + 10, Y0 + R + 10)
SetNum hBox, Box_BrushColor, RGB(255, 255, 128)
CallBox Ellipse(hBox, X0 - R, Y0 - R, X0 + R, Y0 + R)
' Graduation
R1 = CInt(0.92 * R)
SetNum hBox, Box_PenColor, vbBlack
SetNum hBox, Box_PenWidth, 10
For i = 0 To 11
Angle = i * PI / 6
CallBox MoveTo(hBox, CInt(X0 + R1 * Cos(Angle)), CInt(Y0 - R1 * Sin(Angle)))
CallBox LineTo(hBox, CInt(X0 + R * Cos(Angle)), CInt(Y0 - R * Sin(Angle)))
Next i
' Digital display
SetNum hBox, Box_PenWidth, 2
SetNum hBox, Box_PenColor, vbBlack
SetNum hBox, Box_BrushColor, RGB(192, 192, 192)
CallBox Rectangle(hBox, X0 - 100, Y0 + 100, X0 + 100, Y0 + 150)
SetNum hBox, Box_FontSize, 12
SetNum hBox, Box_FontBold, 1
CallBox DrawText(hBox, X0 - 100, Y0 + 100, X0 + 100, Y0 + 150, taCenter, vaCenter, Format(Now, "hh:mm:ss"))
SetNum hBox, Box_FontBold, 0
' Long hand
Angle = PI / 2 - Min * PI / 30
SetNum hBox, Box_PenWidth, 8
SetNum hBox, Box_PenColor, vbRed
R1 = CInt(0.12 * R)
CallBox MoveTo(hBox, CInt(X0 - R1 * Cos(Angle)), CInt(Y0 + R1 * Sin(Angle)))
R1 = CInt(0.85 * R)
CallBox LineTo(hBox, CInt(X0 + R1 * Cos(Angle)), CInt(Y0 - R1 * Sin(Angle)))
' Short hand
Angle = PI / 2 - (Hrs * PI / 6) - (Min * PI / (30 * 12))
SetNum hBox, Box_PenWidth, 15
SetNum hBox, Box_PenColor, vbRed
R1 = CInt(0.08 * R)
CallBox MoveTo(hBox, CInt(X0 - R1 * Cos(Angle)), CInt(Y0 + R1 * Sin(Angle)))
R1 = CInt(0.5 * R)
CallBox LineTo(hBox, CInt(X0 + R1 * Cos(Angle)), CInt(Y0 - R1 * Sin(Angle)))
' Nave
R1 = CInt(0.02 * R)
SetNum hBox, Box_BrushColor, vbBlack
CallBox Ellipse(hBox, X0 - R1, Y0 - R1, X0 + R1, Y0 + R1)
CallBox EndDoc(hBox)
End Sub
'5: 绘制表格
Private Sub btExample5_Click()
Dim i As Long, n As Long, h As Long
Dim Comment As String
SetStr hBox, Box_Title, "绘制表格示例"
CallBox BeginDoc(hBox)
SetNum hBox, Box_FontBold, 1
SetStr hBox, Box_FontName, "宋体"
CallBox TextOut(hBox, 100, 100, "表格示例")
SetNum hBox, Box_FontBold, 0
CallBox TextOut(hBox, 100, 200, "该示例演示一个可变行高的表格.")
' Grid header
SetNum hBox, Box_BrushStyle, bsSolid
SetNum hBox, Box_BrushColor, RGB(192, 192, 192)
CallBox DefineGrid(hBox, "GridHeader", taCenter, 10)
For i = 0 To 3
CallBox DefineCol(hBox, "GridHeader", 220, taCenter, vaTop, 0)
Next i
CallBox DefineCol(hBox, "GridHeader", 400, taLeftJustify, vaTop, 0)
CallBox DefineCol(hBox, "GridHeader", 0, taLeftJustify, vaTop, 1)
CallBox DrawGrid(hBox, "GridHeader", CInt(GetNum(hBox, Box_PageWidth) / 2), 300)
CallBox DrawRow(hBox, "GridHeader", 50)
CallBox TextToCell(hBox, "GridHeader", 0, 0, "序号")
CallBox TextToCell(hBox, "GridHeader", 1, 0, "平方根")
CallBox TextToCell(hBox, "GridHeader", 2, 0, "平方")
CallBox TextToCell(hBox, "GridHeader", 3, 0, "立方")
CallBox TextToCell(hBox, "GridHeader", 4, 0, "备注")
' Grid body
CallBox DefineGrid(hBox, "GridBody", taCenter, 10)
SetNum hBox, Box_BrushStyle, bsSolid
SetNum hBox, Box_BrushColor, vbCyan
CallBox DefineCol(hBox, "GridBody", 220, taCenter, vaTop, 0)
SetNum hBox, Box_BrushStyle, bsClear
For i = 1 To 3
CallBox DefineCol(hBox, "GridBody", 220, taRightJustify, vaTop, 0)
Next i
CallBox DefineCol(hBox, "GridBody", 400, taLeftJustify, vaTop, 1)
CallBox DefineCol(hBox, "GridBody", 0, taLeftJustify, vaTop, 0)
CallBox DrawGrid(hBox, "GridBody", CInt(GetNum(hBox, Box_PageWidth) / 2), 350)
For n = 0 To 10
Select Case n
Case 0
Comment = "归零, 计算方便!"
Case 1
Comment = "也很方便."
Case 4, 9
Comment = "http://mndsoft.com."
Case 10
Comment = "加入枕善居VIP会员,即可免费下载后续破解更新." + Chr(13) + chr10 + "http://mndsoft.com."
Case Else
Comment = ""
End Select
h = CellTextHeight(hBox, "GridBody", 4, Comment)
If h < 50 Then h = 50
CallBox DrawRow(hBox, "GridBody", h)
SetNum hBox, Box_FontColor, vbBlue
SetNum hBox, Box_FontBold, 1
CallBox TextToCell(hBox, "GridBody", 0, n, Str(n))
SetNum hBox, Box_FontColor, vbBlack
SetNum hBox, Box_FontBold, 0
CallBox TextToCell(hBox, "GridBody", 1, n, Format(Sqr(n), "0.000000"))
CallBox TextToCell(hBox, "GridBody", 2, n, Str(n * n))
CallBox TextToCell(hBox, "GridBody", 3, n, Str(n * n * n))
CallBox TextToCell(hBox, "GridBody", 4, n, Comment)
Next n
CallBox DrawRow(hBox, "GridBody", 0) ' to display bottom border
CallBox EndDoc(hBox)
End Sub
'6: 完整演示
Private Sub btExample6_Click()
SetStr hBox, Box_Title, "完整功能示例"
CallBox BeginDoc(hBox)
' Links
SetStr hBox, Box_FontName, "宋体"
SetNum hBox, Box_FontSize, 14
SetNum hBox, Box_FontColor, vbBlack
SetNum hBox, Box_FontBold, 1
SetStr hBox, Box_FontName, "宋体"
CallBox WriteBookmark(hBox, 100, 100, "Html Link", 1, 1)
SetNum hBox, Box_FontSize, 12
CallBox WriteBookmark(hBox, 100, 200, "Text Link", 2, 1)
SetNum hBox, Box_FontSize, 10
SetNum hBox, Box_FontColor, vbBlue
SetNum hBox, Box_FontBold, 0
SetNum hBox, Box_FontUnderline, 1
CallBox WriteLink(hBox, 100, 300, "Internal link (to 'Annotations' topic)", "Annotations")
CallBox WriteLink(hBox, 100, 400, "External link (to a file)", App.Path + "\PDF In-The-Box.bmp")
CallBox WriteLink(hBox, 100, 500, "Internet Link", "http://www.synactis.com")
CallBox WriteLink(hBox, 100, 600, "Navigation Link: go to next page", "NextPage")
SetNum hBox, Box_FontColor, vbBlack
SetNum hBox, Box_FontBold, 1
SetNum hBox, Box_FontUnderline, 0
SetNum hBox, Box_FontSize, 12
CallBox WriteBookmark(hBox, 100, 800, "演示图片链接", 2, 1)
SetNum hBox, Box_FontSize, 10
SetNum hBox, Box_FontBold, 0
CallBox TextOut(hBox, 100, 900, "单击缩略图显示完整大图:")
CallBox StretchDrawFromFile(hBox, 800, 800, 1000, 1000, App.Path + "\PDF In-The-Box.bmp")
CallBox SetLink(hBox, 800, 800, 1000, 1000, App.Path + "\PDF In-The-Box.bmp")
' 书签
CallBox NewPage(hBox)
SetNum hBox, Box_FontSize, 14
SetNum hBox, Box_FontColor, vbBlack
SetNum hBox, Box_FontBold, 1
SetStr hBox, Box_FontName, "宋体"
CallBox WriteBookmark(hBox, 100, 100, "Bookmarks", 1, 1)
SetNum hBox, Box_FontSize, 10
SetNum hBox, Box_FontBold, 0
CallBox TextOut(hBox, 100, 200, "Bookmarks allow to create a tree-structured table of contents (click on 'Bookmarks' tab if not visible)")
CallBox TextOut(hBox, 100, 250, "You can bookmark a title or even a specific location without text.")
' Annotations
CallBox NewPage(hBox)
SetNum hBox, Box_FontSize, 14
SetNum hBox, Box_FontColor, vbBlack
SetNum hBox, Box_FontBold, 1
CallBox WriteBookmark(hBox, 100, 100, "Annotations", 1, 1)
CallBox DefineName(hBox, 100, 100, "Annotations") ' this is a link destination
SetNum hBox, Box_FontSize, 10
SetNum hBox, Box_FontBold, 0
CallBox TextOut(hBox, 100, 250, "这里是两个说明:")
CallBox Annotation(hBox, 550, 230, "Annotations may be useful to give detailed informations." _
+ Chr(13) + Chr(10) + "As they are displayed in pop-up windows, they don't interfere with main text.", _
anNote)
CallBox Annotation(hBox, 750, 230, "Annotations are supported by Adobe Reader
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -