Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应

Visual Studio 11 消费者预览版支持使用 C++ 创建 Metro 风格的应用程序,这对广大本地应用开发者来说是一个大消息。这里我们来创建一个非常简单的 Metro 应用。

启动 Visual Studio 并通过 Visual C++>Windows Metro Style>Blank Application 模板创建一个项目.

Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应

“Hello world”

打开 BlankPage.xaml 文件,滚动到代码底部并定位 Grid 元素,然后插入一个 TextBlock,代码如下:

 

1   <Grid Background="{StaticResource ApplicationPageBackgroundBrush}">  

2       <TextBlock Text="Hello world" Margin="12,20" Style="{StaticResource SubheaderTextStyle}"/>  

3   </Grid>  

Margin 属性是文本离边界之间的距离值,这里我们设置左边距离 12px,顶部距离 20px。你也可以修改 FontSize 属性值来改变字体大小。

如果你现在运行应用程序,那将会是一个黑屏上显示 Hello world 文本在左上角。你可以通过 BlankPage.xaml 来定义应用的 UI 外观,但代码逻辑存放在 BlankPage.xaml.h 和 BlankPage.xaml.cpp 文件中,这两个文件和 BlankPage.xaml 放在同一个目录。

这是一个普通的 C++ 类,但有所不同,有一些新的扩展语法,成为 C++/CX,意思是 Component extensions. 纯 C++ 不能用于开发 Metro 应用,但使用纯 WinRT 会让代码变得很笨重,因为 Metro 世界所有都是 COM 对象。C++/CX 扩展可以让 C++ 程序员无需了解太多非标准的扩展。通过 AddRef 和 Release 的调用可隐藏更多的技术细节。

C++ to XAML

你可以通过添加 x:Name="txtHello" 来为在 XAML 定义的 TextBlock 取个名字,并可设置值。然后你就可以使用如下代码来操作该文本元素。将下面代码添加到 BlankPage::OnNavigatedTo 方法:

 

1   txtHello->Text = "Hello world!!!";  

运行程序,你将看到如下图所示的结果:

Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应


虽然上述例子并不值得太激动,不过想想你当时学习 Win32、MFC 和 WTL 开发,这已经是非常简单了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psszz.html