(1)在考生文件夹下有工程文件sj3.vbp及窗体文件sj3.frm,根据下文的描述,编写相应的程序。存盘时不得改变文件名和文件夹。 本题描述如下: 在窗体上有一名为Textl的文本框,要求程序运行后,每用鼠标左键单击窗体一次,则文本框的宽增加15

admin2009-08-26  31

问题 (1)在考生文件夹下有工程文件sj3.vbp及窗体文件sj3.frm,根据下文的描述,编写相应的程序。存盘时不得改变文件名和文件夹。
  本题描述如下:
  在窗体上有一名为Textl的文本框,要求程序运行后,每用鼠标左键单击窗体一次,则文本框的宽增加150;每用鼠标右键单击窗体一次,文本框的宽减小150。窗体的宽为2 500,文本框最大宽度不允许超过窗体的宽度,最小宽度不小于900(高与宽的单位为twip)。
    程序运行时的窗口界面如图27—3所示。
注意:保存时必须存放到考生文件夹下,工程文件名为sj3.vbp,窗体文件名为sj3.frm。
    (2)在考生文件夹下有工程文件sj4.vbp及窗体文件sj4.frm,该程序是不完整的。在窗体中有一个名为Labell的标签和两个名称分别为Commandl与Command2、标题分别为“显示”、“关闭”的命令按钮。要求程序运行后,单击“显示”按钮,能打印出如图所示的B字三角形,执行完毕,“显示”按钮变成“完成”,且无效(变灰),如图27—4所示。

    注意:请在有“?”号的地方填放正确内容,然后删除“?”及所有注释符(即“’”号),但不能修改其他部分。存盘时不得改变文件名和文件夹。

选项

答案(1)鼠标事件分点击事件和状态事件。点击事件有单击(Click)和双击(DblClick),不区分左右键;状态事件有按下(Mousedown)、移动(Mousemove)和弹起(Mouseup),状态事件涉及Button、Shift两个参数,Button参数是一个整数,值可能为1(左键)、2(右键)或4(中间键),Shift参数也是一个整数,用来代表用户是否按下Shift、Ctrl或Alt键。根据题意,程序中可以使用Mousedown事件,也可使用Mouseup事件。 根据题意,在进行鼠标左键点击放大前需判断文本框加宽后的宽度是否超过窗体大小,若是,将文本框的大小设为与窗体一致,否则宽度加150;在进行鼠标右键点击缩小前需判断文本框缩小后的宽度是否小于900,若是,将文本框的宽度设为900,否则宽度减150。补充后的具体代码如下: Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) Select Case Button Case 1’当单击鼠标左键时 Textl.Width=Textl.Width+150’Textl的宽度加150 Case 2’当单击鼠标右键时 Textl.Width=Textl.Width-150’Textl的宽度减150 End Select If Textl.Width>Forml.Width Then Textl.Width=Forml.Width’当Textl的宽度大于Forml的宽度,则不再增加 Elself Textl.Width<900 Then Textl.Width=900’当Textl的宽度小于Forml的宽度,则不再减小 End If End Sub 单击[*]按钮运行程序,并按要求保存。 (2)本题主要考查For循环控制语句与字符串的操作。根据题意,将一个标签和两个命令按钮添加到窗体中,标签的名称为Labell,命令按钮的名称分别为Commandl和Command2,Caption属性分别为“显示”和“关闭”。双击Commandl进入代码窗口,补充后的代码如下: Private Sub Commandl_Click() Dim i As Integer Dim i AS Integer Dim str As String Dim tmp As String str="" For i=1 To 6 ’画三角形的上半部分 tmp="" For j=1 To i tmp=tmp+"B" Next j str=str+tmp+vbCrLf’将一行放入字符串中然后换行 Next i For i=5 To 1 Step-1 tmp="" For j=1 To i tmp=tmp+"B" Next j str=str+tmp+vbCrLf’将一行放人字符串中然后换行 Next i Labell.Caption=str’在Label中显示三角形 Commandl.Caption="完成" Commandl.Enabled=False End Sub Private Sub Command2_Click() Unload Me End Sub 单击[*]按钮运行程序,并按要求保存。

解析
转载请注明原文地址:https://kaotiyun.com/show/yc1p777K
0

最新回复(0)