一个需要思考的问题!关于StringGrid和ComboBox

Linux2001 2002-11-21 09:37:35
现在有一个StringGrid它的2列和3列上面有动态生成的ComboBox,现在问题是这个StringGrid的行数不是固定的,有可能选中一个树型控件节点的时候它只有2列(或更多),有可能选中树型控件结点的时候它只有4列之类的,但是当列数减少的时候动态生成的ComboBox还在原来的地方停留,并没有消失,现在问题就是如何让ComboBox跟着StringGrid的行增加而增加,减少而减少
...全文
140 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux2001 2002-11-28
  • 打赏
  • 举报
回复
算了,结贴了,没有一个人回答正确了,我解决了
ruyunluck 2002-11-26
  • 打赏
  • 举报
回复
keenleung的有道理
Linux2001 2002-11-21
  • 打赏
  • 举报
回复
我给每个TComboBox设置了一个Tag,这个Tag对应每一行,然后释放的时候就会报错超界,而且每次单击树型节点的时候它都会重复创建TComboBox,实在是#@!$#@#$#@%
Linux2001 2002-11-21
  • 打赏
  • 举报
回复
有没有这个方面For D6的控件,最好有源代码的,我用控件算了
keenleung 2002-11-21
  • 打赏
  • 举报
回复
看来我的回复延时太厉害了,呵呵
你设置它们的Visible或是Free掉不可以吗?必要的话重画一下
keenleung 2002-11-21
  • 打赏
  • 举报
回复
同意楼上的建议,这样的话就完全不用动态创建了.

如果确实有这种需要,你可以在动态生成ComboBox的时候给它们指定一个与StringGrid的Cell相关联的Name,你刷新StringGrid的时候枚举父容器上的所有ClassName='TComboBox'的控件,分析每个ComboBox的Name来确定隐藏与否
Linux2001 2002-11-21
  • 打赏
  • 举报
回复
关键是现在行是动态增减的,然后每一行的2、3列上面才有TComboBox,动态加行的时候,TComboBox的生成很正常,减少行的时候,原来生成的两个TComboBox就不会消失,还在原来有一行的那里留着,现在就是要它们消失!
MouseBrother 2002-11-21
  • 打赏
  • 举报
回复
提供一个思路吧。
就是在鼠标点击一个单元格时动态在这个位置显示一个Combox。离开这个Cells之后,隐藏Combox。Combox只需要有一个就够了。
Delphi的DBGrid就是这么干的
Linux2001 2002-11-21
  • 打赏
  • 举报
回复
帮帮我啊,怎么都没有人回答啊

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