C++builder中ListView用鼠标调整列宽时发生哪个事件?

uhian 2015-08-28 09:14:43
我想在调整列宽后自动记录列宽,下次还是按照关闭时的列宽显示,但是没找到调整列宽时发生什么事件。在resize里面测试了一下不触发。
在MouseUp处理倒也可以,但鼠标点的很频繁,感觉这样效率低。
...全文
159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘中人 2015-08-31
  • 打赏
  • 举报
回复
我测试了怎么不行啊,create和close的时候装载和保存列宽
uhian 2015-08-31
  • 打赏
  • 举报
回复
引用 5 楼 ksrsoft 的回复:
我测试了怎么不行啊,create和close的时候装载和保存列宽
读取的代码,在窗体创建后执行的自定义的Init函数里,没测试OnCreate行不行,帮助文档不建议用OnCreate,说跟构造函数冲突;在构造函数试了试,似乎不行,不明真相

lvFilteredView->Columns->BeginUpdate();
for(int i=0;i<lvFilteredView->Columns->Count;++i)
{
	//读取宽度
	int nWidth = iniFile->ReadInteger("ColWidth-FI",
								lvFilteredView->Columns->Items[i]->Caption,
								-1);
	if(nWidth != -1)
	{//读取到了宽度
		lvFilteredView->Columns->Items[i]->Width = nWidth;
	}
}
lvFilteredView->Columns->EndUpdate();
保存的代码,在OnClose里面

for(int i=0;i<lvFilteredView->Columns->Count;++i)
{
	//存储宽度
	iniFile->WriteInteger("ColWidth-FI",
					lvFilteredView->Columns->Items[i]->Caption,
					lvFilteredView->Columns->Items[i]->Width>1?lvFilteredView->Columns->Items[i]->Width:1);

}
uhian 2015-08-31
  • 打赏
  • 举报
回复
引用 7 楼 uhian 的回复:
[quote=引用 4 楼 songhtao 的回复:] OnColumnDragged事件
我看帮助文档写的是这个事件是拖拽标题时发生的,也就是自定义列顺序的时候用的,改列宽时也发生?确实没做测试只看了文档。 我试试。[/quote] 不行,不是这个事件。只能写到Close了,总感觉写在类似ColResize之类的事件省事点。
uhian 2015-08-31
  • 打赏
  • 举报
回复
引用 4 楼 songhtao 的回复:
OnColumnDragged事件
我看帮助文档写的是这个事件是拖拽标题时发生的,也就是自定义列顺序的时候用的,改列宽时也发生?确实没做测试只看了文档。 我试试。
宝龙哥 2015-08-31
  • 打赏
  • 举报
回复
引用 5 楼 ksrsoft 的回复:
我测试了怎么不行啊,create和close的时候装载和保存列宽
这个是一定可以的,你的代码是怎么写的
jamesyue2008 2015-08-29
  • 打赏
  • 举报
回复
关闭时,列宽保存在哪?
我不懂电脑 2015-08-29
  • 打赏
  • 举报
回复
OnColumnDragged事件
宝龙哥 2015-08-29
  • 打赏
  • 举报
回复
要效率的话放在窗体的关闭事件里

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
在这里写
}

很多软件都是这么做的,很多软件在异常关闭后所有对界面的更改都消失,而正常关闭时下次启动会使用上次关闭时的界面布局

这个是效率最高的,如果一定要知道调整列宽发生的事件的话,可以用笨办法,挨个在相关事件里写一些代码进行测试
uhian 2015-08-29
  • 打赏
  • 举报
回复
引用 1 楼 jamesyue2008 的回复:
关闭时,列宽保存在哪?
ini文件。

13,822

社区成员

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

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