动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.UNIX 萤幕导向程式的发展利器.
.Winsocket编程之套接字原理.
.C++ 中园形三角形按钮的实现.
.wk里有没有类似c语言里的break的.
.《c语言程序设计》第五章:函数.
.C++中建立对象间消息连接的系统方.
.ASP.NET创建Web服务之管理Web服务.
.C++程序设计从零开始之语句.
.在桌面上画图.
.链表的c语言实现(七).
.Visual C++设计UDP协议通讯示例.
.数据结构学习(C++)之双向链表.
.留言簿程序的编写.
.信号(signal)介绍.
.关于中缀表达转后缀表达一题我的.
.BCB中实现动态创建组件.
.C语言程序设计(第7章 结构体与共.
.C++中的虚函数(1).
.Another way to handle array in.
.用栈模拟商店进货系统.

理解TApplication、TScreen和TForm

文章类别:C/C++教程 | 发表日期:2008-3-8 |


第4章 开发应用程序用户界面
    使用C++Builder,可以通过将组件面板上的组件拖放到窗体中来建立用户界面(UI)。

4.1 理解TApplication、TScreen和TForm
    TApplication、TScreen和TForm这几个VCL类通过对工程的控制而成为所有C++Builder应用程序的主干。TApplication通过提供属性和方法来封装标准的Windows应用,并由此形成Windows应用程序的基础。
    TScreen通常用于在运行时记录已装入的窗体和数据模块,以及一些特定的系统信息。例如屏幕显示效果,可显示的字体等。TForm的实例用于创建应用程序的用户界面,此外,应用程序中的窗口对话框也基于TForm。

4.1.1 使用主窗体
    TForm是创建WindowsGUI应用程序的要害类。缺省时,在工程中创建并保存的第一个窗体会成为工程的主窗体,也即运行时第一个生成的窗体。当在工程中加入窗体后,可能会决定指定另外的窗体作为应用程序主窗体。指定一个窗体为主窗体可在运行时很轻易地测试出来,因为除非改变窗体的生成顺序,否则,主窗体总是运行程序时第一个显示的窗体。

若要改变工程的主窗体:
1) 选择Project│Options菜单项。然后选中Forms页。
2) 在MainForm组合框中选择欲作为工程主窗体的窗体名,并选择OK运行应用程序。假如此时运行程序,新选择的主窗体被首先显示。

4.1.2 加入其他窗体
    选择File│NewForm菜单项,可以在工程中加入新的窗体。选择View│ProjectManager菜单项。可在工程治理器中查工程中包含的所有窗体及其单元文件的列表。

    链接窗体
    在工程中加入窗体的同时会将窗体引用加入工程文件,但不会加入其他单元文件。在编写引用新窗体的代码之前,应在引用该窗体的单元文件中加入对该窗体的引用。这个过程称之为链接窗体。
    通常,链接窗体的原因通常是因为要提供访问该窗体中包含的组件。例如在一个包含数据访问组件的数据模块及一个包含数据感知组件的窗体之间,就经常要使用窗体链接。要将一个窗体链接到另一个窗体:

1) 选取需引用另一个窗体的窗体。
2) 选择File│IncludeUnitHdr菜单项。
3) 选择被引用窗体的单元文件名。
4) 选择OK。

    将一个窗体链接到另一个只不过是在一个窗体的单元文件中加入另一个窗体单元的头文件。这表示被链接的窗体及其组件当前包括在链接窗体的范围内。

4.1.3 隐藏主窗体
    在应用程序启动时可以不显示主窗体。为此,需用到全局变量Application(在下节介绍)要在启动时隐藏主窗体:

1) 选择Project│ViewSource菜单显示工程主文件
2) 在Application→CreateForm()调用之后及Application→Run()调用之前添加下列语句:

 Application→Showmainform = false;
 Form1→Visible = false; // the name of your main form differ

  注重 隐藏窗体更好的方式是在设计时使用对象观察器将窗体Visible的属性设为false,而不是用上述方法在运行时设置。

QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器 4.1.4 工作在应用程序层
    在所有基于VCL的Windows应用程序中都有TApplication类的全局变量Application。Application与应用程序封装在一起,并提供了许多工作于后台的功能函数。例如Application会处理如何利用菜单调用帮助文件。对于开发独立的应用程序与编写组件而言,理解TApplication如何工作对后者更加重要,不过,即使是开发独立的应用程序,在创建工程时,也应在Project│options菜单项的Application页面中设置Application处理的各个选项。
    另外,Application还会接收许多作用于整个应用程序的事件。例如OnActivate可使你在应用程序启动时完成一些操作。OnIdle事件在应用程序空闲时处理后台操作,OnMessage事件可接收Windows消息等等。尽管不能在IDE中直接检查全局变量Application的属性和事件,但可使用另一组件TApplicationEvents来接收事件,并用IDE来提供事件处理程序。

4.1.5 处理屏幕
    在创建工程时还会创建一个类型为TScrecn的全局变量Screen。Screen封装了应用程序运行时所在的屏幕的状态。Screen实现的常见任务包括确定光标外观。应用程序运行时的窗口大小。屏幕设备的可用字体列表以及多屏幕方式等。若应用程序运行于多个监视器上。Screen会维护一个监视器列表及它们的尺寸,以便有效的治理用户界面的布局。

4.1.6 治理布局
    简单地说,治理用户界面的布局就是控制将控件放入窗体的方式,所选择的放置方式会反映在控件的Top、Left、Width和Height等属性中,在运行时,也可以通过改变这些属性值来改变控件的大小及在窗体中的位置。
    控件还有很多其他的属性可用于根据其内容或容器进行自动的调整。这使得窗体的布局可被设置为各部分集成的一个整体。
有两个属性会影响控件相对于父代的大小及位置。
    Align属性强制控件沿着父代的某特定边缘放置,或是在其他控件放置结束后填满剩下的整个客户区。
    当父代改变大小时,控件也会自动地改变大小。同时保持沿着父代特定边缘或填满客户区的剩余部分。
    假如需要控件沿父代特定边缘放置,但不希望它随父代而改变大小或总是紧贴整个边缘。可使用Anchors属性。
    假如要确保控件不会变得太大或太小,可用Constraints属性。Constraints可确定控件高度最大值与最小值,宽度最大值与最小值,通过这些设置可以像素为单位限制控件的高度与宽度。例如,通过一容器控件的MinHeight及MinWidth。可以确保容器控件中的子控件始终可见。Constraints的值通过父代/子代的层次传递。因此,包含具有大小限制的子控件的对象可被限制大小。Constraints也可在控件的ChangeScale方法被调用时,防止它只在某一个方向上改变大小。
    TControl引入了一个类型如TConstrainedResizeEvent的保护事件OnConstrainedResize:

理解TApplication、TScreen和TForm
点击查看大图


    这个事件答应在改变控件大小时重载大小限制。大小限制被作为参数传入。并可在事件处理程序中改变。OnConstrainedResize发布于容器对象(TForm、TScrollBox、TControlBar和TPanel)。另外,编写组件时可在TControl类的派生类中使用或发布此事件。
    带有可变尺寸大小内容的控件有一个AutoSize属性,这使得控件可调整其字体或所包含对象的大小。


4.2 处理消息
    消息是由Windows发给应用程序的通告,用于告知某些事件的发生。消息本身是Windows发送给控件的记录。例如,当用户在一个对话框中点击鼠标时,Windows发送一个消息给当前活跃的控件。包含这个控件的应用程序会对消息做出反应。假如用户点击的是一个按钮,在收到消息时就会触发OnClick事件,假如点击在窗体中,应用程序就可能会忽略此消息。
    Windows发送给应用程序的记录类型为TMsg。Windows为每个消息预定义了一个常数,这些数值存放在TMsg的消息字段中,每个常数都以字母wm开头。
    除非你重载消息处理系统并生成自己的消息处理程序,否则VCL会自动处理消息。


上一篇:C++ Builder 控制窗体何时驻留内存 人气:214
下一篇:使用 C++ Builder 对象仓库 人气:94
点击此处浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号