就是在点击到列表相应单元格的時候在相应的位置生成一个跟单元格大小相当的编辑框或者下拉列表框并贴在单元格上面而已。
实现如下: 在对话框类声明中添加如下變量和函数:
在对话框的初始化函数OnInitDialog()中添加初始化代码如下:
为列表框添加单击响应函数:
else//点中的单元格是之前创建好的 else//如果是性别选项在单元格处生成下拉列表项 else//点中的单元格是之前创建好的写创建与销毁单元格编辑框和下拉列表框函数的实现:
//创建单元格编辑框函数
//Item為创建单元格在列表中的行,SubItem则为列havecreat为对象创建标准
//创建单元格下拉列表框函数
//Item为创建单元格在列表中的行,SubItem则为列havecreat为对象创建标准
OK,到此我们已经实现了添加单元格编辑框和单元格下拉列表框的功能了点击除性别列外的列表单元格看到以下效果:
在单元格编辑框中寫东西的时候往往喜欢按回车,这个时候如果不加处理的话会发现一个很崩溃的现象程序直接退出了。这个可以重载对话框类的OnOK()函数来避免就是在对话框类声明中添加
然后将其定义为什么都不做:
这样就不会有按回车直接退出程序的事情发生了。
此外如果希望在编辑框或者下拉列表框失去焦点的时候就将数据列表中的相关信息更新,可以响应动态创建的这两个控件的失去焦点消息方法如下: 在对话框类声明中添加
在对话框类实现的消息映射描述中添加
//添加动态生成编辑框的失去焦点响应函数
这样这两个控件在失去焦点的时候就会响應分别定义好的函数,我们只需要在相应的函数添加处理代码就可以了: