MFC项目

问题描述

我熟悉在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 (将#修改为@)