首先先感谢下面提供的画图源码,很好很全面的MFC 画图源码。
TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting)https://blog.csdn.net/scutedu/article/details/52935133
我按照一步步写了代码,然后在启动的时候一直崩溃,自己查看代码发现create时hwnd一直为0x000000,一直以为是程序的问题调查了很久。
后来同事提醒,我们是把写的程序进行封装然后调用dll的,原先写的方式不行。使用的是AfxSetResourceHandle和AfxSetResourceHandle。
HINSTANCE save_hInstance = AfxGetResourceHandle();
AfxSetResourceHandle(theApp.m_hInstance);
BaseDlg *pDlg = new BaseDlg(pWnd);
if(pDlg != NULL)
{
pDlg->Create(BaseDlg::IDD,NULL);
pWnd->m_ChildForm =(CWnd*)pDlg;
pDlg=NULL;
}
AfxSetResourceHandle(save_hInstance);
我同事提醒后,我去换了下AFX_MANAGE_STATE(AfxGetStaticModuleState())来试,果断可以了。
AFX_MANAGE_STATE(AfxGetStaticModuleState());
BaseDlg *pDlg = new BaseDlg(pWnd);
if(pDlg != NULL)
{
pDlg->Create(BaseDlg::IDD,NULL);
pWnd->m_ChildForm =(CWnd*)pDlg;
pDlg=NULL;
}
查了下AFX_MANAGE_STATE(AfxGetStaticModuleState())具体参照下面详细讲解了,感谢这位。
从AFX_MANAGE_STATE(AfxGetStaticModuleState())说起https://blog.csdn.net/optman/article/details/332277
在此提醒自己多注意!