0

嗨,如果有人知道如何在 MFC 中使用就地警告消息,您能否分享信息。有没有办法使用它或者有什么我们可以直接在mfc中使用的控件。

就地警告消息:带有适当图标的警告消息和警告消息将显示在同一对话框中。

我在 msdn 中找到了一些关于就地消息的信息

msdn 词汇表中的就地消息

不同的消息

请分享信息。

问候

哈拉纳德

4

2 回答 2

4

从您的评论来看,您似乎将此称为就地消息:

   

当然,具有讽刺意味的是,这在您链接到的 MSDN 页面上被标记为不正确的示例。特别建议您提供更具体的建议,例如使用密码保护投影仪,以使无意的观众看不到演示文稿。然而,抛开这一点...

这在 MFC 中很容易实现。只需使用两个STATIC控件即可完成,一个在左侧显示图标(在本例中为警告三角形),而右侧较长的一个显示静态文本(警告消息本身)。如果您使用对话框编辑器创建窗口,只需将两个控件拖到对话框窗口并相应地排列它们即可。没有一个单独的控件可以封装此功能,但考虑到使用两个单独的静态控件来实现这一点已经非常简单,期望会有这样的控件是很愚蠢的。

要加载内置图标,例如上面显示的警告三角形,您可以使用该LoadStandardIcon功能并指定IDI_WARNING为图标名称。此处提供了完整的值列表。显然,您也可以加载您选择的任何图标;只需将其添加到项目的资源中。

由于您可能希望仅在适用时才显示警告消息,因此您需要根据用户在对话框中采取的操作以编程方式隐藏和显示这两个控件。标准ShowWindow成员函数使这成为一项微不足道的任务。在两个静态控件上调用它,SW_SHOW如果您希望警告消息可见,则作为其参数传递。否则,您可以指定SW_HIDE隐藏控件。

于 2011-02-15T23:58:35.507 回答
0

作为您尝试做的事情的替代方案;您可以将您的消息放在对话框中:

int nResult = AfxMessageBox("Save changes to Current Job?", MB_YESNO);

    if (nResult == IDYES)
    {
        OnFileSave();
    } 
于 2011-12-16T16:23:10.000 回答