你是通过IDE添加的WM_LBUTTONDOWN消息吗
解决方案 »
- 一个MFC的小问题~
- Dll钩子获取某个窗口的消息:钩子函数捕获不到该窗口的消息(在线等)
- 获取记录集时说C_Recordset类未定义
- VC中关于图片的上传与存储
- 重载了CStingArray中 = 的问题
- 怎样在程序开始时传递参数到程序中,并得到其中的值,高手Come In Please!!!!
- 高手上,一个程序怎样监视另一个程序现在的状态(也就是死了没有)!
- CDiaolog有问题吗?
- 为何用CFileDialog打开单个文件如300M以上时,就有时候出错
- 招聘启示5000/月程序员
- 用opencv处理运动车辆跟踪和车辆计数问题
- vs2005MFC下OCX发布到网页的办法?客户端没有2005环境怎么写inf?
前的函数却}号
// NewListCtrl.cpp : implementation file
//#include "stdafx.h"
#include "钻孔数据库查询.h"
#include "NewListCtrl.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif/////////////////////////////////////////////////////////////////////////////
// CNewListCtrlCNewListCtrl::CNewListCtrl()
{
m_nitem=-1;
m_nsubitem=-1;
m_nitem1=-1;
m_nsubitem1=-1;
}CNewListCtrl::~CNewListCtrl()
{
}
BEGIN_MESSAGE_MAP(CNewListCtrl, CListCtrl)
//{{AFX_MSG_MAP(CNewListCtrl)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
// CNewListCtrl message handlers
void CNewListCtrl::Edit()
{
CRect rect;
if(GetSubItemRect(m_nitem,m_nsubitem,LVIR_LABEL,rect)==FALSE)
return;
int sty=WS_CHILD|WS_CLIPSIBLINGS|WS_EX_TOOLWINDOW|WS_BORDER;
//设置编辑框样式
if(m_edit.Create(sty,rect,this,ID_MYEDIT)==FALSE)
//创建编辑框
return;
CString txt=GetItemText(m_nitem,m_nsubitem);
m_edit.SetWindowText(txt);//设置编辑框的内容
m_edit.SetFocus();
m_edit.SetSel(0,-1);
m_edit.ShowWindow(SW_SHOW);//显示编辑框
m_nitem1=m_nitem;
m_nsubitem1=m_nsubitem;
}
void CNewListCtrl::EndEdit()
{
if(m_nitem1!=-1&&m_nsubitem1!=-1)//判断是否为初始时
{
CString txt;
m_edit.GetWindowText(txt);
SetItemText(m_nitem1,m_nsubitem1,txt);//设置为编辑后的文件内容
m_edit.DestroyWindow();}
void CNewListCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
LVHITTESTINFO testinfo;
testinfo.pt.x=point.x;
testinfo.pt.y=point.y;
testinfo.flags=LVHT_ONITEMLABEL;//强调点击必是标题
if(SubItemHitTest(&testinfo)<0)
return;
m_nitem=testinfo.iItem;//得到行号
m_nsubitem=testinfo.iSubItem;//得到列号
if(m_nitem==m_nitem1&&m_nsubitem==m_nsubitem1)//判断是否是前一点击的行列
return;
else{
EndEdit();//结束编辑框
Edit();//创建新的编辑框对列表框进行编辑
}
}
是根据这个网址上改的。我好像直接复制粘贴过来的。
{
if(m_nitem1!=-1&&m_nsubitem1!=-1)//判断是否为初始时
{
CString txt;
m_edit.GetWindowText(txt);
SetItemText(m_nitem1,m_nsubitem1,txt);//设置为编辑后的文件内容
m_edit.DestroyWindow();}
}
少一个 ‘}’
/*
BEGIN_MESSAGE_MAP(CNewListCtrl, CListCtrl)
//{{AFX_MSG_MAP(CNewListCtrl)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
*/
这种错误就是上一个函数没结束!