请问如何在ListCtrl控件中的某固定一列的每一行添加如Edit,CommBox等这样的控件?
谢谢!!
7 个解决方案
#1
http://www.codeguru.com/Cpp/controls/listview/editingitemsandsubitem/article.php/c979/
#2
手头有个可编辑的列表控件的例子。提供信箱即发送。
#3
我的信箱是:wg202wg_2002@163.net
谢谢!散分!!
谢谢!散分!!
#4
方法一是动态创建
方法二是隐藏一个edit、combobox
用户鼠标点击某格,根据这个格子的属性,将edit或combobox显示出来,并且提取格子的值放到edit或combobox中,编辑完成后,再将用户写到edit或combobox中的值回写到list相应的格子中。
方法二是隐藏一个edit、combobox
用户鼠标点击某格,根据这个格子的属性,将edit或combobox显示出来,并且提取格子的值放到edit或combobox中,编辑完成后,再将用户写到edit或combobox中的值回写到list相应的格子中。
#5
以发送
#6
谢谢!
#7
MFCGridCtrl 等网格控件有类似的功能.
在 listctrl 的 subitems 上创建控件和普通方式差不多, 但是要维护这些控件的状态就需要花些工夫了.
一般的方法是做一个 itemdata 的类, 这个类有个HWND 数组组合成员表示每行的控件集, 一些其他控制信息, 以及标准的状态通知接口, 该接口不一定要耦合到 listctrl 上. 对于 subitems 上不同的控件类型可以从这个类继承并封装将状态作用于 HWND 上的操作. 最后, 用 SetItemData 将这个类对象实例指针绑定到某个 item 上.
或者可以考虑模板来构造.
#1
http://www.codeguru.com/Cpp/controls/listview/editingitemsandsubitem/article.php/c979/
#2
手头有个可编辑的列表控件的例子。提供信箱即发送。
#3
我的信箱是:wg202wg_2002@163.net
谢谢!散分!!
谢谢!散分!!
#4
方法一是动态创建
方法二是隐藏一个edit、combobox
用户鼠标点击某格,根据这个格子的属性,将edit或combobox显示出来,并且提取格子的值放到edit或combobox中,编辑完成后,再将用户写到edit或combobox中的值回写到list相应的格子中。
方法二是隐藏一个edit、combobox
用户鼠标点击某格,根据这个格子的属性,将edit或combobox显示出来,并且提取格子的值放到edit或combobox中,编辑完成后,再将用户写到edit或combobox中的值回写到list相应的格子中。
#5
以发送
#6
谢谢!
#7
MFCGridCtrl 等网格控件有类似的功能.
在 listctrl 的 subitems 上创建控件和普通方式差不多, 但是要维护这些控件的状态就需要花些工夫了.
一般的方法是做一个 itemdata 的类, 这个类有个HWND 数组组合成员表示每行的控件集, 一些其他控制信息, 以及标准的状态通知接口, 该接口不一定要耦合到 listctrl 上. 对于 subitems 上不同的控件类型可以从这个类继承并封装将状态作用于 HWND 上的操作. 最后, 用 SetItemData 将这个类对象实例指针绑定到某个 item 上.
或者可以考虑模板来构造.