我是新手,最近在写扩展DLL的程序,还望各位指教
CPage,CShow都在DLLZ中
//Cpage.h
Class Afx_EXT_Class Cpage:public CPropertySheet
{
.....
  CListCtrl  m_listDisp;
   //其他控件变量
.....
}//CShow.cppvoid CShow::QueryDB()
{
//在此函数我想把数据库的值显示到Cpage的 list control 中去
???怎样获得他的句柄啊或者还有什么其他方法啊,在如果CShow 在exe 中可以用CListCtrl *plist=(ClistCtl *) theApp->m_pMainWnd.GetDlgItem(IDC_LIST)就可以了,然后往控件写值,但是,我此处在DLL中怎么用啊

解决方案 »

  1.   

    通过参数传过来是行啊!我没有写清楚,这里是静态函数 CShow::QueryDB(dbreceive *presult) 是公司库函数,要更改要更改许多函数,肯定不能改动的啊
      

  2.   

    首先你需要的是什么?dll中list的句柄吗?这个你可以通过接口来获取另外CShow::QueryDB(dbreceive *presult) 看名字应该只是查询数据库返回结果吧?拿到结果后怎样显示还不容易?
      

  3.   

    可是QueryDB是个回调函数的功能函数,只能在这里面得到值,在Cpage的属性页中list control  控件中显示,我是想获得Cpage句柄,然后访问Cpage里面的成员m_listDisp;可是不行,HWND=0X00000能不能重绘啊,CREATE 个list control,可是pParent 我把他设置为New个Cpage指针。能这样用吗 ?
    或者大家有什么好方法啊!
    高分求救,我卡住了 
      

  4.   

    怎么用啊 ,能给个列子吗?可以获得属性页CPAGE3的句柄吗
      

  5.   

    先通过Cpage拿到它的指针等,然后有Property Sheet去控制它所AddPage加进来的页面,当Page3 OnSetActive时,由对话框去控制ListCtrl
      

  6.   

    把theApp->m_pMainWnd改成AfxGetMainWnd()。