问题:在VB中,如何将数据库中的试题和图形存放在同一控件中,且能够通过滚动条阅读。
回答:在VB中,RichTextBox控件可以在一个控件中显示图形和文字,而且支持滚动条,所以这个问题可以借助RichTextBox控件得以解决。在下面的介绍中,我们假定数据库为test.mdb,它有一个表“试题”,在这个表中有一个字段“题目”,用来保存试题的文字和图形,这个字段是Memo型的。
首先将试题的文字和图形编辑后保存为RTF格式。使用Windows 9x/NT的写字板(WordPad)或其他字处理软件Word、WPS 2000都可以生成RTF格式文件。RichTextBox控件对RTF格式的支持与写字板完全相同,但会忽略Word、WPS 2000中的一些高级设置,如行间距等。图形最好采用黑白或16色的,这样一般一个RTF文件大小只有几十K字节。如果采用24位真彩色,RTF文件可能有数兆字节,会影响VB的运行效果。
然后将保存的RTF文件加入到数据库中。你可以建立一个窗体,在其中加上一个按钮和一个RichTextBox控件,然后输入下面的代码。点击按钮,我们就可以将test.rtf文件加入到数据库中。这里的核心语句是AppendChunk,它是用来向Memo型字段加入数据的。
Private Sub Command1_Click()
准备好了试题库,我们就可以利用VB的数据绑定显示试题了。首先建立图1所示的窗体,并在其上放置一个RichTexBox控件、一个Data控件和其他相关控件。然后设置如下属性:
控件 |
属性 |
值 |
Data1 |
Database |
Test.mdb |
Recordsource |
试题 |
|
RichTextBox1 |
DataSource |
Data1 |
DataField |
题目 |
|
Locked |
True |
|
ScrollBars |
2 |
在学生回答问题时,一般不能允许学生随意修改试题,所以我们把RichTextBox1的Locked属性设置为True。
图1
利用RichTextBox控件显示试题
如果您有任何建议,请给我发电子邮件:
。
版权所有 李海,热情软件屋 1997-2006