📄 010202.htm
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>vb study</title>
<style>
<!--
td {font-size: 9pt}
A:link {text-decoration: none; color: #0033cc;font-size: 9pt}
A:visited {text-decoration: none; color: #0066CC;font-size: 9pt}
A:active {text-decoration: none; color: #ff0000; font-size: 9pt}
A:hover {text-decoration: underline; color: #000000;font-size: 9pt}
-->
</style>
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
<td width="100%"><a href="#">你的位置</a>:<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="#">VB学习</a>--<a href="#">基本控件</a></td>
</tr>
<tr>
<td width="100%">
<p align="center">窗体Form对象</td>
</tr>
<tr>
<td width="100%"><br>
★ 窗体对象的scalemode属性:选择窗体内部坐标系统的度量单位,有7种选项:1为twip:缇;1英寸=1440缇。2为point:点;1英寸=72点;3为pixel:象素;4为字符(1字符等于1/6英寸高,1/12英寸宽);5为英寸;6为mm;毫米,1英寸=25毫米;7为cm厘米,1英寸=2.5厘米。另外,还有0用户自定义单位。<br>
还可以在代码中自定义度量单位的大小(自定义坐标系统),用scale方法:<br>
容器对象名.scale(自定左上角x1,y1)-(自定右下角x2,y2)<br>
picture1.scale(50,50)-(150,150)<br>
说明:用了这一句后,在该容器对象内部,度量坐标发生改变:横轴范围从x1到x2,<br>
纵轴范围从y1到y2.也就是将现有容器宽分成(x2-x1)份,其值作为容器scalewidth属性值,每1份作为横向度量单位;将现有容器高分成(y2-y1)份,值为其scaleheight属性值,每1份作为纵向度量单位。注:1,如果容器的大小以后被调整,这些单位大小不变。2,容器左上角坐标(内部"原点"坐标)是(x1,y1),如上例为(50,50),而不是(0,0)。它标明在容器的scaleleft和scaletop属性中。3,容器中每点的坐标总在(x1,y1)到(x2,y2)之间. <br>
★ Form窗体的ShowInTaskbar属性:程序运行时是否在任务栏上显示。<br>
★ Form窗体的borderstyle属性设置为1,3或4时其大小运行时不可变。<br>
★ moveable属性:设置运行时窗体是否可移动。<br>
★ VB程序的界面样式除MDI多文档和SDI单文档样式,还有一种叫"资源管理器"样式的界面。<br>
★ 在一个窗体卸载关闭时,我们知道会发生Unload事件,事实上,在Unload事件发生前,另一个重要事件会发生,即Form_QueryUnload事件,在此事件中,为用户提供停止卸载继续工作的机会,如下:<br>
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)<br>
<br>
End Sub<br>
其中有两个参数:cancel:若设此参数为True,可阻止unload事件发生。<br>
unloadmode:返回引起窗体卸载关闭的原因:0为使用标题栏"关闭"("关闭"纽或标题栏的系统菜单栏),1为代码中用unload me语句,2为Windows环境会话结束;3为Windows任务管理器关闭程序;4为MDI子窗体关闭。<br>
在窗体的存在周期中,发生的窗体事件依次为:<br>
Form_initialize->Form_Load->form_Resize->form_Activate->Form_GotFocus<br>
->Form_Paint->Form_QueryUnload->Form_Unload->Form_Terminate.<br>
★ 我们经常用unload me来关闭一个窗体,但此命令并不能将一个窗体从内存中完全清除,要想完全移走窗体,应将窗体设置为nothing,即在form_unload事件中写:<br>
set form1=nothing<br>
★ Form窗体或picture对象的paint事件:对象因移动或放大,或被覆盖重新显示而需要重画的时候,就会引发paint事件,在各种图形方法的输出过程中,paint事件很有用。<br>
一个"水平平铺"画面的例子:<br>
Private Sub Form_Load()<br>
Image1.Picture = LoadPicture("c:\我的文档\my webs\红楼梦1.bmp")<br>
End Sub<br>
Private Sub Form_Paint()<br>
For x = 0 To Form1.Width Step Image1.Width<br>
For y = 0 To Form1.Height Step Image1.Height<br>
PaintPicture Image1, x, y 在Form窗体内画多个(平铺)image1的图象<br>
Next y<br>
Next x<br>
End Sub<br>
上面paintpicture方法是画图,以前讲的时候好多参数,此例是最简化的情况了。都用缺省值,写出来是:form1.paintpicture image1.picture,x,y,image1.width,image1.height,0,0,image1.width,image1.height,<br>
vbSrcCopy<br>
添加窗体:"工程"菜单"添加窗体"菜单项。<br>
窗体间能自由切换的是"非模态窗体",一个窗体在屏幕上显示后,用户必须做出响应的是"模态窗体",否则它就一直得到输入焦点。<br>
在代码中将新窗体装入内存的格式: LOAD 窗体名称<br>
从内存中卸载窗体的格式: UNLOAD 窗体名称 <br>
显示已装入的窗体的格式: 窗体名称. SHOW 0或1(0为非模态形式,1为模态形式)<br>
隐藏已装入的窗体的格式: 窗体名称. Hide<br>
窗体FORM对象的windowstate属性:选定窗体启动时的大小(0为正常,1为最小化,2为最大化<br>
几行简例: Load Form2<br>
Form2.Label1.Caption = "abcde"<br>
Form2.Show <br>
★ 在MDI窗体中只能包含菜单和pictrue控件,如果要放置其他控件,就将它们放在picture里面好了。<br>
★ MDI窗体的属性方法和事件:ActiveControl属性:返回当前拥有焦点的控件。ActiveForm属性:返回当前活动子窗体。因此可用ActiveForm.ActiveControl来引用当前活动子窗体上的具有焦点的控件,比如在MDI窗体的菜单"复制"命令中,复制正在使用的某个子窗体上文本框中的文本:<br>
clipboard.settext activeform.activecontrol.seltext
<p align="center">
<br>
< <a href="010201.htm">上一页</a>--<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="010301.htm">下一页</a>
><br>
</p>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -