Include/Exclude用法及ToolBar的Image图像问题(50分)

  • 主题发起人 主题发起人 Micro Whaight
  • 开始时间 开始时间
M

Micro Whaight

Unregistered / Unconfirmed
GUEST, unregistred user!
1、按照帮助的说明,Inculde/Exclude可以在一个集合中增加或者减少一个元素,但是,
我想对TDBGrid的Options中增加/减少一个dgIndicator,使用下列语句:

Include(DBGrid1.Options, dgIndicator);
Exclude(DBGrid1.Options, dgIndicator);

均不能编译? 提示Can't assign left side什么之类的。
只能是DBGrid1.Option +/- [dgIndicator]。而随便做个自定义的集合,又可以进行
Include/Exclude,是不是TDBGrid的Options并非一个集合?

2、在ToolBar中使用ImageList设置ToolButton的按钮图像,是不是只能用16色的?如果
我使用256色的图像,在实际显示时,只有16色的效果?图像是用ImageEdit编辑的。


 
1)是的,只能用 DBGrid.Options := DBGridOptions +|- <dgOptions>
在Include/Exclude中,是对变量的一个地址操作,而属性虽然是一个集合,
内部实际上是调用的一个过程SetOptions。这是由于类封装使用你会误认为
Options 是一个可以直接访问的变量,实际不是的。

只能对一般的集合类型数据进行Include/Exclude操作。据称:Include/Exclude
的效率要比 Set := Set +|- <item>高。

2)Delphi能够使用256色位图,但高于256色肯定不行。
 
看了Options的声明,确实是这样。
我也是看了别人说Include/Exclude比+/-快,才想这么做的。

另外,那个图像问题,如果我用SpeedButton就没事,可以显示256色,而ToolButton就不行?

(再等一天,就给分)
 
在我机器上显示256色好象是没有问题,
你用的是哪一个版本?我是D5。
D3肯定不行,D4我忘了。
一般我不用超过16色的位图,但在D5里面
试了一下,是可以的。
 
我用的也是D5,就是不知道为什么用ImageEdit写的RES文件中的图像资源,到显示时
就只有16色的效果了。算了,反正也不是个重要的事情。 :)

谢谢啦
 
后退
顶部