6. 这些表格的基本属性
6.1. 衍生TCustomForm
激活 <br/> <br/> 指定 窗体获得焦点时。
__property bool 主动 = {读取 = FActive,nodefault} ;
<br/> 主动为 true 时,如果该窗体具有焦点 ; 如果启用是虚假的该窗体不具有焦点。<br/> <br/> ActiveControl <br/> <br/> 打开窗体时,此属性是 建立哪些控件具有焦点。
__property 控件: TWinControl ** ActiveControl = {读取 = FActiveControl,写 = SetActiveControl,存储 = IsForm ;}
<br/> 以下事件处理程序响应计时器事件向右移动主动控制一个像素: < br / > 作废 __fastcall TForm1:Timer1Timer(TObject_*Sender)
{ActiveControl-> 左 = ActiveControl-> 左 + 1 ;}
<br/> ActivateMDIChild <br/> <br/> 指定的 MDI 子窗体具有焦点。<br/> 当其值,此属性返回的指针查询 MDI 活跃女儿的窗口。它是只读属性。如果没有活动窗口 MDI 的女儿或应用程序不是 MDI 返回 NULL 值。<br/> <br/> __property TForm ** ActiveMDIChild = {读取 = GetActiveMDIChild ;} <br/> <br/> <em> 此代码使用 MDI 应用程序上的一个按钮。当用户单击按钮时,活动的 MDI 子窗体是视觉。
作废 __fastcall TForm1:Button1Click(TObject_*Sender) {TForm ** 该窗体 ;}该窗体 Form1-= > ActiveMDIChild ;如果该窗体 (该窗体)-> WindowState = wsMinimized ;}
BorderIcons <br/> <br/> 指定的 图标显示在工具栏上的窗体的标题。
{biSystemMenu、 biMinimize、 biMaximize、 biHelp} ; TBorderIcon 枚举 typedef 设置 TBorderIcons ; __property TBorderIcons BorderIcons = {读取 = FBorderIcons,写 = SetBorderIcons,存储 = IsForm,默认 = 7}
价值 | 意义 |
biSystemMenu | 窗体,有控制菜单 (也称为系统菜单)。 |
biMinimize | 窗体,有最小化按钮 |
biMaximize | 窗体,有最大化按钮 |
biHelp | 如果边框样式是 bsDialog 或 biMinimize 和 biMaximize 被排除,在窗体的标题栏中会显示一个问号和单击时,光标将变为 crHelp ; 否则,没有出现问号。 |
下面的代码中移除窗体的最大化按钮,当用户单击每个按钮:
__fastcall TForm1:Button1Click(TObject_*Sender) 作废 {BorderIcons = BorderIcons-(TBorderIcons() << biMaximize) ;}
边框样式 <br/> <br/> 指示应该有什么样的边缘形式。默认值是 bsSizable (可以更改窗口的大小)。
枚举 TFormBorderStyle {bsNone、 bsSingle、 bsSizeable、 bsDialog、 bsToolWindow、 bsSizeToolWin} ; __property TFormBorderStyle 边框样式 = {读取 = FBorderStyle 写 = SetBorderStyle 存储 = IsForm,默认值 = 2} ;
价值 | 意义 |
BsDialog | 不可调大小 ; 标准对话框的边缘。 |
BsSingle | 不可调整大小 ; 一条简单的线边缘。 |
BsNone | 可调整大小不 ; 非可见的边缘线。 |
BsSizeable | 标准可调整大小的边缘。 |
BsToolWindow | bsSingle 一样,但用小的标题。 |
BsSizeToolWin | bsSizeable 一样,但用小的标题。 |
<br/> 画布 <br/>
提供的绘制窗体工作区访问。 <br/> Camvas 属性用于访问窗体在运行时绘制位图、 行、 轮廓和文本的表面。标签组件通常用于写入文本、 图形和绘制轮廓或剪影形状组件显示的图像。但有时有必要画中所花的执行时间也有助于保存窗体的磁盘映像。
__property 图形: TCanvas ** 画布 = {读取 = GetCanvas ;} 作废 __fastcall TForm1:Button1Click(TObject_*Sender) {图形: TBitmap ** pBitmap = 新图形: TBitmap;}请尝试 {pBitmap-> LoadFromFile("C:ProgramFilesBorlandCBuilderImagesSplash256colorfactory.bmp_");}pBitmap-> 透明 = true ;pBitmap-> TransparentColor = pBitmap-> 画布-> 像素 [50,50] ;Form1-> 画布-> 绘制 (0,0,pBitmap) ;pBitmap-> TransparentMode = tmAuto ;/ / 透明颜色现在是 clDefault = 0x20000000 ;Form1-> 画布-> 绘制 (50,50,pBitmap) ;} 赶上 (...){ShowMessage("Could_not_load_or_display_bitmap")} ;} 删除 pBitmap ;} 下面的示例为矩形绘制在窗体上时,在用户单击 Button1。作废 __fastcall TForm1:Button1Click(TObject_*Sender) {画布-> 矩形 (0、 0、 40、 40) ;}
ClientHeight <br/> <br/> 指定的 客户端区域的高度 (以像素为单位) (内部的窗体区域)。
__property ClientHeight = {写 = SetClientHeight,存储 = IsClientSizeStored ;}
本示例减少窗体的工作区的高度了一半,当用户单击表单上的按钮:
无效 __fastcall TForm1:Button1Click(TObject_*Sender) {form1-> ClientHeight = form1-> ClientHeight/2;}}
<br/> ClientRect <br/> <br/> 此属性包含的 限制的顶部、 底部、 左、 右的客户区坐标 形式。 <br/> 指定的客户端区域尺寸。
ClientRec 等于 Rectangu (0,0,ClientWidth,ClientHeight) 的矩形。Windows: TRect ClientRect __property = {读取 = GetClientRect ;}
<br/> ClientWidth <br/> <br/> 指定的 客户端区域的宽度 (以像素为单位) (内部的窗体区域)。
__property ClientWidth = {写 = SetClientWidth,存储 = IsClientSizeStored ;}
本示例启动窗体中的位置,以便右手边显示: 滚动
void TForm1:FormCreate(TObject_*Sender) __fastcall
{/ ** 设置要在工作区中显示 300 像素的窗体窗口的宽度 ** / ClientWidth = 300 ;}/ ** 两次现在到客户端宽度设置的范围。这意味着窗体有两次是物理窗口一样大的逻辑大小。请注意范围必须始终至少和 ClientWidth 一样大 !月 HorzScrollBar-> 范围 = 600 ;/ ** 开始完全滚动窗体 ** / HorzScrollBar-> 位置 = HorzScrollBar-> 范围-ClientWidth ;/ ** 单击滚动箭头移动窗体 10 像素 ** / HorzScrollBar-> 增量 = 10 ;HorzScrollBar-> 可见: = true ;{/ / 显示滚动条}
<br/> FormStyle <br/> <br/> 确定 窗体样式。
枚举 {fsNormal、 fsMDIChild、 fsMDIForm、 fsStayOnTop} ; TFormStyle __property TFormStyle FormStyle = {读取 = FFormStyle,写 = SetFormStyle,存储 = IsForm,默认值 = 0} ;
价值 | 意义 |
FsNormal | (默认值) 的正常形式。 |
FsMDIChild | 的指标形成二次 MDI。 |
FsMDIForm | 主 MDI 窗体。 |
FsStayOnTop | 形式总是在前台。 |
此示例可确保应用程序的主窗体是 MDI 父窗体:
__fastcall TForm1:TForm1(TComponent*_Owner)
: TForm (所有者) {if(FormStyle_!=_fsMDIForm) FormStyle = fsMDIForm ; if(FormStyle_==_fsMDIForm) Edit1-> 文本 ="MDI 窗体"; 其他 //This 线从未运行 Edit1-> 文本 ="不 MDI 窗体";}
HelpFile <br/> <br/> 指定应用程序中使用的 帮助文件的名称。
__property 系统: AnsiString HelpFile = {读取 = FHelpFile,写 = FHelpFile ;}
图标 <br/> <br/> 指示 您可以看到标题栏中的图标,当窗体在运行时显示或最小化。如果不指定链接图标,则 Windows 将指派一个默认。
__property 图形: TIcon ** 图标 = {读取 = FIcon,写 = SetIcon,存储 = IsIconStored ;}
此代码时,会在创建窗体的窗体分配一个图标:
__fastcall TForm1:TForm1(TComponent*_Owner): TForm (所有者) {图标-> LoadFromFile ("C:\\PROGRAM FILES\\BORLAND\\CBUILDER\\IMAGES\\ICONS\\EARTH。")}("ICO") ;}
KeyPreview <br/> <br/> 指定何时 该窗体可以接收从之前主动控制键盘事件。
- Si KeyPreview 是真实的键盘事件发生在窗体上,然后主动控制中。
- 如果 KeyPreview 是假的键盘事件仅出现上主动控制。
__property bool KeyPreview = {读取 = FKeyPreview,写 = FKeyPreview,存储 = IsForm,默认值 = 0} ;
本示例更改窗体的颜色为浅绿色当用户按下一个键,即使在窗体上的控件具有焦点。当用户释放按键时,窗体返回到其原始颜色。
颜色 FormColor ; 作废 __fastcall TForm1:FormCreate(TObject_*Sender) {KeyPreview = true} ;作废 __fastcall TForm1:FormKeyDown(TObject_*Sender,_WORD_&Key,_TShiftState_Shift) {FormColor = form1-> 颜色 ;}Form1-> 颜色 = clAqua ;} 作废 __fastcall TForm1:FormKeyUp(TObject_*Sender,_WORD_&Key,_TShiftState_Shift) {form1-> 颜色 = FormColor ;}
<br/> MDIChildCount
指定 的形式打开儿童数目。
__property int MDIChildCount = {读取 = GetMDIChildCount,nodefault} ;
下面的代码将关闭 form1,如果没有 MDI 孩子打开:
void __fastcall TForm1:Button1Click(TObject_*Sender) {close () if(MDIChildCount_==_0);}
MDIChildren
提供 索引来访问窗体的 MDI 子级。
__property TForm ** MDIChildren [int 我] = {读取 = GetMDIChildren ;}
下面的代码将关闭所有的 Form1 的 MDI 儿童。
作废 __fastcall TForm1:Button1Click(TObject_*Sender) {为 (int_i_ = _0 ; _i_ < _MDIChildCount ; _i + +) MDIChildren [i]-> close () ;}
菜单 <br/> <br/> 菜单属性是用来 加载和激活窗体在运行时中的菜单。TmainMenu 组件必须在窗体加载。
__property 菜单: TMainMenu ** 菜单 = {读取 = FMenu,写 = SetMenu,存储 = IsForm ;}
此代码将显示一个新菜单,在用户单击该按钮时,命名为 MyMenu。
TMenuItem ** Item1 ;TMainMenu ** MyMenu ;/ void __fastcall TForm1:Button1Click(TObject_*Sender) {Item1 = (这) 的新 TMenuItem} ;Item1-> 标题 ="新项目";MyMenu = 新的 TMainMenu (这) ;MyMenu-> 项目-> 添加 (Item1) ;菜单 = MyMenu ;} / void __fastcall TForm1:FormDestroy(TObject_*Sender) {为 MyMenu (int_i_ = _0 ; _i_ < _MyMenu-> 项目-> 计数 ; _i + +)-> [i] 项目。}删除 (Item1) ;删除 Item1 ;删除 MyMenu ;}
ModalResult <br/> ObjectMenuItem <br/> OLE <br/> OleFormObject <br/> OLE <br/> 父 <br/> PixelsPerInch <br/>
位置
确定 窗体的大小和位置 第一次打开时。
枚举 TPosition {poDesigned、 poDefault、 poDefaultPosOnly、 poDefaultSizeOnly、 poScreenCenter} ; __property TPosition 位置 = {读取 = FPosition,写 = SetPosition,存储 = IsForm,默认值 = 0} ;
价值 | 意义 |
PoDesigned | 设计阶段中的同一位置。 |
PoDefault | Windows 设置的大小和位置的 Z-顺序的算法依法。 |
PoDefaultPosOnly | 阶段的设计.Windows 选择屏幕上的位置的同等职位。 |
PoDefaultSizeOnly | 设计的阶段 Windows 中的同一位置选择大小。 |
PoScreenCenter | 窗体始终位于屏幕的中心。 |
PrintScale
代表比例的打印机中的窗体。
枚举 {poNone、 poProportional、 poPrintToFit} ; TPrintScale __property TPrintScale PrintScale = {读取 = FPrintScale,写 = FPrintScale,存储 = IsForm,默认值 = 1} ;
价值 | 意义 |
的 PoNone | 不适用任何规模。另一台打印机和打印机之间的形式输出而异。 |
PoProportional | 比例选项为了打印窗体作为近似什么尽可能在屏幕上看起来。 |
PoPrintToFit | 的增加或减少了以匹配打印机设置的图像的大小。 |
打印时,下面的代码保持比例的窗体。
form1-> PrintScale = poProportional ;Form1-> print () ;
成比例 <br/> TileMode <br/> MDI <br/>
可见
如果指示
的 形式开始时可见或不。此属性在运行时很有用,确立了窗体是否可见。
__property 可见 = {写 = 实例化,默认值 = 0;}
下面的代码使用两种形式。Form1 上它有一个按钮。第二种形式用作工具调色板。此代码才能使调色板中可见的窗体,并确保它是顶端的形式,把它前置 <br/> 要运行此示例,必须在一栋源文件中包括 Unit2.h。
作废 __fastcall TForm1:ShowPaletteButtonClick(TObject_*Sender) {如果 (!)}Form2-> 可见) {Form2-> 可见 = true ;}Form2-> BringToFront() ;}
}
WindowMenu
使用 WindowsMenu 属性来 加载和激活窗体在运行时 MDI 父菜单。TmainMenu 组件必须在窗体加载。
菜单: TMenuItem __property ** WindowMenu = {读取 = FWindowMenu,写 = SetWindowMenu,存储 = IsForm ;}
<br/> <em> 运行此代码,为菜单项称为的 MyWindows 必须存在于 MDI 父窗体的窗体。这行代码指定 MyWindows 菜单中,将窗口菜单中列出了在 MDI 应用程序中所有打开的子窗口的菜单:
WindowMenu = MyWindows ;
WindowState
此属性可 确定窗体 (最小化、 最大化,或正常) 的当前状态。它还可以用于表明最初应该如何显示窗体。选项有 wsMinimized、 wsMaximized 和 wsNormal。
枚举 {wsNormal、 wsMinimized、 wsMaximized} ; TWindowState __property TWindowState WindowState = {读取 = FWindowState,写 = SetWindowState,存储 = IsForm,默认值 = 0}
价值 | 意义 |
WsNormal | 窗体显示在其正常状态 (即,其非可视、 非最大化状态)。 |
WsMinimized | 窗体显示在它的视觉状态。 |
WsMaximized | 窗体显示在其最大化状态。 |
响应用户单击按钮通过最小化窗体的收缩,下面的代码:
作废 __fastcall TForm1:ShrinkClick(TObject_*Sender) {WindowState = wsMinimized} ;