winxp vc++6 MFC listctrl 双击不响应

.h
afx_msg void OnDblClk(NMHDR* pNMHDR, LRESULT* pResult);

.cpp
ON_NOTIFY(NM_DBLCLK, IDC_LIB_TEXT_LIST, OnDblClk)

void CTextLibDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
m_nTreeListIndex=-1;
CWnd cwnd;
cwnd.GetDlgItem(IDD_PRO_LABEL_PAGE);
m_hWnd=NULL;
m_hWnd=cwnd.GetSafeHwnd();
if (m_hWnd!=NULL)//判断标签窗口是否打开 多个相同ID对话框打开无效,需要父句柄
{

NMITEMACTIVATE* p = ( NMITEMACTIVATE* )pNMHDR;
UINT nState = m_TextList.GetItemState ( p->iItem, STATE_TREE_MASK );
if (( nState & STATE_ROOT_COLLAPSE ) == STATE_ROOT_COLLAPSE||
(nState & STATE_ROOT_EXPAND ) == STATE_ROOT_EXPAND)
{
m_nTreeListIndex++;
for (int i=0;i<nState;i++)
{
if ( ( nState & STATE_ROOT_COLLAPSE ) == STATE_ROOT_COLLAPSE||
(nState & STATE_ROOT_EXPAND ) == STATE_ROOT_EXPAND)
m_nTreeListIndex++;
}

    }

//  CTextLibDlg::OnDestroy();
}   

}

2个回答

写个最简单的,比如messagebox,看执行么?还不执行,就是你消息映射的问题,重新用classwizard映射。看你关联的是哪个的双击,是listctrl么
如果可以触发,那么检查你代码逻辑了。

caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复houchantang7015: vc++ 6.0的话,ctrl+shift+w,打开类向导(classwizard)
12 个月之前 回复
houchantang7015
随风飘荡012 想起来了 treelist类添加过了双击响应函数了 ,我怎么在Dlg类引用这个函数添加新的功能 对C++不太熟悉
12 个月之前 回复
 afx_msg void OnNMDblclkListInfo(NMHDR *pNMHDR, LRESULT *pResult);

BEGIN_MESSAGE_MAP(CCInstallDlg, CDialog)
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_NOTIFY(NM_DBLCLK, IDC_LIST_INFO, &CCInstallDlg::OnNMDblclkListInfo)
END_MESSAGE_MAP()

