TPageControl的疑惑

springchina 2012-08-22 08:41:37
TFrom1上放置一个TPageControl,这个TPageControl上有两个TabSheet,设计的时候,ActivePage = TabSheet1.
TabSheet2上有一个TListView1,TListView1里有两个TListItem。
现在的情况是:
Form1 = new TForm1(Application);
ShowMessage(Form1->TListView->Items->Count);
显示的结果是0.
但是我设ActivePage = TabSheet2后,显示的结果就是2。

百思不得其解,这个是为什么啊?
大家行行好吧,折腾一天了,脑袋都快噜秃了!
...全文
158 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
springchina 2012-08-22
  • 打赏
  • 举报
回复
回复于:2012-08-22 22:36:40
你还是show之后再判断吧
-------------------------------------------------
嗯嗯,就这么干了!多谢!
springchina 2012-08-22
  • 打赏
  • 举报
回复
回复于:2012-08-22 22:33:20
的确有这个问题,貌似是设计时放入的数据,在构造的时候没有放入,只有显示后才会载入

楼主干脆就运行时载入数据来绕过这个问题吧
-----------------------------------------------------------------
我现在就这么做了!只能显示后再去做别的事情了!
缘中人 2012-08-22
  • 打赏
  • 举报
回复
你还是show之后再判断吧
LinuxCard 2012-08-22
  • 打赏
  • 举报
回复
的确有这个问题,貌似是设计时放入的数据,在构造的时候没有放入,只有显示后才会载入

楼主干脆就运行时载入数据来绕过这个问题吧
springchina 2012-08-22
  • 打赏
  • 举报
回复
最新的验证情况如下:
ActivePage=TabSheet1的情形下:
Form1 = new TForm1(Application);
Form1->Show();
ShowMessage(Form1->TListView1->Items->Count);
结果为0,错误的结果。Form1->Show()的位置对结果没有影响,结果依旧是0.

ActivePage=TabSheet2的情形下:
Form1 = new TForm1(Application);
Form1->Show();
ShowMessage(Form1->TListView1->Items->Count);
结果为2,正确的结果。注意:Form1->Show()必须在ShowMessage(Form1->TListView1->Items->Count);前执行才能得到正确的结果。否则结果为0.
dataxdata 2012-08-22
  • 打赏
  • 举报
回复
估计ListView内部对行和列的处理是不一样的,列的数量相对固定,而行的数量可能会在很大的范围内动态变化,所以会采用不同的处理策略
springchina 2012-08-22
  • 打赏
  • 举报
回复
回复于:2012-08-22 21:46:05
可能PageControl中TabSheet上的控件的数据是在Active的时候才加载上去,所以一开始在非Active的时候数据为空
----------------------------------------------------------------------------------
奇怪的是:ShowMessage(Form1->TListView->Columns->Count)是正确的!
springchina 2012-08-22
  • 打赏
  • 举报
回复

#1楼 得分:0回复于:2012-08-22 21:27:24
Form1->TListView->Items->Count?
ListView1吧
------------------------------------------------
是Form1->TListView1->Items->Count!笔误!

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

#2楼 得分:0回复于:2012-08-22 21:30:47
ListView1的两列是怎么添加的
右键listview,有2个菜单
Columns Editor
Itemss Editor,用这个
-----------------------------------------------------
就是用的这个添加的!
dataxdata 2012-08-22
  • 打赏
  • 举报
回复
可能PageControl中TabSheet上的控件的数据是在Active的时候才加载上去,所以一开始在非Active的时候数据为空
缘中人 2012-08-22
  • 打赏
  • 举报
回复
ListView1的两列是怎么添加的
右键listview,有2个菜单
Columns Editor
Itemss Editor,用这个
缘中人 2012-08-22
  • 打赏
  • 举报
回复
Form1->TListView->Items->Count?
ListView1吧
内容概要:本文档是2025年全国广播电视技术能手竞赛IPTV专业的竞赛内容大纲,旨在指导参赛选手准备比赛。竞赛分为理论和实操两大部分。理论部分涵盖基本知识、基础理论和专业知识,包括法律法规、技术标准、IPTV技术基础、信号传输与分发、网络和数据安全等。实操部分则涉及IPTV系统设备、仪器设备的操作使用和指标测量。具体内容包括IPTV系统架构、传输技术与指标、设备配置及维护、专业技能如测量工具使用、视音频指标测量、直播点播协议分析、播出网络性能测量、网络安全数据分析以及系统故障排查等。 适合人群:从事或有意从事IPTV相关工作的技术人员,尤其是有志于参加全国广播电视技术能手竞赛的专业人士。 使用场景及目标:①帮助参赛选手全面了解并掌握IPTV相关的法规文件和技术标准;②提升选手对IPTV系统架构、传输技术和设备配置的理解;③增强选手在实际操作中的测量、分析和故障排查能力;④确保选手能够熟练运用各种测量工具和分析软件进行视音频指标测量和网络安全数据分析。 阅读建议:由于文档内容详尽且专业性强,建议读者在学习过程中结合实际案例和操作练习,同时参考相关技术文献,以便更好地理解和掌握竞赛所需的知识和技能。

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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