在一个大的按钮(button)区域内放一个文本编辑框(edit),运行程序后编辑框不可见,如何使得编辑框始终可见(就是看见白色的编辑框界面),给个思路或者代码

解决方案 »

  1.   

    Create, 将Edit做为Button的子窗口。
      

  2.   

    DentistryDoctor,可以说的详细点吗?我是个新手
      

  3.   

    自己派生CButton类,然后在派生类的OnCreate函数中用Create函数动态创建编辑框
      

  4.   

    ctrl+d改一下顺序,这样edit的按钮就会最前面显示了`
      

  5.   

    livedeal说的不行,会给覆盖
    我现写个派生类看看
      

  6.   

    qqwwing,是继承后重写Create吗?CButton里没有OnCreate
      

  7.   

    m_edit.SetParent(&m_button);
    m_edit.MoveWindow(0,0,100,20);
      

  8.   

    写了一个CButton的派生类,在里面动态创建一个CEdit,但点击button后,edit就被button覆盖了.
    我想通过button的点击响应消息来显示edit,有点问题版本1:
    OnMyButton()
    {
       m_myButton.m_wndEdit.ShowWindow(WS_SHOW);
    }///单击button后,edit还是被button覆盖版本2:
    OnMyButton()
    {
       AfxMessageBox("");
       m_myButton.m_wndEdit.ShowWindow(WS_SHOW);
    }//单击button,再点掉出来的messageBox,edit正常显示,没有被覆盖掉这是怎么回事呢?有没有其它方法          
      

  9.   

    m_wndEdit.SetParent(&m_myButton);
    m_wndEdit.MoveWindow(0,0,100,20);OnMyButton()
    {
       m_myButton.Invalidate();
    }
    编辑框设置成NoBorder
    或者:OnMyButton()
    {
       m_myButton.m_wndEdit.Invalidate();
    }
      

  10.   

    int CTButton::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
        if (CButton::OnCreate(lpCreateStruct) == -1)
    return -1;

        // TODO: Add your specialized creation code here
        m_pEdit = new CEdit;
        m_pEdit->Create(WS_CHILD|WS_VISIBLE, CRect(20, 20, 40, 40), this, 1000);
    return 0;
    }void CTButton::PreSubclassWindow() 
    {
        // TODO: Add your specialized code here and/or call the base class
        m_pEdit = new CEdit;
        m_pEdit->Create(WS_CHILD|WS_VISIBLE, CRect(20, 20, 40, 40), this, 1000);
    CButton::PreSubclassWindow();
    }LRESULT CTButton::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
        if (message == WM_LBUTTONUP
            || message == WM_LBUTTONDOWN
            || message == WM_LBUTTONDBLCLK)
        {
            m_pEdit->Invalidate(TRUE);
        }
    return CButton::WindowProc(message, wParam, lParam);
    }