C++Builder6控件 - 图文(5)

2019-04-15 16:36

那么就会另起一行。把Woi?dWrap属性设置为false,限制标签仅显示为一行。 ·Hide方法:用来设置标签的Visible属性为False,使标签成为不可视。 · Show方法:用来设置标签的Visible属性为true,使标签成为可视。 图形按钮的主要属性

图形按钮,位于【Additional】组件页的页面上,它继承了一般按钮,所以它具有一般按钮所具有的所有属性、方法和事件,此外,图形按钮还具有指定位图图像、按钮的位置、外观等属性。

图形按钮的主要属性:

·Glyph属性:用来指定在选定位图上按钮出现的位图。在单个位图中提供四个图像: 第一个位置的图像为指定按钮在弹起状态(未被选择)时所出现的图像。 第二个位置的图像为指定不能被选定时出现的图像,一般为变灰。 第三个位置的图像为指定当用户单击按钮时所出现的图像。 第四个位置的图像为指定当按钮保持按下状态时出现的图像。

·Kind属性:用来指定图形按钮的类型。

注意:以上设置了Kind之后虽然有默认的标题,但是程序员依然可以在Caption里更改标题,而不会影响到小位图。

·Layout属性:用来确定出现在图像按钮上的位图的位置,它的取值以及含义。

·Margin属性:用来确定图像边缘与按钮边缘之间的像素数量,如果Margin属性值为一1(默认值),则图像和文本居中。

· Style属性:确定一个图像按钮的外观,它的取值以及含义。 图形按钮的方法和事件基本与一般按钮相同,这里不再赘述了。 一般按钮(Button)的主要属性、方法和事件 一般按钮的主要属性、方法和事件:

·Caption属性:用来设置按钮的标题文字。可以通过在Caption属性中添加&,字符来定义按钮的快捷键。

·Cursor属性:用来设置当鼠标停在按钮时的光标类型。

