1

在我的 STRINGTABLE 中,我有以下内容:

在此处输入图像描述

在我使用的代码中,TaskDialogIndirect我可以将鼠标悬停在AFX_IDS_APP_TITLE

在此处输入图像描述

我明白这一点......如果找不到资源,它默认为可执行文件名称。目前这就是我得到的:

在此处输入图像描述

然而,当我使用CTaskDialog构造函数时,我得到了正确的标题:

在此处输入图像描述

因为TaskDialogIndirect我正在使用:

sConfig.hInstance = AfxGetInstanceHandle();

我也试过:

sConfig.hInstance = AfxGetResourceHandle();

为什么会这样?

4

1 回答 1

0

当您查看HINSTANCEin 的定义时,TASKDIALOGCONFIG它说:

处理包含由pszMainIconpszFooterIcon成员标识的图标资源,以及由pszWindowTitlepszMainInstructionpszContentpszVerificationTextpszExpandedInformationpszExpandedControlTextpszCollapsedControlTextpszFooter成员标识的字符串资源的模块。

提示是当它声明pszWindowTitle时!当我将它加载AFX_IDS_APP_TITLE到 aCString时,我没有在结构中分配它。我需要:

sConfig.pszWindowTitle = strTitle.GetString(); 

现在很好:

在此处输入图像描述

于 2021-02-23T10:32:51.613 回答