MFC程序设计上的一道练习 郁闷半天请高手指教

zhangmingfei 2003-12-29 12:55:09
首先没有用文档视图支持,ChildView类从列表框类继承下来 目的是所记录文件在视图中可像在列表框内

一样一行一个排列 当单击某一行时 此行记录弹出(相信大家一定看过这个例子) 但现在问题是 我在记

录上双击没有反应 换句话说从列表框继承下的视图不支持双击事件 以下列出部分代码请高手指点
(好头疼,郁闷)

CChildView类:
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CPhonesListBox::PreCreateWindow(cs))
{
return FALSE;
}

cs.dwExStyle |= WS_EX_CLIENTEDGE;
cs.style &= ~WS_BORDER;

//cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS,
// ::LoadCursor(NULL, IDC_ARROW), reinterpret_cast<HBRUSH>(COLOR_WINDOW+1),

NULL);



//*********必须覆盖********
//必须覆盖原来从CWnd继承的一些个函数,才能保证以后引用列表框的功能
//覆盖了生成时的一个结构 还有OnPaint()函数

return TRUE;
}

CPhonesListBox类:
BEGIN_MESSAGE_MAP(CPhonesListBox, CListBox)
ON_WM_CREATE()
ON_CONTROL_REFLECT(LBN_DBLCLK,OnEditItem)

END_MESSAGE_MAP()

void CPhonesListBox::OnEditItem()
{

CEditDialog dlg;

CString strItem;
int nIndex = GetCurSel ();
GetText (nIndex, strItem);
int nPos = strItem.Find (_T ('\t'));

dlg.m_strName = strItem.Left (nPos);
dlg.m_strPhone = strItem.Right (strItem.GetLength () - nPos - 1);

if (dlg.DoModal () == IDOK) {
strItem = dlg.m_strName + _T ("\t") + dlg.m_strPhone;
DeleteString (nIndex);
AddString (strItem);
}
SetFocus ();

}
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
howtotell 2004-01-01
  • 打赏
  • 举报
回复
要重载ChildView类的DB_CLICK,重载你放控件的类的DB_CLICK是不行的.
zhangmingfei 2003-12-29
  • 打赏
  • 举报
回复
如能解决 分不够再加
easyrock 2003-12-29
  • 打赏
  • 举报
回复
应为你的类没有CS_DBLCLKS风格
devzhao 2003-12-29
  • 打赏
  • 举报
回复
建议:
要实现你所描述的功能,建议你的视图类从CListView派生,实现起来比较简单,
响应以下消息:
NM_DBCLICK 左键双击
NM_CLICK 左键单击
NM_RCLICK 右键单击
zhangmingfei 2003-12-29
  • 打赏
  • 举报
回复
回复人: easyrock() ( ) 信誉:93 2003-12-29 09:29:00 得分:0


应为你的类没有CS_DBLCLKS风格


CPhonesListBox, CListBox
可是我的类是从CListBox下继承来的 应当支持双击啊

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