Chinaunix首页 | 论坛 | 博客
  • 博客访问: 209930
  • 博文数量: 21
  • 博客积分: 1546
  • 博客等级: 上尉
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-10 14:54
文章分类

全部博文(21)

文章存档

2020年(1)

2019年(3)

2015年(2)

2014年(1)

2011年(1)

2009年(7)

2008年(4)

2007年(2)

我的朋友

分类: Delphi

2015-05-12 10:56:00

在vfp中,控件的每个属性都有access和assign方法,即在属性的读取和赋值过程中嵌入代码。如属性backstyle建立access方法(方法名为backstyle_access),此方法会在读取backstyle属性时(如?backstyle时)执行。

grid控件的列column默认包含textbox控件,可以替换为其他控件(如lable,image或自定义class)。然而在列数据绑定时,官方的绑定方法只有controlsource,它只能将字段内容赋值于textbox的value属性中,如果列包含的不是textbox控件,如label, image,这些列内容也无法和字段绑定起来。

直到有一天,有人发现了backstyle_access的妙用,既只要在列所包含的控件中建立backstyle_access方法,grid中的单元显示包括动态显示(如记录上下移动,resize事件等),都会执行backstyle_access方法。所以只要在backstyle_access方法加入控件的赋值语句,即可轻松完成列内容和字段的绑定,此方法也可轻松模拟各种列动态dynamicXXX属性。

其他属性的access方法(如backcolor_access等)都不具备此功能,惟独backstyle_access有此特异功能,所以真的要感谢发现之人。

有了这个方法,grid就不再是个古板的表格,剩下的就靠你的想象力吧。

如图:


阅读(3170) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~