CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

我应该如何访问子控件里的控件属性中的字体属性?

楼主aldz(阿蓝德猪(其实变猪不容易...))2003-02-04 20:57:16 在 Delphi / Windows SDK/API 提问

以下代码想循环查找Panel2中的Font字体属性,如为粗体,  
  则变为正常体  
  Var  
      i                                   :   Integer;  
      ChildControl             :   TControl;  
   
            For   i   :=   0   To   Panel2.ControlCount   -   1   Do  
              Begin  
                  ChildControl   :=   Panel2.Controls[I];  
                  if   ChildControl.font.style=[fsbold]   then   //这行报错  
                      ChildControl.Font.Style   :=   [];   //这行也报错  
              End;  
  我键入ChildControl后的小圆点想指定FONT属性,但发现大多数属性没有,只有Name、  
  Top、Width、Left等一般属性,why?为什么大多数属性不能访问?  
  问题点数:100、回复次数:9Top

1 楼pilicat(Delphi迷)回复于 2003-02-04 21:08:34 得分 20

并非所有的控件都有Font属性的,如不可视控件就没有,只有一部分可视控件如:TLabel,TEdit等控件有,你上面的代码可是"一竹杆打死一片",当然是不行的,你只能是判断后再进行处理,如:  
  if   (ChildControl)   is   TEdit   then  
  ((ChildControl)   as   TEdit).Font.Name='宋体';Top

2 楼ehom(?!)回复于 2003-02-04 21:26:39 得分 35

TControl???  
   
  该类中Font是protected成员  
   
  这样  
      TMyControl=class(TControl)  
      public  
          property   Font;  
      end;  
   
  var  
      ChildControl:TMyControl;  
   
      ChildControl:=TMyControl(Panel1.Controls[I]);  
  Top

3 楼iroi()回复于 2003-02-04 22:33:38 得分 20

ChildControl   :   TControl;  
  你这样一来,把子控件向上转型成TControl。它的Font属性没公开,当然访问不了。按   ehom(?!)   的方法可以。Top

4 楼aldz(阿蓝德猪(其实变猪不容易...))回复于 2003-02-06 09:46:48 得分 0

Oh,原来是这样,怪我基础没打好,没搞清楚类继承的关系,但我想问一下,什么书里面可以找到“TControl该类中Font是protected成员"和“子控件向上转型成TControl。它的Font属性没公开”这两个概念?  
  Top

5 楼pilicat(Delphi迷)回复于 2003-02-06 09:49:05 得分 0

你只需查阅DELPHI关于VCL控件的帮助或查看DELPHI的源代码就可.Top

6 楼hjb8000(北极熊)回复于 2003-02-06 10:57:05 得分 20

ChildControl.font.style=[fsbold]    
  写法本来就错误,字体类型为集合,应该用   IN   而不是   =Top

7 楼ehom(?!)回复于 2003-02-06 13:28:24 得分 0

没错,集合也可以赋值,也可以判断是否想相等,in是包含Top

8 楼idilent(怎么理解怎么说)回复于 2003-02-06 13:28:38 得分 5

都对。Top

9 楼ehom(?!)回复于 2003-02-06 13:28:43 得分 0

即子集的关系Top

相关问题

  • 如何设置Edit控件中的字体属性
  • 请问如何控制richtext控件里文字字体属性
  • 如何给自字义控件加上字体属性?
  • vc中如何设置对话框中控件上的字体属性
  • 动态创建的控件如何改变其字体背景等属性?
  • VB运行时点击控件字体属性触发CPU100%,VB无法工作?
  • 请教 如何改变enable属性为false的控件的字体颜色
  • 用Javascript如何访问web控件属性。送分 在线等
  • VB.NET中如何访问用户控件属性
  • 窗体中如何访问UserControl中的控件的属性?

关键词

  • 控件
  • 属性
  • 字体
  • childcontrol
  • tcontrol
  • tmycontrol
  • tedit
  • font
  • panel2
  • style

得分解答快速导航

  • 帖主:aldz
  • pilicat
  • ehom
  • iroi
  • hjb8000
  • idilent

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo