我做的是基于对话框的应用程序,把这个控件拖进来之后控制不了,求帮助

解决方案 »

  1.   

    这个控件是VB带的(当然VC也能用),文档在MSDN中VB控件参考的部分有,而且还是中文的。
      

  2.   

    这个控件 拖进来 后 ,不是 有 h 和cpp 文件吗。
    查看 他的 方法。
      

  3.   

    给段初始化例子:// fill grid header
    long wid=0;
    char Title[10][10]={_T("行 号"),
        _T("字 串1"),
        _T("字 串2"),
        _T("字 串3"),
        _T("字 串4"),
        _T("字 串5"),
        _T("字 串6"),
        _T("字 串7"),
        _T("字 串8"),
        _T("字 串9")};
    m_Grid.SetRow(0);
    int i;
    int cols=m_Grid.GetCols();
    for (i=0;i<cols;i++)
    {// col
    if (i==0) wid=600;
    else      wid=6500;
    m_Grid.SetCol(i);
    m_Grid.SetColWidth(i,wid);
    m_Grid.SetColAlignment(i,0);
    m_Grid.SetText(Title[i]);
    }
    // 内容:BOOL CEditStrDlg::FillGrid()
    {
    CMainFrame   *pMain=(CMainFrame*)AfxGetMainWnd();
    CEditStringDoc  *pDoc=(CEditStringDoc *)pMain->GetActiveDocument();
    m_OriginText.RemoveAll();
    int  total=pDoc->m_TextArray.GetSize();
    CString OneLine;
    CStringArray Str10;//5->10
    int GridRow=1;
    for (int jj=0;jj<total;++jj)
    {
    m_bChanged.Add(0);
    //
    OneLine=pDoc->m_TextArray[jj];
    if(m_MultiLine) m_bOpenLine.Add(1);
    else m_bOpenLine.Add(0);
    //afxDump<< "Line=" << jj+1 << " M="<< m_bOpenLine[jj]<<"\n" ;
    if(OneLine.IsEmpty()) continue;
    if((OneLine.GetAt(0)=='/') && (OneLine.GetAt(1)=='/')) continue;
    Str10.RemoveAll();
    //OneLine="qedvwqgfrbhwr \"111111111111\"   \"2222222\" \"33\" \"444\" \"55555\" ";
    if (!SeperateLine(OneLine,Str10))
    {
    continue;
    }
    m_Grid.SetRow(GridRow);// row1...
    m_Grid.SetCol(0);
    char line[20];
    sprintf(line,"%5d",jj+1);
    m_Grid.SetText(line);// line number

    int cols=m_Grid.GetCols()-1;
    int subs=Str10.GetSize();
    if(subs>cols)
    {
    subs=cols;
    CString prompt;
    prompt.Format("行%d中的子串大于9个,第10个以后将被忽略!",line);
    AfxMessageBox(prompt);
    }
    for(int kk=0;kk<subs;kk++)
    {
    if(kk==0) m_OriginText.Add(Str10[0]);
    m_Grid.SetCol(kk+1);
    if(!Str10[kk].IsEmpty()) m_Grid.SetText(Str10[kk]);
    }
    //
    GridRow++;
    if(GridRow>1000) 
    {
    AfxMessageBox("文件大于1000行!");
    return FALSE;
    }
    }
    // selected
    if(GridRow <=1 ) return FALSE;
    m_Grid.SetRows(GridRow);
    m_Grid.SetRow(1);
    m_Grid.SetCol(1);
    m_Grid.SetFocus();
    return TRUE;
    }
      

  4.   

    我是从工具箱拖进来的这个控件,拖进来之后都需要做哪些工作,我按照以前添加Dll类型空间的方法试了不行,现在不知道该怎么操作了。
      

  5.   

    谁能告诉我一下在VS2008中引用OCX控件的详细操作方法吗
      

  6.   

    拖进来后 关联成:
    m_Grid
      

  7.   

    关联我会,我是想知道在MFC应用程序中使用OCX控件的详细操作步骤及方法
      

  8.   

    “使用OCX控件的详细操作步骤及方法”
    能拖进来, 就 成功 一半了。
    剩下就是 看 向导 产生 的 h 和 cpp 了。
      

  9.   

    麻烦有谁能说一下在MFC应用程序中使用OCX控件的详细操作步骤及方法吗