社区
数据库
帖子详情
如何实现双击CListCtrl控件,实现某条记录的详细信息?
crazzycat
2002-12-14 11:40:49
我在Dialog中有个listctrl控件,在显示完记录后,如何实现双击某条记录在调用出另个个dialog,显示其详细记录?我不知道应该调用listctrl控件的哪个消息????
...全文
67
8
打赏
收藏
如何实现双击CListCtrl控件,实现某条记录的详细信息?
我在Dialog中有个listctrl控件,在显示完记录后,如何实现双击某条记录在调用出另个个dialog,显示其详细记录?我不知道应该调用listctrl控件的哪个消息????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
andy_lau
2002-12-16
打赏
举报
回复
/****************************************
判断有效性并提交到数据库中,分两种情况
1。添加新的纪录到数据库中
2。修改记录倒数据库中
****************************************/
void CAddRecord::OnOK()
{
UpdateData();
if(m_strName==_T("")||m_strCity==_T("")||m_strLeibie==_T(""))
{
AfxMessageBox(" 以 *** 结尾的字段不能为空 ");
return;
}
if(m_strLeibie!="同学"&&m_strLeibie!="网友"&&m_strLeibie!="其它"&&m_strLeibie!="朋友")
{
AfxMessageBox(" 选择类别不正确,请选者正确\"所属类别\" !");
return;
}
if(m_strEmail!=_T("")&&m_strEmail.Find('@')==-1)
{
AfxMessageBox("电子邮件字段输入格式不正确.");
return;
}
if(!m_bUpdateRecord)//插入新的纪录
{
if(!InsertRecord(m_strName,m_strNameExtra,m_strLeibie,m_iQQ,
m_strTelep,m_strMobile,m_strEmail,m_strAdress,
m_strAdept,m_strCity,m_strRemark))
{
m_bAdimitDatabase=FALSE;
AfxMessageBox(" 添加记录失败! ");
}
}
else
{
if(!UpdateDatabase(m_strName,m_strNameExtra,m_strLeibie,m_iQQ,m_strTelep,m_strMobile,m_strEmail,m_strAdress,m_strAdept,m_strCity,m_strRemark,m_strOldName))
{
AfxMessageBox(" 更新数据库失败 !");
return;
}
}
CDialog::OnOK();
}
andy_lau
2002-12-16
打赏
举报
回复
靠,楼上的不知道不要瞎说
响应nm_dblclk,然后...
/***********************************************
功能:
响应在视图中双击引起的操作 ,提取记录到新的对话框中
并在其中修改相应的数据项信息,然后再存入数据库并
更新项对应的视图重的数据项
历史纪录:andy-21/10/2002
*************************************************/
void CEditResult::OnDblclkListreport(NMHDR* pNMHDR, LRESULT* pResult)
{
OnEdit();
*pResult = 0;
}
/******************************************
对现有的记录进行编辑,并将数据更新到数据库中
******************************************/
void CEditResult::OnEdit()
{
//监测dao数据库对象的有效性,并在纪录集对象打开时关闭该记录集
if(!m_pDatabase->IsOpen())
return;
if(!m_pRecordset)
return;
if(m_pRecordset->IsOpen())
m_pRecordset->Close();
CString strTempName=_T("");
CString strTempNameExtra=_T("");
CString strTempLeibie=_T("");
int iQQ=0;
CString strTempTelep=_T("");
CString strTempMobile=_T("");
CString strTempEmail=_T("");
CString strTempAdress=_T("");
CString strTempAdept=_T("");
CString strTempCity=_T("");
CString strTempRemark=_T("");
m_selectName=_T("");
GetContentinList();
if(m_selectName==_T(""))
return;
else
{ //修改之前的数据
strTempName=m_strName;
strTempNameExtra=m_strNameExtra;
strTempLeibie=m_strLeibie;
iQQ=m_iQQ;
strTempTelep=m_strTelep;
strTempMobile=m_strMobile;
strTempEmail=m_strEmail;
strTempAdress=m_strAdress;
strTempAdept=m_strAdept;
strTempCity=m_strCity;
strTempRemark=m_strRemark;
}
CAddRecord dlg;
dlg.m_strOldName=m_strName;
dlg.m_strName=m_strName;
dlg.m_strNameExtra=m_strNameExtra;
dlg.m_strLeibie=m_strLeibie;
dlg.m_strAdept=m_strAdept;
dlg.m_strAdress=m_strAdress;
dlg.m_strCity=m_strCity;
dlg.m_iQQ=m_iQQ;
dlg.m_strEmail=m_strEmail;
dlg.m_strMobile=m_strMobile;
dlg.m_strRemark=m_strRemark;
dlg.m_strTelep=m_strTelep;
dlg.m_bUpdateRecord=TRUE;
if(dlg.DoModal()!=IDOK)
return;
//修改过之后数据
m_selectName=dlg.m_strName;
m_strName=dlg.m_strName;
m_strNameExtra=dlg.m_strNameExtra;
m_strLeibie=dlg.m_strLeibie;
m_strAdept=dlg.m_strAdept;
m_strAdress=dlg.m_strAdress;
m_strCity=dlg.m_strCity;
m_iQQ=dlg.m_iQQ;
m_strEmail=dlg.m_strEmail;
m_strMobile=dlg.m_strMobile;
m_strRemark=dlg.m_strRemark;
m_strTelep=dlg.m_strTelep;
//////////////////////////////////////////////////////
//改变视图中相应的函数项
CString strQQ;
m_listreport.SetItemText(m_iselectindex,0,m_strName);
m_listreport.SetItemText(m_iselectindex,1,m_strNameExtra);
m_listreport.SetItemText(m_iselectindex,2,m_strLeibie);
m_listreport.SetItemText(m_iselectindex,3,strQQ);
m_listreport.SetItemText(m_iselectindex,4,m_strTelep);
m_listreport.SetItemText(m_iselectindex,5,m_strMobile);
m_listreport.SetItemText(m_iselectindex,6,m_strEmail);
m_listreport.SetItemText(m_iselectindex,7,m_strAdress);
m_listreport.SetItemText(m_iselectindex,8,m_strAdept);
m_listreport.SetItemText(m_iselectindex,9,m_strCity);
m_listreport.SetItemText(m_iselectindex,10,m_strRemark);
}
crazzycat
2002-12-15
打赏
举报
回复
没有你说的LBN_DBLCLK事件?!
只有LVN.... NM..... HDN...等message!
crazzycat
2002-12-15
打赏
举报
回复
有这样的代码吗?
jason_sun22
2002-12-15
打赏
举报
回复
菜单View->ClassWizard->MessageMap选项卡,
在Object IDs中选择你的ListCtrl的ID,
在Messages中选择NM_DBLCLK,然后AddFuntion->OK
luixui
2002-12-15
打赏
举报
回复
ON_LBUTTONDBCLICK
crazzycat
2002-12-15
打赏
举报
回复
这个控件没有这个消息!!!!
differ1
2002-12-14
打赏
举报
回复
双击事件里
LBN_DBLCLK
用GetItemPosition就可以知道选择的是哪一个
一个可编辑的
CLi
stCtrl
控件
li
stCtrl
控件
可编辑,即
双击
单元格,可填入相应内容
双击
可编辑的VC++扩展型
CLi
stCtrl
列表
控件
对
CLi
stCtrl
列表
控件
进行了一个功能扩展,使它支持
双击
鼠标
实现
编辑主项(Item),也可以编辑子项(SubItem),并尽量符合
CLi
stCtrl
的操作习惯。这个对VC的爱好者们应该很有用,必竟
双击
编辑已经让我们大部分人感觉很...
自定义
CLi
stCtrl
控件
自定义多功能
CLi
stCtrl
:
双击
可编辑表格,进度条,按钮(普通按钮、单选按钮、复选按钮),并
实现
了控制台打印调试信息功能。
VC 扩展型
CLi
stCtrl
列表
控件
.rar
VC 扩展型
CLi
stCtrl
列表
控件
,支持
双击
鼠标
实现
编辑主项(Item),也可以编辑子项(SubItem),并尽量符合
CLi
stCtrl
的操作习惯,目前好像很多
控件
都有这功能的,应该加入这个实用的功能。
MFC
实现
li
stCtrl
双击
表格,
实现
文本输入。
MFC
实现
li
stCtrl
双击
表格,
实现
对表格的文本输入。
数据库
4,011
社区成员
39,817
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章