是否可以使用 WINAPI 或 GDI+ 在 C++ 中创建 CommandLink 对话框?
Posted
技术标签:
【中文标题】是否可以使用 WINAPI 或 GDI+ 在 C++ 中创建 CommandLink 对话框?【英文标题】:Is it possible to create CommandLink dialog boxes in C++ with WINAPI or GDI+? 【发布时间】:2016-06-14 18:05:46 【问题描述】:这就是我想要达到的结果。我知道它被称为“CommandLink”,我已经用谷歌搜索了一段时间,只找到 C# 的东西,没有纯 C++ 的东西。 我想知道是否有可能做这样的事情,如果可以,如何......
提前感谢您的任何帮助!
【问题讨论】:
是的,这是可能的,但您的要求太宽泛,不适合 Stack Overflow。 @CaptainObvlious:我意识到这实际上是一个不好的问题格式,但如果你能告诉我正确的选择,你会很高兴的。谢谢! ...如果您花一些时间来改进您的帖子,那么您会让每个人都开心。 @CaptainObvlious 我在google上没有找到任何代码,一些令人上瘾的几句话不会改变它,就像在汤里加水一样......毫无意义! 【参考方案1】:您正在查看的对话框是在 Vista 中引入以取代 MessageBox()
的 Task Dialog(事实上,该图像中的文字说明了很多!)。
TaskDialog()
函数为您提供对话框的最基本功能,但不是您要求的功能。为此,您将需要TaskDialogIndirect()
。此函数采用TASKDIALOGCONFIG
structure。 dwFlags
成员的 TDF_USE_COMMAND_LINKS
标志可以满足您的需求。
您也可以单独拥有Command Link;它只是一个standard BUTTON
control,并应用了BS_COMMANDLINK
style。见How to Create a Command Link。
【讨论】:
我在链接 ComCtl32.lib 时遇到错误,它告诉我“序号 345 无法位于动态链接库 COMCTL32.dll 中” 我有一个从这里复制的清单文件:msdn.microsoft.com/en-us/library/bb756938.aspx @Bafforasta 请将脏话控制在最低限度。 @Kyll 抱歉,这让我很紧张,代码没有任何明显的原因无法正常工作...... 不要将 Common Controls 6 添加到清单文件,而是尝试将链接器编译指示添加到源代码 (.cpp) 文件。在这个页面找到它:msdn.microsoft.com/en-us/library/windows/desktop/… 它以#pragma comment(linker...
开头,但它太大了,无法添加到此评论中。另外,您没有使用 Windows XP,对吧?以上是关于是否可以使用 WINAPI 或 GDI+ 在 C++ 中创建 CommandLink 对话框?的主要内容,如果未能解决你的问题,请参考以下文章