打不死的心态活到老。
在StringGrid中实现下拉框功能
上一篇 /
下一篇 2007-10-12 16:26:12
/ 个人分类:Delphi编程
q;jQ*nS'eP0http://dev-club.esnai.com/club/bbs/showEssence.asp?id=2258851Testing软件测试网'_1X
` P0ou~m1^
51Testing软件测试网2XBOG~0a独孤九剑于 2003-1-17 11:40:27
2g8b.l;bLp n(U05D;]+ii'\Y051Testing软件测试网4e0A:J
e9\ w nE3~
TStringGrid 实现下拉框比较常见的思路是在TSringGrid中嵌入一个TComboBox ,51Testing软件测试网2w#z/T&E+sJs
思路虽然简单,但开发起来却很麻烦,而且有时会出现不愿看到的效果。
z|z
PGpk {Xt0还有一种更巧的方法,是Delphi未公开的。51Testing软件测试网*Vz
m$C X"SC
51Testing软件测试网*M!u{{#Q
先看两个Delphi提供的VCL:
%_Iq&FK!Z3b'G0
#e
sS3f'Tn
|3Kk%m0TInplaceEdit 是Delphi 提供的一个未公开的控件,只能内嵌于TCustomGrid
#x,MGF-\ry0 中使用,TStringGrid 单元格的编辑功能就是由该控件实现的。
SSD0u jgz5sf#R:z%F0
i2YHI5Hj7z%[-z0TInplaceEditList 是TInplaceEdit的子控件,该控件实现了下拉框和带省略号
J;bk+X%N[&n'sk"e e0 的按钮的功能,也是只能在TCustomGrid 中使用。51Testing软件测试网.u+d2eP$i
o-[3q
OnEditButtonClick 事件,按钮按下时触发该事件。
.~~Sl4f;M0k"E0 OnGetPickListitems 事件,下拉框弹出前触发该事件,在该事件的处
9H#F)B^xsq0 理中可以改变下拉框的内容。