Windows8 Split

Windows8 C++(Store) の Split App(XAML) です。

前田稔の超初心者のプログラム入門

Windows8

  1. ストア アプリのプロジェクトには、何種類かのテンプレートが用意されているので、これを利用する方法から学びましょう。
    次は Split App(XAML) をテンプレートとして使います。
    Windows8 のスタート画面から [Visual Studio for Windows 8] を起動します。
    [FILE] [New Project] から [Visual C++] を選択して、Split App(XAML) を選びます。

  2. 後は規定値(App1)で [OK] をクリックすると、プロジェクトが構築されてソースコードが表示されます。
    App1 が既に存在するときは、規定値が App2(App3) になります。
    そのまま右三角アイコンでコンパイル&実行します。
    規定値では Group Title:1 ~ Group Title:6 が整然と並んで表示されます。
    Group Title をクリックすると、そこに含まれる Item Title が表示されます。

  3. Split App の制御の流れです。
    最初の画面から「Group Title」をクリックすると「Item Title」に遷移します。
    App⇒ItemsPage(Group Title:)⇒SplitPage(Item Title:)⇒Item詳細
  4. 確認が終われば、アンインストールして下さい。
    追加されたタイルを右クリックして、表示されたアンインストールアイコンを選択します。
    C#でも同様のプログラム Windows8 Split を作成しています。

Hello を表示

  1. 自動生成されるプロジェクト「Split App(XAML)」で MessageDialog を使って Hello を表示します。
    上記で作成したプロジェクトを修正することにします。
  2. App1.sln(App2.sln) をダブルクリックして起動します。
    SplitPage.xaml.cpp の ItemListView_SelectionChanged() メソッドを修正します。
    修正前
    void SplitPage::ItemListView_SelectionChanged(Object^ sender, SelectionChangedEventArgs^ e)
    {
        (void) sender;  // 未使用のパラメーター
        (void) e;       // 未使用のパラメーター
        if (UsingLogicalPageNavigation()) InvalidateVisualState();
    }
    
    修正後
    if (n==1) は Item Title:2 の判定で、Title:2 が選択されたとき MessageDialog を表示します。
    void SplitPage::ItemListView_SelectionChanged(Object^ sender, SelectionChangedEventArgs^ e)
    {
        int n= this->itemListView->SelectedIndex;
        if (n==1)
        {
            auto dlg = ref new Windows::UI::Popups::MessageDialog("Hello World");
            dlg->ShowAsync();
        }
    }
    
  3. Item Title(ItemListView_SelectionChanged) では、選択された ListView の Item Index を調べて表示します。
    「Group Title」をクリックして「Item Title」を表示して下さい。
    Item Title:2(Index==1)をクリックすると "Hello World" が表示されます。
    Group の識別は行っていないので、どの Group でも同じです。
    Group を識別する方法は C# のプログラムを参照して下さい。
  4. 確認が終われば、アンインストールして下さい。
    追加されたタイルを右クリックして、表示されたアンインストールアイコンを選択します。

超初心者のプログラム入門(C/C++)