如何在 Visual C++ 中显示我自己选择的消息框图标或我自己的 PNG

Posted

技术标签:

【中文标题】如何在 Visual C++ 中显示我自己选择的消息框图标或我自己的 PNG【英文标题】:how can I show messagebox icon of my own choice or my own PNG in Visual C++ 【发布时间】:2017-03-07 09:52:09 【问题描述】:

我想讨论一下Visual C++ MessageBox ICONs | AfxMessageBox。 我正在使用 Visual Studio 2015visual c++ mfc based 项目。我想显示我自己的 PNG 图像或其他图标来代替 MB_ICONASTERICKS、MB_ICONWARNING、MB_ICONINFORMATION 等。等待答复!

【问题讨论】:

MessageBox 提供一组固定的图标。如果您需要带有自定义图标的对话框,则不能使用MessageBox。你必须自己实现。 请问您能告诉我该怎么办吗?该怎么办? & 怎么做? (等待) 通过资源编辑器、手动编辑资源脚本或通过代码实现对话框。如果您需要分步指南,Stack Overflow 是错误的地方。如果您有特定 编程问题,您可以提出这个问题。就目前而言,这个问题对于问答形式来说太宽泛了。 :/ 你能告诉我哪个是合适的地方吗? 【参考方案1】:

MessageBox 功能提供标准选项,您可以在一组特定的按钮和一组特定的图标之间进行选择。

如果您的应用程序的行为偏离此规范,您必须编写自己的代码来执行此操作。这是一篇详细演示该技术的优秀文章:XMessageBox - CodeProject.com。您应该能够根据自己的需要开箱即用地使用它。

【讨论】:

这本质上是一个仅链接的答案。考虑改为评论。 我认为我的答案是第一句话——这表明使用原始 API 无法做到这一点。该链接用于指导 OP 采取替代行动。 @Mudassar 正如我和其他人所指出的,它不能以您期望的方式“解决”。我提供了一篇文章的链接,该链接可以满足您的需求。 @Vada Poche,我搞错了。我后来试过了,它就奏效了:)谢谢! :)

以上是关于如何在 Visual C++ 中显示我自己选择的消息框图标或我自己的 PNG的主要内容,如果未能解决你的问题,请参考以下文章

如何在Visual Studio中选择C++和C#的编译器版本

如何在Visual Studio和CodeBlocks中反编译C++代码

如何在 c++ 语言的 Visual Studio 代码编辑器中突出显示错误?

选择在 Visual C++ 2010 中使用哪个主函数

如何在 Visual Studio 中将用 C 编写的源代码从另一个项目包含到我自己的 C++ 项目中

如何在Visual Studio中选择C++和C#的编译器版本