·Default属性:用来设置按钮是否为默认按钮,当Default属性为true,当用户按了[Enterl键时,则会执行该按钮的OnClick事件,尽管可以对多个按钮设置其Default值都为true,但是当用户按了[Enter]键时,系统则会选择TabOrder属性最小的按钮,并激发其OnClick事件。

· Enabled属性:用来设置一个按钮可不可用,当Enabled设置为false时,按钮呈现暗淡不可选状态.

·ParentFont属性:设置按钮的显示字体是否跟随它的Parent,一个TButton的,可能是一个Form,也可能是一个Panel,当Parent Font为true时,按钮的字体跟随它的Parent,否则则使用自己的字体。

·Click方法:模拟一次鼠标的单击操作,以产生一个TButton的On Click事件。

· Focused方法:返回按钮是否有焦点,返回true时表示该按钮是窗体的ActiveControl组件。

· Hide方法:设置按钮的Visible属性为False,使按钮不可视。

·SetFocus方法:设置按钮为当前的焦点。

· Show方法:设置按钮的visible属性为True,使按钮可视。

·Bring To Front方法:用来将按钮置于其父组件所拥有的其他组件的前面。

·On Click事件:鼠标在按钮单击时发生该事件,也是TButton组件的主要响应事件。 创建MDI主窗体的步骤

在MDI应用程序中,主窗体为应用文档提供了一个工作平台,所有的子窗体都在主窗体中打开和工作,同时主窗体也是应用程序的启动窗体,因此,创建主窗体是创建MDI 应用程序的第一步。其基本步骤为:

(1)新建一个工程,把Form1的【Caption】属性和【Name】属性设置为“MDIFrm”, 并把【FormStyle】属性设置为“fsMDIForm”。

(2)选择【Project】菜单下的【options】命令打开【Project Option】对话框,在【Forms】标签页中的Main Form组合框中选择所创建的主窗体名Forml,将该窗体设置为启动窗体。

(3)在主窗体中加入一个主菜单组件(MainMenu),和一个打开文件对话框组件(OpenDialog)。

(4)在主菜单中添加菜单项。

(5)打开文件对话框的过滤编辑器,添加以下内容。 多文档界面应用程序的设计

多文档界面(Multiple Document Interface,MDI)是在一个应用程序中能够同时处理两个或者更多个窗体的界面形式。例如常见的MicroSoft Word这个排版编辑软件就可以同时编辑多篇文章,因此它是一个典型的多文档界面的应用程序。

MDI应用程序的多窗体特性使用户可以在同一个工作区域内对多个文档进行观察和数据交换,以便工作的协调和高效地进行。MDI的工作区域分为主窗体(MDI)和子窗体(Child)。主窗体是程序运行的基本环境,也是生成子窗体的基础,它通常不对用户的文档进行处理。主窗体以外就是子窗体,每个子窗体负责处理一个用户的文档。这些文档可以是相同的文件格式,也可以是不同的文件格式。

C++Builder提供了一整套设计MDI应用程序的组件,让你很容易、快速地开发一个MDI的应用程序。

设计开发一个MDI应用程序一般分以下三个步骤: ·创建MDI主窗体。 ·创建MDI子窗体。

·在MDI主窗体和子窗体中加入代码。 编写菜单事件代码

在用C++Builder菜单设计器可视化地设计用户应用程序菜单时,可以设定限制条件的事件代码。每个菜单选项都需要可对On Click事件作出反应,而且有时需要菜单对程序条件的改变动态地进行反应。

1.菜单组件事件

Main Menu组件与大多数其他组件(不连接事件)不同,程序员通过菜单设计器的工 具修改主菜单项的事件。

Popup组件有一个OnPopup事件,这是必需的。因为:Popup弹出菜单没有.Menubar(菜单栏),因此在菜单打开之前不能得到On Click事件。

2.处理菜单项事件

菜单项只有一个On Click事件,与菜单项的Onclick事件连接的代码在运行应用程序且当用户选择菜单项时执行。选择菜单项的方法可以是单击菜单项或通过用加速键或热键实现。 可用如下方法为菜单项产生事件处理程序: ·从菜单设计器窗口,双击菜单项。

·在代码块内键入用户单击菜单选项时,需要执行的代码。

程序员还可以容易地为在窗体中显示的菜单项产生事件处理程序。这种处理不能应用Popup弹出菜单项,因为他们在设计时不可见。

为了对窗体中显示的菜单项产生一个事件处理程序,可以简单地单击菜单项(而不是菜单组件)。例如,窗体中包含一个文件菜单,其中一个“Open.Menu”打开菜单选项。程序员可以单击这个“Open Menu”选项,产生或打开与之相连接的事件处理程序。上述方法只能用于子菜单项,而不能用于菜单栏的主菜单项。单击菜单栏上的菜单项,打开一个菜单,并显示该菜单的子菜单项。

3.连接菜单项到事件处理程序

程序员可以将一个菜单项与已存在的事件处理程序相连接,这样不必重写相同的代码,这体现了C++Builder的可重用性。

用以下方法可以将一个菜单项和已存在的OnClick事件处理程序相连接: ·在菜单设计器窗口选择菜单项。

·选择对象检查器的属性页,确认菜单项的Name属性已经赋值。 ·选择对象检查器的事件页。

·选择Onclick事件,单击Down箭头,显示一个已存在事件处理程序的列表。 ·从列表中选择需要的处理程序。

为这个事件处理程序编写的代码就连接到选择的菜单项。

4.编写事件处理代码 动态创建窗体对象

创建窗体需要消耗系统的内存,并且消耗程序的运行时间。如果程序中用到的窗体数量较多,而这些窗体都要在程序运行前被自动创建,那么在程序主界面显示之前便会有很长的等待时间,而由于此时程序正在创建所有这些窗体,会耗费系统大量的内存,若严重的话,程序根本无法运行,因此系统会提示用户“系统资源已经耗尽,请关闭一些其他正在运行的程序”。所以,让应用程序自动来创建所有的窗体实在不是一个好方法,这时,就需要用到动态创建窗体的方法。

所谓动态创建窗体,就是当用到窗体的时候才创建窗体,当窗体用完之后马上释放。这样,应用程序就不会占用太多的内存。选择“PrpjiectIOptions菜单命令,这时系统将弹出“Prpiect Options”对话框,在该对话框中可以对工程进行一些设置。其中单击“Fotms” 标签就可进行动态创建窗体。

许多软件都漂亮的启动画面,如C++Builder、Microsoft Office等。这种启动画面只在程序启动时出现一次,显示一些精美的图案作为软件的象征,并且在有些软件的漫长启动过程中给用户一些耐心。下面以创建启动画面为例讲述动态创建窗体的方法,但是这些代码是放在WinMain()函数中。

在test.工程中添加一个新的窗体StartForm,并用StartPage名称保存。

设计StartForm,可以添加一些图片、动画或图像,还可以写上软件名称、开发者名字、时间等信息。

在test.cpp文件中添加如下的代码: #incluade “Startpage.h” //(1)

WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int) { try (

StartF0rm:new TstartF0rm(Application);//(2) StartF0rm—>Show();//(3) StartForm—>Update();//(4) Sleep(1000);//(5) Application一>Initialize();

Application一>CreateForm( classid(TForml),&Forml); Application一>Run(); Delete StartForm;//(6) } .

catch(Exception&exception) {

Application一>ShowException(&exception); } return 0; )

语句(1)表示包含声明StartForm的头文件。


C++Builder6控件 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新人教版二年级下册数学第二单元《表内除法(一)》教材分析及教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: