CAI教学软件中数据的分割
picBottom = picBottom + .picFigure(JJ).Top + .picFigure(JJ).Height
Else
.picFigure(JJ).Top = .picFigure(JJ - 1).Top + .picFigure(JJ - 1).Height
picBottom = picBottom + .picFigure(JJ).Height
End If
End With
End If
picLeftside = frmMainForm.picFigure(0).Left
Next JJ
以上程序段用于计算图片框组的左边和累加起来的底边,分存储于变量picLeftSide和pciBottom中。用这两个变量在右上角上划出了一个区域,以保证文本不会显示在图形后面。
For JJ = 0 To 9
frmMainForm.lblDisplayContent(JJ).Left = 1
Next
frmMainForm.txtContent.Visible = False
frmMainForm.cmdPreview.Visible = False
frmMainForm.cmdPreviewClose.Visible = True
上面的语句用于切换到预览状态或是关闭编辑状态。
Dim LL As String
Dim start As Integer
start = 1
4 实例运行
frmMainForm.txtContent = "/titl^ 第一章 简谐振动^/text^ 物体运动时,如果离开平衡位置的位移(或角位移)按余弦函数(或正弦函数)的规律随时间变化,则这种运动称为简谐振动,简称谐振动。简谐振动是一种最简单和最基本的振动,一切复杂的振动都可以看作是由若干个简谐振动合成的结果。^/text^ 如图所示的弹簧振子,当水平放置时,弹簧为原长,物体所受的合力为零,处于平衡状态,此时物体所在的位置就是平衡位置,如果把物体略加位移后释放,这时由于弹簧被拉长或压缩,便有指向平衡位置的弹性力作用在物体上,迫使物体返回平衡位置。这样,在弹性力的作用下,物体就在其平衡位置附近作往复运动。^/text^ 据胡克定律,物体所受的弹性力与弹簧的伸长即物体相对平衡位置的位移成正比,由此可推出弹簧振子的运动是简谐振动。”
1、把文件分割成段落,并显示文本
4
LL = frmMainForm.txtContent.Text
Do While (Len(frmMainForm.txtContent.Text) > start)
Call FunDivide(LL, dspContent(1, Counter), start, dspContent(0, Counter))
Counter = Counter + 1
Loop
2、把段落分割成行
For JJ = 0 To Counter
With frmMainForm
.lblDisplayContent(JJ).Left = 1
3、计算行宽和判断字号
If dspContent(0, JJ) = "titl" Then
.lblDisplayContent(JJ).FontSize = 15
chrNum = (picLeftside - 2 * Margin - 100) / ZLT
ElseIf dspContent(0, JJ) = "text" Then
.lblDisplayContent(JJ).FontSize = 10.5
chrNum = (picLeftside - 2 * Margin - 100) / ZF
Else
End If
LsStr = ""
Call LineDivide(LsStr, dspContent(1, JJ), chrNum) ’分割成行
.lblDisplayContent(JJ).Caption = LsStr ’装载数据
If JJ > 0 Then
.lblDisplayContent(JJ).Top = .lblDisplayContent(JJ - 1).Top
+ .lblDisplayContent(JJ - 1).Height
End If
4、显示数据
.lblDisplayContent(JJ).Visible = True
End With
Next JJ
End Sub
所有的数据以页为单位存储于数据中,编辑时,通过“上一页”和“下一页”来刷新数据;同理,在播放时也通过这两种指令来刷新窗体。所不同的是编辑时可以修改数据库,而在演示时不能修改数据库。
本软件很好地解决了在VB文本框中输入文字不能设置字体,不能回车换行
的问题,并且在编辑文本和图象时能够通过程序控制,动态调整界面控件位置,实现图文混排,在实际运行中取得了较好的效果。
5
参考文献
[1] Wang Dong. Program Design With Visual Basic 6.0. Tsinghua University Press.2000
[2] Jarol S. Guide to Develop Multimedia Program With Visual Basic. Science Press