3、显示属性 下面的属性控制控件的常规外观: · Color,改变控件的背景色。 · Font,改变文本的颜色、类型、样式和尺寸。 · Cursor,指定当光标通过控件时,用于表示鼠标指针的图像。 · DesktopFont,指定控件在写入文本时是否使用Windows图标字体。 4、父代属性 为了在你的应用程序中保持一致的外观,你可以通过设置父代属性来使任何控件和它们的父代控件看上去都很相似。 · ParentColor,确定控件可以到哪里找到它们的颜色信息。 · ParentFont,确定控件可以到哪里找到它们的字体信息。 · ParentShowHint,确定控件到哪里弄清楚帮助提示应如何显示。 5、导航属性 下面的属性确定用户如何在窗体的控件之中定位:Caption,包含作为组件标号的字符串。要为字符串中的字符加下划线,需在该字符之前加一连字符(&)。这类字符被称为快捷键。用户按下Alt键的同时键入加下划线的字符,就可选择控件或菜单项。 6、拖放属性 有两个组件属性影响拖放操作: · DragMode,确定拖动何时开始。DragMode的缺省值是dmManual,应用程序必须调用BeginDrag方法来开始拖动。当DragMode是dmAutomatic时,鼠标键一按下,拖动即开始。 · DragCursor,指定鼠标指针在可拖放组件上方时的形状。 7、拖动-停靠属性 下面的属性控制拖动-停靠操作: · Floating,指示控件是否为浮动的。 · DragKind,指定控件正进行正常地拖动还是进行停靠操作。 · DragMode,确定控件如何开始拖放或拖动-停靠操作。 · FloatingDockSiteClass,当控件为浮动的时,指定控件的临时寄主类。 · DragCursor,指定拖动时的光标形状。 · DockOrientation,指定控件与其他同时停靠于相同父代控件中的控件的关系。 · HostDockSite,指出控件所停靠的控件。
2.4.7 TControl通用标准事件 VCL中的控件都定义了一些标准事件。下面的事件是TControl类所声明的一部分,因此所有TControl的派生类都可用: · OnClick,用户单击控件触发。 · OnContextPopup,用户右击控件或用其他方式激活弹出式菜单(比如使用键盘)时触发。 · OnCanResize,试图调整控件大小时触发。 · OnResize,在控件调整大小之后立即触发。 · OnConstrainedResize,在OnCanResize发生以后立即触发。 · OnStartDock,当用户以DragKind属性为dkDock的方式开始拖动控件时触发。 · OnEndDock,当对象的拖动结束,或进行了停靠操作又或终止拖动时触发。 · OnStartDrag,当用户通过单击控件并保持鼠标键按下,开始拖动控件或者它包含的对象时触发。 · OnEndDrag,当对象的拖动结束,或者通过终止拖动放下对象时触发。 · OnDragDrop,当用户放下正在拖动的对象时触发。 · OnMouseMove,当用户移动鼠标指针并且鼠标指针通过控件上方时触发。 · OnDblClick,当鼠标指针在控件上方且用户双击鼠标时触发。 · OnDragOver,当用户拖动一个对象通过控件上方时触发。 · OnMouseDown,当鼠标指针在控件上方且用户按下鼠标键时触发。 ·OnMouseUp,当鼠标指针在组件上方且用户按下鼠标键后又松开时触发。
2.4.8 TWinControl的共同属性 所有的窗口控件(TWinControl的后裔)所共享的属性包括: · 关于控件的信息。 · 边界样式显示属性。 · 导航属性。 · 拖动-停靠属性。 这些属性是从TWinControl继承而来的,它们都是发布属性,因此,只对于那些适用的组件它们才会出现在对象观察器中。 1、常规信息属性 常规信息属性包含TWinControl的外观信息、客户区尺寸和起点、Windows指定信息、及鼠标信息。 · ClientOrigin,指定控件客户区左上角顶点的屏幕坐标(以像素为单位)。这个坐标是由TControl而不是从TWinControl中继承而来的,是该控件的父代控件的屏幕坐标加上其Top和Left属性值。 · ClientRect,返回一个矩形,其Top和Left属性值设置为零,Bottom和Right属性值设置为该控件的Height和Width属性值,ClientRect也就是等价于Rect(0,0,ClientWidth,ClientHeight)。 · Brush,确定用于绘制控件背景的颜色和模式。 · Handle,提供对控件窗口句柄的访问途径。 · WindowHandle,提供对控件窗口句柄的另一种访问途径。 · HelpContext,提供用于调用上下文相关的联机帮助的一种上下文相关的编号。 · Controls,列出窗口控件的所有子控件。 2、边界样式显示属性 斜角(Bevel)属性控制应用程序中窗体或窗口控件斜角行、边框、页面的外观。 · InnerBevel,指定内斜角为凸起、凹进或平面。 · BevelKind,若控件存在斜角边缘、指定斜角的类型。 · BevelOuter,指定外斜角为凸起、凹进或平面。BevelWidth指定内斜角和外斜角的宽度,以像素为单位。 · Bevel,以像素为单位,指定内、外斜角的宽度。 · BorderWidth,给出或设置控件边界宽度。 · BevelEdges,给出或设置控件的哪些边做斜角处理。 3、导航属性 两个附加的属性确定用户如何在窗体之中定位控件: · TabOrder,指出控件在它们的父代组件中的Tab排序,也即用户按Tab键时控件收到焦点的顺序。初始的Tab排序就是组件加入到窗体的顺序,但是你能通过改变TabOrder来改变这一顺序。只有当TabStop是true时TabOrder才有意义。 · TabStop,确定用户是否能按下Tab键顺序转至各控件。如果TabStop为true,控件具有Tab排序功能。 4、拖动-停靠属性 下面的属性管理拖动-停靠操作: · UseDockManager,指定拖动-停靠操作的管理者。 · VisibleDockClientCount,指定放置于窗口控件中的可见控件的数目。 · DockManager,指定拖动-停靠操作的管理者接口。 · DockClients,给出窗口控件中放置的控件的列表。 · DockSite,指定控件是否可以作为拖动-停靠操作的目标。
2.4.9 TWinControl的通用标准事件 下面的事件存在于所有从TWinControl派生的控件(包含所有的Windows定义的控件)。这些事件是对于存在于所有控件之中的事件的补充。 · OnEnter,控件即将收到焦点时触发。 · OnKeyDown,用户按键时,键处于按下状态时触发。 · OnKeyPress,用户按单个字符键时触发。 · OnKeyUp,用户按键时,键按下又弹起后触发。 · OnExit,输入焦点从一个控件转移到另一个时触发。 · OnDockDrop,另一控件被停靠到该控件时触发。 · OnDockOver,另一控件被拖动通过该控件上方时触发。 · OnGetSiteInfo,返回该控件停靠信息。 · OnMouseWheel,鼠标轮旋转时触发。 · OnMouseWheelDown,鼠标轮向下旋转时触发。 · OnMouseWheelUp,鼠标轮向上旋转时触发。 · OnUnDock,应用程序试图释放窗口控件中停靠的控件时触发。
2.4.10 创建应用程序用户界面 在C++ Builder中,所有的可视化设计工作都在窗体中展开,当你打开C++Builder或建立一个新工程时,屏幕上会出现一个空白的窗体。可以用这个窗体来建立应用程序界面,包括窗口、菜单、对话框等。 通过可视化的组件,如按钮、列表框等在窗体上的放置和排列,可以设计出用户图形界面的外观,而底层的工作细节则由C++ Builder自动管理。同时,也可以将一些非可视化的组件放入窗体之中,以便管理数据库信息,进行计算,管理其他操作等。
2.4.11 使用组件 大多数可视化组件由开发环境本身提供,放置在组件面板之上。从组件面板中选择组件并放置到窗体中即可设计应用程序用户界面。可视化组件被放入窗体中后,就能调整它们的位置、尺寸、及其他设计时属性。 组件面板上的C++Builder组件以其功能的不同分属于不同的页。例如,常用组件,比如那些用来创建菜单、编辑框或按钮的组件,位于组件面板中的标准(Standard)页。一些简便的控件比如,计时器、绘图框、媒体播放机、OLE容器控件等在系统(System)页。 乍看之下,C++Builder组件与任何其他的C++类大致一样。但是,在C++Builder组件和大多数的C++程序员所使用的标准C++类分层结构之间还是存在一些差异的。下面就是其中的一些差别: · 所有的C++Builder组件由TComponent类派生而来。 · 组件大多数的应用是通过改变他们的属性来使用,而不是作为“基类”以使其子类能够增加或改变其成员函数。当组件被继承时,通常是给现有的事件处理成员函数加上具体的代码。 · VCL组件只可分配在堆中,而不能在栈中(它们必须用new操作符来创建)。组件的属性本质上包含运行时类型信息。 · 组件可以被加到C++Builder用户界面的组件面板中并且可在窗体中操纵。 · 组件通常比标准C++类封装得更好。例如:考虑一个包含一个按钮的对话框。在C++Windows应用程序中,当用户单击按钮时,系统产生一个WM_LBUTTONDOWN消息。程序必须捕捉这个消息(典型的是在Switch状态、消息映象、或响应列表),并将它分派到可响应这个消息的例程中。 C++Builder组件可处理大多数的Windows消息。若要响应一个Windows消息时,只需提供一个事件句柄即可。
 
2/2 首页 上一页 1 2 |