我在单文档应用程序中调用一个对话框DLL,调用DLL时,可以调出对话框并显示对话框,但是不能操作对话框,如果切换一下其他的窗口,对话框就可以操作了,在调用对话框的DLL中我加了AFX_MANAGE_STATE(AfxGetStaticModuleState());请问怎样解决?谢谢,DLL中的代码如下:
extern "C" BOOL WINAPI cmAddResource(CString strName,int nCol)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CAddResourceDlg m_AddDlg;
m_AddDlg.GetName(strName);
if ( m_AddDlg.DoModal() == IDOK )
{
nLine = m_AddDlg.nNumber;
nRow = m_AddDlg.nRow;
int z = 0;
for (int nIndex=0;nIndex<nLine;nIndex++)
{
nCount++;
itoa(nCount,cItem,10);
arrItem.Add(cItem);
for (int m=0; m<nRow; m++)
{
arrItem.Add(m_AddDlg.arrRecord[z]);
z++;
}
}
if ( !m_Data.AddResource(strName,arrItem,nRow) )
{
AfxDaoTerm( );
return FALSE;
}
}
AfxDaoTerm( ); return TRUE;
}
extern "C" BOOL WINAPI cmAddResource(CString strName,int nCol)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CAddResourceDlg m_AddDlg;
m_AddDlg.GetName(strName);
if ( m_AddDlg.DoModal() == IDOK )
{
nLine = m_AddDlg.nNumber;
nRow = m_AddDlg.nRow;
int z = 0;
for (int nIndex=0;nIndex<nLine;nIndex++)
{
nCount++;
itoa(nCount,cItem,10);
arrItem.Add(cItem);
for (int m=0; m<nRow; m++)
{
arrItem.Add(m_AddDlg.arrRecord[z]);
z++;
}
}
if ( !m_Data.AddResource(strName,arrItem,nRow) )
{
AfxDaoTerm( );
return FALSE;
}
}
AfxDaoTerm( ); return TRUE;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货