【发布时间】:2021-07-11 02:24:34
【问题描述】:
我无法在 C++/WinRT 中创建一个简单的消息对话框。像“你点击了这个:按确定继续”这样简单的东西没什么特别的。在标准的 Windows API 中,您可以简单地编写 MessageBox() 并且新的弹出窗口将显示您可以单击确定的位置,您可以在 C++/CX 中执行类似的操作
auto messageDialog = ref new Windows::UI::Popups::MessageDialog("You clicked on the button!"); messageDialog->ShowAsync();
我尝试使用 IMessageDialog 和 ContentDialog 类但没有成功,似乎找不到一个例子来说明如何在不编写 Xaml 代码的情况下做到这一点,这对于我的特定项目来说似乎是不必要的像消息框这样简单的东西。也许我只是没有设置它们对吗?但是话又说回来,没有关于如何首先设置它的示例(在 C++ 中)。我错过了什么?
谢谢!
【问题讨论】:
-
您要使用原始 C++ 还是 C++/WinRT?
-
@SimonMourier 有什么区别?我对 Windows 运行时的想法还是很陌生。
-
您可以使用各种语言(C/C++/Rust/.NET 等)对 WinRT 进行编码,前提是您拥有适当的“绑定”,无论这对所讨论的语言意味着什么。对于 C++,最简单的是 C++/WinRT,它使用现代 C++ 使其更容易(基本上是微软推荐的 C++ 对抗 WinRT)。它实际上看起来与
Windows::UI::Popups::MessageDialog等完全一样,但没有像 C++/CX 那样的“异国情调”符号。不过你需要一个像样的 C++ 编译器。 -
哦,我明白了,是的,我正在使用 C++/WinRT。
-
并非所有 WinRT API 都是这种情况,但据我所知,您仍然需要一个 CoreWindow 才能让这个 MessageDialog API 工作。
标签: c++ windows-runtime