zoukankan      html  css  js  c++  java
  • Win10系列:VC++调用自定义组件3

    (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所示。

    图20-27 C++/CX调用WinRT组件

  • 相关阅读:
    门头沟PHP,java编程兴趣小组欢迎大家的加入。
    mysql数据库怎么存入emoji表情,更改utf8mb4后为什么出现全是问号
    Laravel发送邮件配置-问题解决
    php版本低更换php版本-问题以解决
    极光客户互动云java post请求
    【问题解决】增加https后 phpcms 分页错误
    阿里云阿里免费ssl wap网站在手机微信、手机浏览器无法访问
    Kali Linux on Android # 实测:小米2s离线安装Kali Linux
    3-1 LVS-NAT集群
    使用LVM方式安装Ubuntu 16.04
  • 原文地址:https://www.cnblogs.com/finehappy/p/6645688.html
Copyright © 2011-2022 走看看