ListView 大小改变问题

玄之丞 2007-02-26 01:18:30
FORM上有一个ListView,
内容是动态添加的。

ListView的 Align = Client

窗体大小不变时正常。

当窗体大小改变后,ListView宽高也跟着变,
可是里面的内容排列还是窗体大小非改变时的排列。

我试着处理 OnResize 事件也不行。
void __fastcall TForm1::ListView1Resize(TObject *Sender)
{
ListView1->Repaint();
}

各位大大帮我看看。谢谢。
...全文
256 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
玄之丞 2007-02-26
  • 打赏
  • 举报
回复
终于解决了。
onresize时,clear了,再重绘。
汗一下。

谢谢大家。
constantine 2007-02-26
  • 打赏
  • 举报
回复
不清楚了,我在delphi6中试了一下我的代码可以啊。你的bcb有没有打补丁?不知道有没有关系
玄之丞 2007-02-26
  • 打赏
  • 举报
回复
我试了一下,不行。
改成这样,还是不行。
ListView1->ViewStyle=vsList;
ListView1->Repaint();
ShowMessage("");
ListView1->ViewStyle=vsIcon;
ListView1->Repaint();
奇怪。
constantine 2007-02-26
  • 打赏
  • 举报
回复
void __fastcall TForm1::ListView1Resize(TObject *Sender)
{
ListView1->ViewStyle=vsList;
ListView1->ViewStyle=vsIcon;
}
看看
daydayup234 2007-02-26
  • 打赏
  • 举报
回复
真是啊,没头绪了
玄之丞 2007-02-26
  • 打赏
  • 举报
回复
汗一个,忘了说明了:

ListView的模式是 ViewStyle= vsIcon
不是vsReport 模式呀。


daydayup234 2007-02-26
  • 打赏
  • 举报
回复
void __fastcall TForm1::ListView1Resize(TObject *Sender)
{
for(int i=0;i<ListView1->Columns->Count;i++)
ListView1->Columns->Items[i]->Width=
(ListView1->Width)/ListView1->Columns->Count;
}
看看

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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