问题描述
我熟悉在WinCE 2013系统中使用Toradex Colibri T30模块的项目。 首先,我使用WinAPI做开发应用程序。 但是接下来,我开始使用MFC框架进行此操作。
我在CPageSetupDialog中遇到无法解决的外部问题:
“错误35错误LNK2019:无法解析的外部符号“ public:__cdecl CPageSetupDialog :: CPageSetupDialog(unsigned long,class CWnd *)””(?? 0CPageSetupDialog @@ QAA @ KPAVCWnd @@@@ Z)在函数“ public:int中引用__cdecl Druk :: Configuration(void)“(?Configuration @ Druk @@ QAAHXZ)C:\ Users \ tykab \ OneDrive \ Pulpit \ MTRACE_EKG_MFC \ MTRACE_MFC \ MTRACE_MFC \ DrukMFC.obj MTRACE_MFC”
我在下面通过pastebin.com将我的代码段和Configuration一起放置:
BOOL Druk::Configuration()
{
CPageSetupDialog psd;
PAGESETUPDLG m_psd;
ZeroMemory(&psd,sizeof(psd));
psd.m_psd.lStructSize = sizeof(psd); // psd is member of PAGESETUPDLG structure
psd.m_psd.hwndOwner = NULL;
psd.m_psd.hDevMode = NULL; // Don't forget to free or store hDevMode.
psd.m_psd.hDevNames = NULL; // Don't forget to free or store hDevNames.
psd.m_psd.Flags = PSD_INTHOUSANDTHSOFINCHES | PSD_MARGINS;
psd.m_psd.rtMargin.top = 2000;
psd.m_psd.rtMargin.left = 2000;
psd.m_psd.rtMargin.right = 2000;
psd.m_psd.rtMargin.bottom = 2000;
//psd.rtMinMargin.bottom = 5000;
lf_vertic.lfheight = 30; // is member of LOGFONT structure
lf_vertic.lfWidth = 0;
//lf.lfOrientation = 2700;
lf_vertic.lfEscapement = 0;
lf_vertic.lfUnderline = FALSE;
lf_vertic.lfWeight = FW_BOLD;
lf_horizont.lfheight = 30;
lf_horizont.lfWidth = 0;
//lf.lfOrientation = 2700;
lf_horizont.lfEscapement = 2700;
lf_horizont.lfUnderline = FALSE;
lf_horizont.lfWeight = FW_BOLD;
lf_exam_param.lfheight = 30;
lf_exam_param.lfWidth = 0;
lf_exam_param.lfEscapement = 2700;
lf_exam_param.lfUnderline = FALSE;
lf_exam_param.lfWeight = FW_norMAL;
hFontVertic = CreateFontIndirect(&lf_vertic);
hFontHorizont = CreateFontIndirect(&lf_horizont);
hFontExamParam = CreateFontIndirect(&lf_exam_param);
if (PageSetupDlg(&psd.m_psd ) == TRUE)
//if (IDOK == psd.DoModal())
{
memcpy(&dm,(DEVMODE *)(psd.m_psd.hDevMode),sizeof(DEVMODE));
lstrcpy(DriverName,((TCHAR *)((BYTE *)psd.m_psd.hDevNames + ((DEVNAMES *)psd.m_psd.hDevNames)->wDriverOffset)));
lstrcpy(DeviceName,((TCHAR *)((BYTE *)psd.m_psd.hDevNames + ((DEVNAMES *)psd.m_psd.hDevNames)->wDeviceOffset)));
lstrcpy(OutputName,((TCHAR *)((BYTE *)psd.m_psd.hDevNames + ((DEVNAMES *)psd.m_psd.hDevNames)->wOutputOffset)));
}
//error = CommDlgExtendedError();
return TRUE;
}
请问您是否看一下这段代码,并告诉我应该怎么做? 我认为问题在于未包含头文件或库(您知道哪个) 也许您知道我应该在代码中进行哪些更改以使其变得更好?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)