怎样在状态栏上添加CEdit控件??????使在CEit控件上可以输入。

解决方案 »

  1.   

    方法一:
    同意楼上说法
    方法二:
    创建CStatusCtrl m_wndStatusCtrl
    创建CEdit m_wndEdit;
    wndEdit.SetParent(&wndStatusCtrl);
    然后调用MoveWindow调整位置
      

  2.   

    参考int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
    return -1;

    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
    | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
    !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
    TRACE0("Failed to create toolbar\n");
    return -1;      // fail to create
    }
    // add edit box in the toolbar
    CToolBarCtrl &pTool = m_wndToolBar.GetToolBarCtrl();
    TBBUTTON tButton;
    ZeroMemory(&tButton, sizeof(TBBUTTON));
    tButton.fsStyle = TBSTYLE_SEP;
    tButton.idCommand = IDC_EDITBOX;
    pTool.InsertButton(pTool.CommandToIndex(ID_LIGHT), &tButton);
    CRect rcButton;
    pTool.GetItemRect(pTool.CommandToIndex(IDC_EDITBOX), rcButton);
    int nWidth = 50;
    for (int i = 0; i < nWidth / rcButton.Width(); i++)
    {
    pTool.InsertButton(pTool.CommandToIndex(ID_LIGHT), &tButton);
    }
    pTool.InsertButton(pTool.CommandToIndex(ID_LIGHT), &tButton);
    rcButton.right += nWidth;
    rcButton.bottom=50;
    m_Edit.CreateEx(WS_EX_CLIENTEDGE, "EDIT", "5000", WS_VISIBLE | WS_CHILD, rcButton, &pTool, IDC_EDITBOX); 
    if (!m_wndStatusBar.Create(this) ||
    !m_wndStatusBar.SetIndicators(indicators,
      sizeof(indicators)/sizeof(UINT)))
    {
    TRACE0("Failed to create status bar\n");
    return -1;      // fail to create
    } // TODO: Delete these three lines if you don't want the toolbar to
    //  be dockable
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndToolBar); return 0;
    }