void CCInstallDlg::OnNMDblclkListInfo(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    // TODO: 在此添加控件通知处理程序代码
    *pResult = 0;
}
houchantang7015
随风飘荡012 多谢 但问题不在这里 是系统自动把消息分配到TreeList类双击函数里,想用PretranslateMessage拦截下来,消息发到Dialog里,但是不知道怎么写代码,
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
winxp vc++6 MFC listctrl 双击不响应
.hrn afx_msg void OnDblClk(NMHDR* pNMHDR, LRESULT* pResult);rn rn.cpprnON_NOTIFY(NM_DBLCLK, IDC_LIB_TEXT_LIST, OnDblClk) rnrnvoid CTextLibDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)rnrn m_nTreeListIndex=-1;rn CWnd cwnd;rn cwnd.GetDlgItem(IDD_PRO_LABEL_PAGE);rn m_hWnd=NULL;rn m_hWnd=cwnd.GetSafeHwnd();rn if (m_hWnd!=NULL)//判断标签窗口是否打开 多个相同ID对话框打开无效,需要父句柄rn rn NMITEMACTIVATE* p = ( NMITEMACTIVATE* )pNMHDR;rn UINT nState = m_TextList.GetItemState ( p->iItem, STATE_TREE_MASK );rn if (( nState & STATE_ROOT_COLLAPSE ) == STATE_ROOT_COLLAPSE||rn (nState & STATE_ROOT_EXPAND ) == STATE_ROOT_EXPAND)rn rn m_nTreeListIndex++;rn for (int i=0;i
MFC对话框不响应标题栏双击
MFC对话框不响应标题栏双击
VC实现listctrl双击编辑
用VC实现在LISTCTRL控件上面双击之后能编辑 用VC实现在LISTCTRL控件上面双击之后能编辑
MFC ListCtrl的LVN_ITEMCHANGED事件有时不响应
在MFC中使用属性页,在各页上有不同的ListCtrl,单击List一条记录时,切换到别的页后再切回来,再次点击刚才单击过的记录时LVN_ITEMCHANGED的事件不再响应,第二次点击时才响应,而切回来后第一次点击别的记录则响应。rn 也就是说从其它页切回后第一次点击最近一次点过的记录不响应。rn 感觉很怪,请高人指点。谢谢!
VC ListCtrl Cbutton不响应 在线求教~
listctrl已被成功创建 listctrl里面已成功绘制了一序列的button ID号为IDC_MYBTN+inum;#define IDC_MYBTN 135rnrn已经有消息响应:ON_BN_CLICKED(IDC_MYBTN + inum, OnShowImg)rnrn为什么单击不了Button(不是单击了不反应 而是根本无法单击或双击) 用过WM_LBUTTONDOWN WM_LBUTTONBLCLKrnbutton创建的代码如下:rn[code=C/C++]rnCView * pView;rn pView=(CView*)((CFrameWnd*)AfxGetApp()->m_pMainWnd)->GetActiveView();rn CListCtrl *pList = ((CListCtrl*)(pView->GetDlgItem(IDC_ImgList)));rn rn CButton* pBtn = new CButton();rn rn CRect rect,rectbuf;rn int rectx,recty;rn rn pList->GetSubItemRect(inum,4,LVIR_BOUNDS,rect);rn rectx = rect.left + 30;rn recty = rect.bottom + 40;rn rn LOGFONT logfont; rn memset(&logfont,0,sizeof(LOGFONT)); rn rn strcpy(logfont.lfFaceName, "宋体 "); rn logfont.lfHeight=12; rn logfont.lfWeight=400; rn logfont.lfCharSet=134; rn logfont.lfOutPrecision=3; rn logfont.lfClipPrecision=2; rn logfont.lfQuality=1; rn logfont.lfPitchAndFamily=2; rn rn CFont *pFont=new CFont; rn pFont-> CreateFontIndirect(&logfont);rn rn pBtn->Create("查看",WS_CHILD|WS_VISIBLE|WS_EX_STATICEDGE,CRect(rectx,recty,rectx+70,recty + 17),(CFrameWnd*)AfxGetApp()->m_pMainWnd, IDC_MYBTN+inum);rn rn pBtn->SetFont(pFont);rn[/code]rnrn说下为什么以及解决的方案Button能成功显示 就是无法去单(双)击
VC/MFC之ListCtrl控件使用经验总结
1. CListCtrl 风格 2. 设置listctrl 风格及扩展风格 3. 插入数据 4. 一直选中item 5. 选中和取消选中一行
关于VC,MFC界面ListCtrl
ListCtrl 就是在ICON类型的列表项,我们知道这个列表项上面有图标,有图标下面的文字,现在我要在文字下面再添加一个button按钮rn同时这个按钮能够产生消息!求高手指点怎样实现?
CListBox的双击消息不响应?
rn怎么才可以实现这个功能?
鼠标双击不响应的疑惑
我在下面程序的窗口函数中添加了一个鼠标双击的case,可是运行时感觉双击消息根本不响应,双击时就是响应两次单击消息,为什么呢? 应该怎么修改呢?rnrn#include rnrnLRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);rn// 回调窗口函数rnrnint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,rn LPSTR lpCmdLine, int nCmdShow)rnrn HWND hwnd ; // 窗口句柄rn MSG msg ; // 消息rn WNDCLASS wndclass ; // 窗口类rnrn wndclass.style = NULL ;// CS_HREDRAW | CS_VREDRAW ;rn wndclass.lpfnWndProc = WndProc ;rn wndclass.cbClsExtra = 0 ;rn wndclass.cbWndExtra = 0 ;rn wndclass.hInstance = hInstance ;rn wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;rn wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;rn wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;rn wndclass.lpszMenuName = NULL ;rn wndclass.lpszClassName = "HelloWin"; // 窗口类名rnrn if (!RegisterClass (&wndclass)) // 注册窗口rn rn MessageBox (NULL, "窗口注册失败!", "HelloWin", 0) ;rn return 0 ;rn rn rn // 创建窗口rn hwnd = CreateWindow ("HelloWin", // 窗口类名rn "我的窗口", // 窗口标题rn WS_OVERLAPPEDWINDOW, // 窗口样式rn CW_USEDEFAULT, // 窗口最初的 x 位置rn CW_USEDEFAULT, // 窗口最初的 y 位置rn CW_USEDEFAULT, // 窗口最初的 x 大小rn CW_USEDEFAULT, // 窗口最初的 y 大小rn NULL, // 父窗口句柄rn NULL, // 窗口菜单句柄rn hInstance, // 应用程序实例句柄rn NULL) ; // 创建窗口的参数rn rn ShowWindow (hwnd, nCmdShow) ; // 显示窗口 rn UpdateWindow (hwnd) ; // 更新窗口,包括窗口的客户区rn rn // 进入消息循环:当从应用程序消息队列中检取的消息是rn // WM_QUIT时,则退出循环。rn while (GetMessage (&msg, NULL, 0, 0))rn rn TranslateMessage (&msg) ; // 转换某些键盘消息rn DispatchMessage (&msg) ; // 将消息发送给窗口过程,这里是WndProcrn rn return msg.wParam ;rnrnrnLRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)rnrn switch (message)rn rn case WM_CREATE:rn return 0 ;rn rn case[color=#FF0000] WM_LBUTTONDBLCLK:[/color]rn MessageBox (NULL, "双击鼠标!", "双击", 0) ;rn return 0 ;rn rn case WM_LBUTTONDOWN:rn MessageBox (NULL, "你好,我的Visual C++世界!", "问候", 0) ;rn return 0 ; rn rn case WM_KEYDOWN:rn MessageBox (NULL, "键盘按下", "键盘", 0) ;rn return 0 ;rnrn case WM_CHAR:rn MessageBox (NULL, "字符", "字符", 0) ;rn return 0 ;rn rn case WM_DESTROY:rn PostQuitMessage (0) ;rn return 0 ;rn rn return DefWindowProc (hwnd, message, wParam, lParam) ; // 执行默认的消息处理rn
ListCtrl的单击和双击问题。
请问各位:rn 我添回了单击和双击的消息处理函数,为什么不论单击和双击系统都处理单击的消息处理函数?
ListCtrl 双击编辑??
双击ListCtrl的一行,弹出了对话框。编辑好数值,按确定,该数值替换掉所点击那一行的某一列的内容。销毁对话框,保留ListCtrl界面。rnListCtrl类名是CCh3_3Dlg,列表控件m_List2,对话框类名是CNITEM,编辑框IDC_EDIT4,m_Edit4,变量类型CString;rn我是这样做的,发现不行,弹出Debug Assertion Failed警告。rnvoid CNITEM::OnOK() rnrn UpdateData(TRUE);//取得编辑框的值 赋给m_Edit4rn CCh3_3Dlg dlg;rn dlg.Edit();rn CDialog::OnOK();rnrnvoid CCh3_3Dlg::Edit()rnfor (int i=0; i < m_List2.GetItemCount(); i++)rn rnrn if ( m_List2.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )rn rn rn CString con;rn CNITEM aa;rn con = aa.m_Edit4; rn m_List2.SetItem( i, 2, LVIF_TEXT, con, NULL, 0, 0, 0);rn rnrn怎么都不行呢? 谁指教指教,代码|方法可行,给分!!!
重绘listctrl,不响应OnLButtonUp函数
在重绘的listctrl中,添加了鼠标右键弹起消息OnLButtonUp,但鼠标弹起时,发现不进去函数,不知道怎么回事。请求各位大侠帮忙rnrnwin7操作系统
MFC ListCtrl
双击MFC ListCtrl单元的任何单元,显示该单元所在行的所有信息。
vc 6 mfc 视图 开源
基于mfc开发的多视图程序,源代码来自国外开源网站,有一定的参考价值
mfc的listctrl
listctrl自绘,item高度、颜色、等等,并具备Edit功能
VC 2015 MFC 图片列表ListCtrl
VC 2015 MFC 图片列表ListCtrl
vc listCtrl
想实现这样的lisictrlrnrn单击listctrl的某一项,该项周围显示出红色的边框 rnrn本打算使用类似SetItemHighlight(int nRow,int nColumn,bool bHighlight) 这样的函数rnrn实现起来有点困难 是不是应该建立一个数组保存高亮的项呢 rnrn或是有其他的办法 请指教rnrnPS:如果有相关的类那就最好了
vc listctrl
vc listctrl控件通过 双击,可手动输入文字,也可双击修改文字内容
VC listCtrl
MFC动态listCtrl风格设置,超爽的代码,简洁明了,一看就会,适合初学者
vc mfc listctrl自绘带颜色
listctrl自绘带颜色, 新手 参考研究用
VC++6.0 双击左键函数不响应
双击鼠标左键没有反应,运行也不报错,就是自己退出来,本来双击是可以打出字的,我又设置了一个变量的值在里面,结果就不执行了,把变量赋值的语句删去后,仍然不好用,不知道是为什么rn代码关键部分rnrn```rnvoid CWangLiuLin190304View::OnLButtonDblClk(UINT nFlags, CPoint point) rnrn // TODO: Add your message handler code here and/or call defaultrn pDC = GetDC();rn DrawBoo(pDC,point);rn CView::OnLButtonDblClk(nFlags, point);rnrn```rnDrawBoo(CDC *pdc, CPoint ptPos)函数rnrn```rnvoid CWangLiuLin190304View::DrawBoo(CDC *pdc, CPoint ptPos)rnrn static char sz[] = "Hi,Mrs.Wang!";rn pdc->TextOut(ptPos.x,ptPos.y,sz,sizeof(sz) - 1);rnrn```
VS2010 建立的MFC工程对话框按钮双击不响应。。。
之前建立的MFC程序没什么问题,今天新建立了一个MFC工程,在对话框上添加了一些控件之后,双击按钮发现没任何反映了。。然后又发现同时类向导里面也不会显示一些消息什么的了。 去之间没问题的工程看,发现也是这样子了。。。重新建立一个工程,问题还是这样。 试过还原之前没问题时的系统(VS安装在系统盘的),结果还是这样子。rn求解决方法。。(不要说手动添加消息响应函数之类的,谢谢)。
ListCtrl实现双击编辑,绘图
在ListCtrl里面输入坐标 实现绘图
MFC OnDropFiles 不响应问题?
rn[code=c]ON_WM_DROPFILES()rn.................................rnvoid CMFCApplication1View::OnDropFiles(HDROP hDropInfo)rnrn // TODO: 在此添加消息处理程序代码和/或调用默认值rn CFormView::OnDropFiles(hDropInfo);rnrnrnBOOL CMFCApplication1View::PreTranslateMessage(MSG* pMsg)rn rn// CDialog d;rn if(::TranslateAccelerator(m_hWnd,hAccel,pMsg))rn return TRUE;rn// return d.PreTranslateMessage(pMsg);rn if(pMsg->message == WM_DROPFILES)rn rn int i = 0;rn rn return CFormView::PreTranslateMessage(pMsg);rnrnrn......................................[/code]rnDialog 和 List control 里面的属性 Accepet Files 均设置为 TRUErn当我拖拽文件是OnDropFiles 是不会响应的。在PreTranslateMessage 能捕捉到WM_DROPFILES信号!rn 小白求助大神!!!
MFC 的onsize函数不响应
在做一个简易total commander的时候,建立了两个FormView各占一边,分别在这两个视图类上放置了ListCtrl空间,然后用OnSize函数调整控件的显示,使控件可以占满视图,这是两个OnSize函数的实现,为什么只有一个调整好了,FromView2却没有反应啊rnvoid FinalFromView1::OnSize(UINT nType, int cx, int cy) rnrn CFormView::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern rn if(m_Listctrl1)rn rn m_Listctrl1.MoveWindow(0,0,cx,cy); rn rn rnrnvoid Finalc::OnSize(UINT nType, int cx, int cy) rnrn CFormView::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern if(m_Listctrl2)rn rn m_Listctrl2.MoveWindow(0,0,cx,cy); rn rn rn
MFC,EditControl的EN_CHANGE不响应
用过PreTranslateMessage处理,用过设置风格,到头来,同样是Edit控件,为什么就这个不好用,很是费解。rn我新建控件,但是ID相同就不行,为什么,查看过.rc文件,没有问题啊,resource文件也没问题,就是不知道单单这一个edit控件不响应这一个EN_CHANGE事件,其他事件也都正常响应,请高手解答
MFC实现listCtrl双击表格,实现文本输入。
MFC实现listCtrl双击表格,实现对表格的文本输入。
vc不响应的问题??
遇到过无数次,作个断点, 然后F5, 调试, 结果vc不响应。 在taskmgr中显示不响应, 只能用taskmgr关闭。rnrn大家遇到过吗???rnrn
WinXP总管6注册机
必需在安装路径下运行
mfc自定义的listctrl 功能
自定义的MFC 控件listctrl,可设置颜色,高度,字体 ,满足具体需要。
重绘MFC ListCtrl控件
这是一个重绘的 MFC List control 控件 ,里面包含了重绘的progress control控件、combo box控件 以及一个button 控件,可以在list control 控件的单元格中插入这些控件,便于更好的展示信息,对于初学者学习重绘控件有一定的启示,里面的方法都是比较简单基础的。其中响应按钮消息和进度条消息都是自己定义的。
MFC串口和ListCtrl的使用
MFC中的MSCOMM控件实现串口通行 使用listctrl控件显示图标 并且改变指定行的颜色
MFC的ListCtrl用法
简单的ListCtrl使用范例。VS2010工程。
MFC中listctrl的使用
MFC中listCtrl的使用前一阵子做MFC项目用到了listCtrl控件,今天刚好有空,整理了一下。废话不多说,看代码。 右键菜单:/*右键菜单*/ void CStudentMngDlg::OnNMRClickStudentList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinte
自定义函数在ListCtrl控件的LVN_ITEMCHANGED里面不响应
void CLongGuideDlg::OnLvnItemchangedChlist(NMHDR *pNMHDR, LRESULT *pResult)rnrn LPNMLISTVIEW pNMLV = reinterpret_cast(pNMHDR);rn // TODO: 在此添加控件通知处理程序代码rn int id;rn CString text;rn for(int i=0;i
MFC listctrl问题
[img=http://img.my.csdn.net/uploads/201304/16/1366046731_2056.png][/img]rn我想在listctrl中点击一行就可以选中那一行,如图,然后可以通过点击修改就直接修改选中这一行的数据,rn[img=http://img.my.csdn.net/uploads/201304/16/1366046745_3380.png][/img]rnrnrn换句换说,怎么拿到选中这一行的数据
MFC listctrl的使用方法
本文档主要讲的是MFC中的listctrl的使用方法。
MFC Listctrl排序
vs2010 MFC listctrl控件的排序
MFC,菜单,工具栏,listctrl
菜单,工具栏,listctrl,右键菜单(复制,粘贴,插入,剪切,清除,删除)
MFC下扩展的listCtrl
扩展的列表框 支持双击时显示编辑框,但只支持显示一个编辑框; 支持双击时显示组合框,但只支持显示一个组合框;
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池