C Builder 初学问与答(一)第一部分基础入门1.窗体1 问Windows 的编程就是在窗体的基础上实现的, CBuilder 是怎样处理窗体的呢答窗体的一部分功能通过窗体的属性来实现,窗体的属性非常多,这里只对其中比较重 要的属性进行介绍。1.ActiveControl 指定窗体上的某个组件为输入焦点。如下面的语句将窗体上的 Label1 组 件成为输入焦点ActiveControlLabel1。在同一时时刻,应用程序只能有一个输入焦点。2.BorderIcons 用来设定标题栏上出现哪些系统图标。它是一个集合,可以设成以下几个 类型最大化按钮biMaximize、最小化按钮biMinimize 、帮助按钮biHelp和系统菜单 biSystemMenu。3.Icon 属性用来指定当窗体最小化时显示的图标。4.KeyPreview 属性为 true 时,表示击键事件发生时先传给窗体,然后再传给有输入焦点 的组件上,相当于窗体截获了原本属于组件的事件。缺省值为 false,表示击键事件只送到当前 有输入焦点的组件上。5. Menu 属性用来指定窗体的主菜单。6.Visible 属性用来确定窗体是否可见。此外还有一些运行时态属性,这些属性只有在程序运行的时候才能通过编程访问。这种属 性主要有Active属性用来确定窗体是否获得输入焦点。ActiveMDIChild这个函数将返回当前活动的子窗体。DropTarget属性用来指定窗体是否是拖放操作的对象。Parent属性用来设定包含窗体的窗口控件,通常是另一个窗体。如果窗体没有包含它的控件,那 么它的 Parent 属性为 nil 。2)问 Windows 窗体有很多样式,比如对话框,弹出窗口。如果我要控制窗体的边界样 式,应该怎么办 答属性 BorderStyle 可以指定窗体边界的外观和行为。它一共有六种可能的取值。bsDialog表示大小不可变的标准的对话框边界。bsSingle表示大小不可变的单线边界。bsNone表示大小不可变、没有边界。bsSizeable表示标准的可改变大小的窗体。bsToolWindow与 bsSingle 时类似,但是标题较小,用做工具框窗口。bsSizeToolWin与 bsSizeable 时相似,但是标题较小,做工具框窗口。要注意的是,对于 MDI 子窗体,bsDialog 或 bsNone 将不起作用。3)问同样是获得焦点,ActiveControl 与 SetFocus有什么不同答 ActiveControl 是把焦点交给组件,它是一个属性。而 SetFocus是组件主动要焦点, 是一个方法。书写格式也不一样。例如,我们想使同样的一个 Button1 获得焦点,可以下的两 种写法ActiveControlButton1 或 Button1SetFocus二者作用是一样的,不过一般都习惯用第一种方式。4)问属性 Style 有什么作用答属性 Style 可以确定窗体的类型,它一共有四种属性值。fsNormal表示窗体既不是 MDI 父窗口也不是 MDI 子窗口,只可能是单文档 SDI 窗口或者对话框。 这个属性值是缺省值。fsMDIChild表示这个窗体是一个 MDI 子窗口。fsMDI表示这个窗体是一个 MDI 父窗口。 fsStayOnTop表示窗体始终保持在窗体所属工程中其它窗体的上面,除非还有别的窗体的 Style 属 性也被设置成了 fsStayOnTop。要特别注意的是,在程序运行期间不要修改窗体的 Style 属性。5)问属性 Position 有什么作用答属性 Position 可以确定程序运行时出现在屏幕上的窗体的大小和位置,它有五种可能 的取值。1.poDesigned 表示使用设计时指定的尺寸和位置属性时显示窗体。尺寸属性是指 Height 和 Width,位置属性是指 Left 和 Top。这个属性值是缺省值。2.poDefault 表示窗体在屏幕上显示的位置和大小由 Windows 决定。每次运行应用程序 时,窗体都会稍微向下向右移动。3.poDefaultPosOnly 表示窗体以设计时的窗体尺寸显示窗体,但是在屏幕上显示的位置 由 Windows 确定。每次运行应用程序时,窗体都会稍微向下向右移动。当无法再向下移动时, 就又会从屏幕的左上角开始显示。4.poDefaultSizeOnly 表示窗体的位置由设计时指定的值确定,而尺寸由 Windows 确定。5.poScreenCenter 表示使用设计时指定的尺寸和位置属性,在屏幕的中央显示窗体。6)问如何最大化或最小化窗体答属性 WindowState 与窗体的显示有关,它有三种可能的取值。wsNormal窗体既不是最大化显示也不是最小化显示。这个值是缺省值。wsMinimized窗体最小化显示。wsMaximized窗体最大化显示。7)问属性 ClientHeight 和 ClientWidth 有什么作用答这两个属性用来定义窗体用户区域的高和宽。所谓用户区域窗体的实际工作区域,就是除了窗体的标题栏、菜单条、工具条和状态条以及边框之外的窗体区域。所以对于新创建的 窗体,它的用户区域比窗体的大小要稍微小一些,相对而言,窗体的大小是由属性 Height 和 Width 确定的。8)问如何动态创建一个窗体呢答我们先创建一个主窗体 Main,把她的 Caption 改为“主窗体” ,把 Style 属性 改为 fsMDI。再创建一个子窗体 windows1,把 Caption 改为“子窗体” ,把 Style 属性 改为 fsMDIChild。选择“Project|Options” 菜单项,将会弹出一个如图所示的对话框。在这里我们可以通过下拉框选择主窗体(Main ),在左侧的 Auto-create s 里列 出了所有的窗口,这里面的窗口通常是动态创建,你可以把需要动态创建的窗口(Available s)通过中间的那四个按钮调到右侧,然后 OK 就可以了。动态的创建的方法如下void _fastcall T1Button1ClickTObject *Sender {T2 *s;try{ 2new T2Application;// 动态创建 2 2-ShowModal; delete 2;//把 2 释放}catchException Application-ShowException
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。