Title Bar

Visual Studio Enterprise 2019 で Title Bar に時刻を表示します。

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

プログラムの説明

  1. C++ の StoreApplication で Title Bar に時刻を表示します。
    C# では titleBar.Title = "表示する文字列"; で文字列を設定できたのですが、C++ では titleBar.Title が使えません。
    C# のプログラムは Title Bar を参照して下さい。
    そこで、自作タイトルバーを使って時刻を表示します。
  2. Visual Studio 2019 を立ち上げて UWP(Universal Windows Platform) のプロジェクトを作成します。
    プロジェクトの作成は XAML で図形を描画 を参照して下さい。
  3. MainPage.xaml に MyTitleBar を設定します。
    TextBlock に付けられた名前(TitleName)を参照して時刻を表示します。
        <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <Grid.RowDefinitions>
                <RowDefinition Height="30"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Border x:Name="TitleBar" BorderBrush="Black" Background="DarkBlue" BorderThickness="1">
                <TextBlock x:Name="TitleName" Text="My Application" Foreground="White"
                Style="{ThemeResource BodyTextBlockStyle}" />
            </Border>
        </Grid>
    
  4. MainPage.xaml.cpp を修正して、Title Bar に時刻を表示します。
    ExtendViewIntoTitleBar = true; で既定の Title Bar を非表示に設定して下さい。
    非表示に設定しないと、既定の Title Bar の下に自作のタイトルバーが表示されます。
    TitleName->Text に現在時刻を設定します。
    MainPage::MainPage()
    {
        Windows::ApplicationModel::Core::CoreApplication::GetCurrentView()->TitleBar->ExtendViewIntoTitleBar = true;
        InitializeComponent();
        Windows::Globalization::Calendar^ cal = ref new Windows::Globalization::Calendar();
        auto longTime = ref new Windows::Globalization::DateTimeFormatting::DateTimeFormatter("longtime");
        DateTime time = cal->GetDateTime();
        TitleName->Text = longTime->Format(time);
    }
    

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