"MFC不就是用Hook把消息拦截下来再分派给各个类去处理" 
怎么讲??

解决方案 »

  1.   

    我并不懂MFC,只是以前学过几个月。
    没什么好感,它同样是微软的一个产品,一个让人看了就恶心的东西。
    可有时你不得不用它,因为windows是她家的嘛。
    我到现在还不明白,它给程序设计带来了什么好处,
    只给用它的人带来无尽的痛苦,和尽可能低的工作效率。
      

  2.   

    Belle(不会游泳的鱼....):以下就是MFC的源码,很多地方都会调用,比如 CWnd::CreateDlgIndirect()
    void AFXAPI AfxHookWindowCreate(CWnd* pWnd)
    {
    _AFX_THREAD_STATE* pThreadState = _afxThreadState.GetData();
    if (pThreadState->m_pWndInit == pWnd)
    return; if (pThreadState->m_hHookOldCbtFilter == NULL)
    {
    pThreadState->m_hHookOldCbtFilter = ::SetWindowsHookEx(WH_CBT,
    _AfxCbtFilterHook, NULL, ::GetCurrentThreadId());
    if (pThreadState->m_hHookOldCbtFilter == NULL)
    AfxThrowMemoryException();
    }
    ASSERT(pThreadState->m_hHookOldCbtFilter != NULL);
    ASSERT(pWnd != NULL);
    ASSERT(pWnd->m_hWnd == NULL);   // only do once ASSERT(pThreadState->m_pWndInit == NULL);   // hook not already in progress
    pThreadState->m_pWndInit = pWnd;
    }
      

  3.   

    xuejinlong(垃圾) :“只给用它的人带来无尽的痛苦,和尽可能低的工作效率。”这可能在刚开始或者深入探究其原理、代码的时候会发生。就像以前书上帮我们把未来描绘得非常美好,但当我们走进社会后,却失望了。 
      

  4.   

    我觉得MFC编程只有2点,
    1是知道WINDOWS OS是一个消息驱动模式系统,一切的一切都是消息;
    2是WINDOWS API函数,大部分被MFC包装了,只要知道的函数多,编的程序就有质量。不知道我说得对不对,哈哈哈哈哈哈后~~~欢迎讨论湖正
      

  5.   

    wlrwx():这样对待好像是可以应付一般的编程了。但当MFC调用一个::DefWindowProc(),我就摸不到门了!在这个函数中对一些消息,系统会做一些界面的绘画,我又不知其内部是如何实现的(MS的document不详细),当我不想它画时,真是一头雾水。痛!痛!痛!
      

  6.   

    MFC,你这个小妖精,怎么总让我得不到你,让我不能全部的了解你
      

  7.   

    superrg(秀华) :
    为了更好地使用工具,必需更深入地透视它。比较如铁锤和木锤,它们材质不同,适用场合不同,如果不了解,用铁锤去敲磁砖,必然会破之!
      

  8.   

    MFC只是起到减轻一下你编程的痛苦而已!
      

  9.   

    我也這樣認為,vc只了解Windows系統的一個窗口.因為好多好書都是用C/C++/VC 描述和舉例的.
      

  10.   

    建议好好去看看MFC深入浅出里关于FrameWork设计的一章(好像是第三章吧),虽然你也许一辈子也不会做一个FrameWork,但是这样绝对会改变你对MFC的看法。你将会看到整个世界的结构。呵呵。
      

  11.   

    <<深入浅出MFC>>真的有这么好吗?