在对话框程序中,对话框的左半部分显示按钮等控件,右半部分的窗口能够在滚动条拖动下实现平滑的滚动。费死脑筋了, 大家帮帮忙啊,明天周末我不想再加班了!

解决方案 »

  1.   


    class CSplitterWnd : public CWnd
    {
     virtual void AddControl(CWnd* pControl,CSplitterWnd::DIRECTION dc = DIRECTION::dcRight)=0;
    //override CWnd Mouse message
    //use Captrue function in mouse down
     afx_msg OnMouseUp(WPARAM wParam, LPARAM lParam);
     afx_msg OnMouseDown(WPARAM wParam, LPARAM lParam);
     afx_msg OnMouseMove(WPARAM wParam, LPARAM lParam);
    //Draw the window
      void OnPaint(CDC* pDC);
    }
      

  2.   

    很简单的啊,左半部分,用资源编辑器,和普通对话框一样,右半部分,在资源编辑器中选放一个Picture控件,
    然后,在程序中定义一个继承自CWnd的类,此类内置滚动条,实现自己的滚动处理。
    最后,将此类的实例变量,子类化Picture控件.很容易的,具体你可以参考www.codeguru.com里的CBitmapCtrl类.
      

  3.   

    你只有自己加一个scroolbar控件了,用它来实现对话框内容的部分滚动
      

  4.   

    右边加一个带scrool的窗口不就可以了?
      

  5.   

    太复杂的界面推荐你用wtl实现,很方便
      

  6.   

    你确定那是对话框程序?!
    如果是,右边可以是一个继承的CEDIT
    也可能本身就是一个文档窗口,左边放了一个DialogBar