如何在属性页上加datagrid
在dlg里面挺正常的,但是在放在属性页里面就整个属性页不见了!         m_sheet.AddPage(&m_edit_dlg);
m_sheet.AddPage(&m_edit_bid_dlg);
BOOL X = m_sheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);
RECT rect;
m_sheet.GetWindowRect(&rect);
m_sheet.SetWindowPos(this, 20, 10, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);

解决方案 »

  1.   

    不会吧?你可以将你错误的程序发给我看看吗?[email protected]
      

  2.   

    这个代码是在dll里面,还要带个exe,所以比较麻烦.
      

  3.   

    那看你上面的代码确实没有什么问题!呵呵,如果是在DLL中使用这个属性页的话那么可以参考:
    http://www.vckbase.com/document/viewdoc/?id=543
      

  4.   

    http://www.vckbase.com/code/winsys/dll/vcDlgDLL.zip
      

  5.   

    测试过了.属性页上加datagrid和exe或者dll并没有关系
      

  6.   

    COM的::CoInitialize(NULL);主要是注册COM,这个可能涉及到线程中的相关的数据的列集和散集。导致m_Rs.Open(_T("select * from test;"))失败。呵呵
    也许CPropertyPage对Dialog进行了线程级的封装导致的!MFC太渊博了、太神秘了!
    再就是你使用封装的ADO类不是很好!
      

  7.   

    在你的APP类的InitInstance函数中添加一句CoInitialize(NULL);
      

  8.   

    如果在dll我要在什么地方加这句话呢?
      

  9.   

    extern "C" __declspec(dllexport) void Show(char *username,char *password)
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    CoInitialize(NULL);
    strcpy(loc_username,username);
    strcpy(loc_password,password);

    CTest test;
    test.DoModal ();
    }
    这个是我导出的函数
      

  10.   

    你在DLL的入口函数处添加试试!