我创建了一个AtiveX控件,是SysTabControl32类型,加载到VC和网页中都没问题,但加载到.net制作的窗体中就无法实现自绘制功能了。Tab上的标题就都不显示了。哪位高人见过这种问题,指点一下!

解决方案 »

  1.   

    .net制作的窗体中
    ??这个窗体把自绘消息给劫持了,没传给你的tab窗口。 
      

  2.   

    .net制作的窗体?
    是C#还是VC++的应用程序么?说的清楚一点。另外加上一些代码啊 不然光这么干想怎么想得出来啊?
      

  3.   

    LPTCITEM pTcItem = new TCITEM;
    pTcItem->mask = TCIF_PARAM | TCIF_TEXT;
    CString strSpace = " ";
    CString strText;
    int nIndex = 0; for (int i = 0; i < m_pData->m_Tabs.GetCount(); i++) 
    {
    CTab* pTab = m_pData->m_Tabs.GetAt(i);
    strText = strSpace + pTab->m_strName + strSpace;
    pTcItem->lParam = nIndex;
    pTcItem->pszText = (LPTSTR)(LPCTSTR)strText;
    m_Items.Add(pTab->m_strName);
    SendMessage(TCM_INSERTITEM, nIndex, (LPARAM)pTcItem);
    if (pTab->m_strType == "Grid")
    m_nGrid = nIndex; nIndex++;
    } strText = " 显示日志 ";
    pTcItem->lParam = nIndex;
    pTcItem->pszText = (LPTSTR)(LPCTSTR)strText;
    m_Items.Add(strText);
    SendMessage(TCM_INSERTITEM, nIndex, (LPARAM)pTcItem);
    m_nLog = nIndex;
    delete pTcItem;
    这是我创建Tab的代码,在VC和IE下调用控件,执行这些代码就会触发ON_MESSAGE(OCM_DRAWITEM, OnOcmDrawItem)
    这个消息,但在C#创建的窗口中就不行。