下面,图老师小编带您去了解一下TScreen类,生活就是不断的发现新事物,get新技能~
【 tulaoshi.com - 编程语言 】
TScreen表示应用程序运行时屏幕的状态。
类关系 TObject-TPersistent-TComponent
TScreen引进具有表示下列各种情况的属性
什么窗体和数据模块已经被应用程序实例化。
激活窗体以及在窗体内激活的控件。
屏幕的尺寸大小和分辨率。
可以获得的应用程序使用的光标和字体。
有一个TScreen类型的全局变量Screen,已被C++Builder的应用程序创建实例。使用Screen可以获得在一个应用程序中有关屏幕当前状态的信息。
属性列表
Active Control 确定屏幕上的当前有输入焦点的控件
ActiveCustomForm 指定当前有焦点的TCustom-Form的子类
Cursor 从全局控制鼠标的光标图像
Cursors 列出应用程序可用的光标
CustomFormCount 确定屏幕上显示的窗体或属性页的数量
CustomForms 列出在应用程序中当前显示的所有窗体和属性页
DeataModuleCount 指定在应用程序中创建实例的数据模块的数量
DataModules 列出当前在应用程序中创建实例的所有数据模块
DefaultIme 指出当创建TScreen对象时,哪一个输入方法编辑器(IME)是激活的
DefaultKbLayout 当应用程序开始运行时,指定激活的键盘布局的Windows句柄
Fonts 列出屏幕支持的所有字体的名称
FormCount 指定显示在屏幕上的窗体数量
Forms 列出当前应用程序中所显示的所有窗体
Height 以像素为单位指定屏幕的垂直尺寸大小
IconFont 指定显示在文件选择支话框中图标的标签上的字体
Imes 列出系统中所安装的所有输入方法编辑器
PixelsPerInch 指定在垂直方向上组成一个逻辑英寸的屏幕像素数
Width 以像素为单位指定屏幕的水平方向尺寸
方法列表
~TScreen 删除TScreen的一个实例
TScreen 创建TScreen的一个实例
事件列表
OnActiveControlChange 当输入焦点改变到一个新窗口类控件时立即发生该事件
OnActiveFormChange 当一新窗体变为激活状态后,事件发生
属性
TScreen::ActiveControl
__property Controls::TWinControl* ActiveControl = {read=FActiveControl};
确定屏幕上当前有输入焦点的控件。
读取ActiveControl, 可以知道在当前激活窗体中哪一个窗中控件可以接收来自键盘的输入。ActiveControl,是只读属性,要想改变ActiveControl,须使用包含有输入焦点的控件的窗体的SetFocusedControl方法。
当焦点从一个控制切换到另一控制后,屏幕就接收一个OnActiveControl事件。
TScreen::ActiveCustomForm
__property TCustomForm* ActiveCustomForm = {read=FActiveCustomForm};
指定当前有焦点的TcustomForm的子类。
读取ActiveForm,可以知道哪个窗体或属性页有输入焦点。如果处于激活状态的自定义窗体为TForm对象,ActiveComForm与ActiveForm是相同的。
TScreen::ActiveForm
__property TForm* ActiveForm = {read=FActiveForm};
指出当前有焦点有窗体。
读取Activeform,可以知道在应用程序中哪个窗体有输入焦点。当应用程序当前不是激活状态时,ActiveForm就是当应用程序再次被激活时将要拥有焦点的窗体。
ActiveForm,是只读属性,要想改变ActiveForm,须使用应该接受焦点窗体的SetFocus的方法。如果调用非激活窗体的SetFocusedControl 来设置位于其上的控件的焦点,ActiveForm也将发生改变。
在焦点从一个窗体切换支另一个窗体后,屏幕就接收到一个OnActiveFhange事件。
TScreen::Cursor
__property Controls::Tcursor = {read=FCursor,write=SetCursor,nodefault};
从全局控制鼠标的光标图像。
设置Cursor可以重设与单个控件对象有关的光标图象。当 Cursor为 crDrfault时,由单个对象来确定光标的图像。给该属性赋任意其他值可为属于应用程序的所有窗口设置鼠标光标图像。全局的鼠标光标图像可以一直使用,直到屏幕的 Cursor属性又被改回 crDrfault。
可以把光标设为Cursors 属性中的任意有效光标值,既可以是内带的光标值勤之一,也可以是加入到Cursors属性中的自定义光标。
TScreen::Cursors
__property HICON Cursors[int Index] = read=GetCursors,write=SetCursors};
列出应用程序可用的光标。
利用Cursor 可以访问一个为应用和谐可或应用程序内的控件使用的特定的光标。Tscreen包括一些内带光标,这些光标可以用符号的光标常数来索引。与内带光标常数相关联的图像可以通过设置Cursors属性来改变。
下面为一些光标常数,以及其在Cursors属性数组中的位置。*********
___________________________________________________________________
光标常数 值 图像
___________________________________________________________________
crDefault 0 取决于ActiveControl,(默认值)形状由对象决定
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)crNone -1 无光标
crArrow -2 箭头
crCross -3 十字线(crosshair指针)
crIBeam -4 I型
crSize -5 尺寸线(指向东、南、西、北四方向的箭头)
crSizeNESW -6 右上-左下尺寸线(指向东北和西南议程的双箭头)
crSizeNS -7 垂直尺寸线(指向南和北的双箭头)
crSizeNWSE -8 左上-右下尺寸线(指向东南和西北方向的双箭头)
crSizeWE -9 水平尺寸线(指向东和西两个方向的双箭头)
crUpArrow -10 向上的箭头
crHourGlass -11 沙漏(表示等待状态)
crDrag -12
crNoDrop -13 不允许放下
crHSplit -14
crVSplit -15
crMulitDrag -16
crSQLWait -17
crNo -18
crAppStart -19
crHelp -20
crHanldPoint -21
可以自定义光标可以加入到Cursors属性中,供应用程序及其任意控件使用。要在应用中加入一个自定义光标需按以下步骤进行:
(1)用资源编辑器创建一个光标资源。
(2)给光标常数定义一个常量,并且不要与书籍光标常数冲突。
(3)使用Windows API函数LoadCursor来获得一个新光标的句柄。
(4)用新宣称的光标常数来索引,把Cursors属性设置为由LiadCursor得到的句柄。
当完成一个自定义光标时,不要调用Windows APL函数DestroyCursor来删除它,C++
Builder会自动进行的。
TScreen::CustomFormCount
__property int CustomFormCount = {read=GetCustomFormCount,nodefault};
确定屏幕显示的窗体或属性页的数量。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)读取 CustomFormCount , 可以获得在屏幕上当前显示的窗体或属性页的数量 。并可以用CustomFormCount和 CustomForms一起使用,可以遍历应用中的所有窗体和属性页。
TScreen::CustomForms
__property TCustomForm* CustomForms[int Index]={read=GetCustomForms};
列出在应用程序中当前显示的所有窗体和属性页。
利用customForms通过索引来访问窗体或属性页。索引值的范围在零(第一幅自定义窗体)和CustomFormCount-1之间 CustomFomCount 和CustomForms一起使用,可以遍历应用中的所有窗体和属性页。
TScreen::DataModuleCount
__property int DataModuleCount = {erad=GetDataModuleCount,nodefault};
指定在应用程序中创建实例的数据模块的数量。
读取DataModuleCount,可以知道在 DataModules 属性中数据模块的数量。当应用需要遍历所有数据模块时,可以把DataModules 和DataModuleCount一起使用。
TScreen::DataModules
__property TDataModule* DataModules[int Index] = {read=GetDataModule};
列出当前在应用程序中创建实例的所有数据模块。
使用DataModules可以通过索引来访问创建了实例的数据模块。Index的范围在零(第一个数据模块)和DataModules-1之间。当应用需要遍历所有数据模块时,可以把DataModules和DataModulesCount一起使用。
TScreen::DefaultIme
__property System::Ansistring DefaultIme = {read=FDefaultIme};
指出当创建TScreen对象时,哪一个输入方法编辑器(IME)是激活的。
在支持亚洲语言字符的应用程序中,当应用程序开始时,读取DefaultIme可以确定激活的IME。
对于亚洲语言字符来说,IME是一个前端输入处理器。IME挂接了所有的键盘输入,在转化窗口中将其转化成亚洲字符,然后把这些转化后的字符或字符串送到C++Builder 应用程序中。在一个系统中可能安装了多个IME,但它们在用户界面,转化字典和输入方法方面都是不同的。
来源:http://www.tulaoshi.com/n/20160219/1614936.html