Win10系列:VC++调用自定义组件3
2017-03-30 13:19
267 查看
(3)C++/CX调用WinRT组件
在解决方案资源管理器中右键点击解决方案图标,选择添加一个Visual C++的Windows应用商店的空白应用程序项目,并命名为FileCPP。接着右键点击FileCPP项目的项目名,选择"引用",弹出"FileCPP属性页"窗口,在此窗口中单击"添加新引用"按钮,并在出现的"添加引用"窗口中勾选"解决方案"的"项目"栏中的FilePickerComponent选项,然后单击"确定"按钮,将名为"FilePickerComponent"的WinRT组件引入到项目中。
接着打开MainPage.xaml文件,指定Grid元素的Background属性为"White",并在此元素中添加如下的代码,用于布局前台界面。
<TextBlock FontSize="40" Foreground="Black" HorizontalAlignment="Left" Height="72" Margin="317,0,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="774" Text="C++/CX中调用WinRT组件"/>
<ScrollViewer Width="774" Margin="317,72,275,352" HorizontalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" BorderBrush="LightBlue" BorderThickness="3">
<TextBlock x:Name="FileText" FontSize="35" TextWrapping="Wrap" Foreground="Black"/>
</ScrollViewer>
<Button x:Name="OpenFileButton" Click="PickFileClick" Content="打开文件" Margin="502,451,0,240" Foreground="Black" BorderBrush="LightBlue" BorderThickness="3" FontSize="35" Height="77" Width="178"></Button>
<Button x:Name="ShowFileButton" Click="ShowFileClick" Content="读取文件" Margin="740,451,0,240" Foreground="Black" BorderBrush="LightBlue" BorderThickness="3" FontSize="35" Height="77" Width="178"></Button>
在上面的代码中,添加一个TextBlock控件和两个按钮,其中TextBlock控件用来显示读取到的文件中的内容。两个按钮分别为"打开文件"和"读取文件","打开文件"按钮用来通过文件打开选取器选择文件,"读取文件"按钮用来将读取到的文件内容显示到TextBlock控件中。
布局了前台界面以后,接下来打开MainPage.xaml.h头文件,并添加如下的代码:
private:
//声明成员变量filePicker
FilePickerComponent::FilePicker^ filePicker;
public:
//打开文件
void PickFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
//显示文件内容
void ShowFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
在上面的代码中,使用private关键字声明一个FilePicker类型的私有成员变量filePicker,然后使用public关键字声明两个公有的函数PickFileClick和ShowFileClick,分别用于读取文件和将读取到的文件内容显示到前台界面中。
添加了上述的代码以后,接下来打开MainPage.xaml.cpp源文件,在MainPage构造函数中创建FilePicker类的对象filePicker。代码如下所示:
MainPage::MainPage()
{
InitializeComponent();
//创建FilePicker类的对象
filePicker = ref new FilePickerComponent::FilePicker();
}
接下来在MainPage.xaml.cpp源文件中,分别为"打开文件"按钮和"读取文件"按钮添加单击事件处理函数PickFileClick和ShowFileClick,具体代码如下所示:
//打开文件
void FileCPP::MainPage::PickFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//调用FilePicker类中的ReadFile函数
filePicker->ReadFile();
}
//将文件内容显示到TextBlock控件中
void FileCPP::MainPage::ShowFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
FileText->Text = filePicker->FileContent;
}
在PickFileClick函数中调用filePicker对象的ReadFile函数来读取文件,接着在ShowFileClick函数中将filePicker对象的FileContent属性赋值给TextBlock控件的Text属性,把读取到的文件内容显示到TextBlock控件中。
运行FileCPP项目,单击"打开文件"按钮,在文件打开选取器窗口中选取一个文本文件Text.txt,接着单击"读取文件"按钮将文本文件中的内容显示到TextBlock控件中,如图20-27所示。
![](https://images2015.cnblogs.com/blog/41633/201703/41633-20170330131853311-220306757.png)
图20-27 C++/CX调用WinRT组件
在解决方案资源管理器中右键点击解决方案图标,选择添加一个Visual C++的Windows应用商店的空白应用程序项目,并命名为FileCPP。接着右键点击FileCPP项目的项目名,选择"引用",弹出"FileCPP属性页"窗口,在此窗口中单击"添加新引用"按钮,并在出现的"添加引用"窗口中勾选"解决方案"的"项目"栏中的FilePickerComponent选项,然后单击"确定"按钮,将名为"FilePickerComponent"的WinRT组件引入到项目中。
接着打开MainPage.xaml文件,指定Grid元素的Background属性为"White",并在此元素中添加如下的代码,用于布局前台界面。
<TextBlock FontSize="40" Foreground="Black" HorizontalAlignment="Left" Height="72" Margin="317,0,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="774" Text="C++/CX中调用WinRT组件"/>
<ScrollViewer Width="774" Margin="317,72,275,352" HorizontalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" BorderBrush="LightBlue" BorderThickness="3">
<TextBlock x:Name="FileText" FontSize="35" TextWrapping="Wrap" Foreground="Black"/>
</ScrollViewer>
<Button x:Name="OpenFileButton" Click="PickFileClick" Content="打开文件" Margin="502,451,0,240" Foreground="Black" BorderBrush="LightBlue" BorderThickness="3" FontSize="35" Height="77" Width="178"></Button>
<Button x:Name="ShowFileButton" Click="ShowFileClick" Content="读取文件" Margin="740,451,0,240" Foreground="Black" BorderBrush="LightBlue" BorderThickness="3" FontSize="35" Height="77" Width="178"></Button>
在上面的代码中,添加一个TextBlock控件和两个按钮,其中TextBlock控件用来显示读取到的文件中的内容。两个按钮分别为"打开文件"和"读取文件","打开文件"按钮用来通过文件打开选取器选择文件,"读取文件"按钮用来将读取到的文件内容显示到TextBlock控件中。
布局了前台界面以后,接下来打开MainPage.xaml.h头文件,并添加如下的代码:
private:
//声明成员变量filePicker
FilePickerComponent::FilePicker^ filePicker;
public:
//打开文件
void PickFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
//显示文件内容
void ShowFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
在上面的代码中,使用private关键字声明一个FilePicker类型的私有成员变量filePicker,然后使用public关键字声明两个公有的函数PickFileClick和ShowFileClick,分别用于读取文件和将读取到的文件内容显示到前台界面中。
添加了上述的代码以后,接下来打开MainPage.xaml.cpp源文件,在MainPage构造函数中创建FilePicker类的对象filePicker。代码如下所示:
MainPage::MainPage()
{
InitializeComponent();
//创建FilePicker类的对象
filePicker = ref new FilePickerComponent::FilePicker();
}
接下来在MainPage.xaml.cpp源文件中,分别为"打开文件"按钮和"读取文件"按钮添加单击事件处理函数PickFileClick和ShowFileClick,具体代码如下所示:
//打开文件
void FileCPP::MainPage::PickFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//调用FilePicker类中的ReadFile函数
filePicker->ReadFile();
}
//将文件内容显示到TextBlock控件中
void FileCPP::MainPage::ShowFileClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
FileText->Text = filePicker->FileContent;
}
在PickFileClick函数中调用filePicker对象的ReadFile函数来读取文件,接着在ShowFileClick函数中将filePicker对象的FileContent属性赋值给TextBlock控件的Text属性,把读取到的文件内容显示到TextBlock控件中。
运行FileCPP项目,单击"打开文件"按钮,在文件打开选取器窗口中选取一个文本文件Text.txt,接着单击"读取文件"按钮将文本文件中的内容显示到TextBlock控件中,如图20-27所示。
![](https://images2015.cnblogs.com/blog/41633/201703/41633-20170330131853311-220306757.png)
图20-27 C++/CX调用WinRT组件
相关文章推荐
- Win10系列:VC++调用自定义组件1
- Win10系列:VC++调用自定义组件2
- Win系列:VC++编写自定义组件
- SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)
- Android自定义组件系列【8】——遮罩文字动画
- 第二十三节: EF性能篇(三)之基于开源组件 Z.EntityFrameWork.Plus.EF6解决EF性能问题 第四节:一些指令总结 定时调度系列之Quartz.Net详解 第十七节:易混淆的概念(静态和非静态、拆箱和装箱) 那些年我们一起追逐的多线程(Thread、ThreadPool、委托异步调用、Task/TaskFactory、Parallerl、async和await)
- JSF2自定义组件编程系列 第五部分
- JSF2自定义组件编程系列 第二部分
- 枫叶天空Cocos2d-x3.0系列教程三 ui教程3 自定义组件和使用CocoStudio UI编辑器
- 《WF编程》系列之39 - 自定义活动:继承法与活动组件
- VC中程序调用Js自定义函数的注意事项
- Flex自定义组件、皮肤,并调用
- C# 互操作性入门系列(四):在C# 中调用COM组件
- Win10中VC2013安装Unit test组件出现问题解决方案
- JSF2自定义组件编程系列 第一部分
- Win10系列:VC++文件选取
- Win10系列:VC++绘制几何图形2
- VC中ocx组件调用方法
- JSF2自定义组件编程系列 第五部分
- JSF2自定义组件编程系列 第八部分