トルネード

毛利のメモ書き

UWP VC++ Dispatcher->RunAsync()

C++

Visual Studio 2017 UWP VC++でDispatcher->RunAsync Dispatcher.RunAsyncはワーカースレッドから提供されたUIスレッドのコールバックをスケジュールし、結果を非同期的に返します。 もっといい方法あるのかと思うんですが、結局【標準のThread】をつかって…

UWP VC++ タイトルバー透過

「C#でタイトルバー透過」と同じように VC++でもApplicationViewTitleBarを操作します。 //App.xaml.cpp using namespace Windows::UI::ViewManagement; void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) { auto …

UWP VC++ TreeView

Visual Studio 2017 VC++ UWPでのTreeView xaml <Grid> <TreeView Name="TreeView1" Loaded="TreeView1_Loaded" ItemInvoked="TreeView1_ItemInvoked"/> </Grid> VC++コード void test::TreeView1_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { #define IntToStr( ii ) static_cast

UWP 入門 - VC++ std::wstring to Platform::String

Visual Studio 2017 UWP std::wstring からPlatform::String へ std::wstring s1 = L"文字列"; //Platform::String ^s2; Platform::String ^s3 = ref new Platform::String(s1.c_str() ); Platform::String ^s4{ ref new Platform::String(s1.c_str()) }; Pl…

UWP 入門 - VC++ ウィンドウ半透明

Visual Studio 2017 UWP ウィンドウ半透明表示 C++版 Rectangleを半透明にしてウィンドウ壁紙を半透明表示させます。 <Rectangle Fill="Transparent" Name="Rectangle1" Loaded="Rectangle1_Loaded"></Rectangle> using namespace Windows::UI::Composition; public ref class MainPage sealed { Compositor^ _Compositor; SpriteVisual^ _SpriteVisua…

UWP 入門 - ウィンドウ半透明

Visual Studio 2017 のUWPウィンドウ半透明実装方法です。 Compositorクラスは、ビジュアルレイヤ・エフェクトシステム・アニメーションシステムにわたるWindows.UI.Composition名前空間のさまざまなタイプのファクトリとして使用できるアプリケーション用の…

UWP 入門 - TreeView イベント

TreeViewのItemInvokedイベントでアイテムが取得できます。 <TreeView Name="TreeView1" ItemInvoked="TreeView1_ItemInvoked" > </TreeView> args.InvokedItemでTreeViewNodeオブジェクトが取れます。 private void TreeView1_ItemInvoked(TreeView sender, TreeViewItemInvokedEventArgs args) { TextBlock1.Text = ((TreeViewNode)args…

UWP 入門 - TreeViewとTreeViewNode

TreeView Visual Studio 2017 UWPのTreeViewを使ってツリー表示させます。 <TreeView Name="TreeView1"> </TreeView> XAMLファイル側はこれだけです。 private void Page_Loaded(object sender, RoutedEventArgs e) { IList<TreeViewNode> l1 = new List<TreeViewNode>(); for (int i = 0; i < 20; ++i) { l1.Add(new TreeViewNo</treeviewnode></treeviewnode>…

UWP 入門 - SemanticZoom

SemanticZoomとは UWPでの、SemanticZoomとは、グループ化されたデータセットを2つの異なるビュー切替えナビゲートできるコントロールです。 ZoomedInView はコンテンツのメインビューで、個々のデータ項目を表示する。 ZoomedOutView は、 このビューにグル…

UWP 入門 - ダークテーマ設定[RequestedTheme="Dark"]

Visual Studio 2017 UWP アプリダークテーマ設定方法 プロジェクトファイルを作成した際に自動で作られるApp.xamlに追加するだけです。 <Application x:Class="App3.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App3" RequestedTheme="Dark"> </application>

UWP 入門 - Binding データ更新[INotifyPropertyChanged]

下記のxamlコードはGridにTextBlockを貼っただけのシンプルなコードです。 TextプロパティにBindingを書いています。 <Grid> <TextBlock Text="{Binding DtNow}" Loaded="TextBlock_Loaded" Name="TextBlock1"></TextBlock> </Grid> Text="{Binding DtNow}"部分に独自クラスをバインドさせて、クラスからのデータ更新を反映させText表示を変更させます。 独自クラス作…

UWP 入門 - GridView

GridView アイテム追加 簡単なクラスを作成し、GridView のアイテム登録する方法です。 XAMLデザイン画面で下記のようにGridView を追加します。 <GridView Name="gv1" Background="DarkCyan"> <GridView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Width="250"> </stackpanel></datatemplate></gridview.itemtemplate></gridview>

UWP 入門 - NavigationView メニュー追加

NavigationViewのメニューを追加する方法です。 NavigationView.MenuItemsタグ内にNavigationViewItemを追加します。 <NavigationView HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" FontFamily="Segoe MDL2 Assets" > <NavigationView.MenuItems > </navigationview.menuitems></navigationview>

UWP 入門 - タイトルバーのボタンを透過

前回は、ExtendViewIntoTitleBar = trueにしてタイトルバーの非表示をしました。 引続きタイトルバーのボタンも透過します。 上の図のように右上部のボタンが透過していることが確認できます。 App.xaml.csでのコード 右上部のボタンを透過するには、App.xam…

UWP 入門 - 既存のタイトルバー非表示 ExtendViewIntoTitleBar

既存のタイトルバー非表示 ExtendViewIntoTitleBarをtrueするとタイトルバーが非表示になります。 App.xaml.csにWindows.ApplicationModel.Core追加します。 using Windows.ApplicationModel.Core; App.xaml.csにコード内にOnLaunched()があるので、1行追加 …

UWP 入門 - ComboBox

ComboBox アイテム登録 XAMLで、ComboBox のアイテム登録実装方法です。 <ComboBox HorizontalAlignment="Left" Margin="20,20,0,0" VerticalAlignment="Top" Width="200" Name="c1"> <ComboBoxItem>りんご</ComboBoxItem> <ComboBoxItem>ごりら</ComboBoxItem> <ComboBoxItem>ラッパ</ComboBoxItem> <ComboBoxItem IsSelected="True">パンダ</ComboBoxItem> <…</combobox>

UWP 入門 - Gridの分割方法

UWP

Gridタグの分割 UWPのXAMLは、Pageタグから始まり[空のページ]ではデフォルトでGridのみ記述されています。 このGridタグは、分割する機能があります。 縦に分割 ColumnDefinition <Grid Background="LightGoldenrodYellow"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> </Grid> 横に分割 RowDefinitions <Grid Background="LightGreen"> …</grid>

UWP 入門 - 画面遷移と戻るボタン

MainPage.xaml以外のページに移動 Visual Studio 2017メニューから[新規作成|プロジェクト]を選択すると「新しいプロジェクト」ダイアログが表示されます。[Visual C#|空白のアプリ(ユニバーサルWindows)]でUWPのプロジェクトが作成されます。 その…

UWP 入門 - ラムダ式

C#言語でのラムダ式 C++で便利なLambda式ですが、C#言語にも同じようなラムダ式が使えるようです。C++の場合Functionalをインクルードしますが、C#は宣言するだけです。 public delegate void Proc<in T>(T arg1); 上記はProcと言う名前のラムダ型を宣言しています</in>…

UWP 入門 - async/await シンプルな例

mojeld.amebaownd.com async/awaitについて、上記URLにもすごくシンプルな例を書いています。 ここでは、Task.Run()中にXAMLのオブジェクトを変更する例です。 まず、「ProgressBar」「Button」「TextBox」を適当に配置します。 「ProgressBar」「TextBox」…

UWP 入門 イベントを作ろう

C#でイベントを作ってみよう イベント宣言を作るのは簡単です。 // C#でのイベント public delegate void Proc(object sender); 上記のような感じでイベント作成できます。 C++BuilderでいうところのTNotifyEventみたいな感じです。 // BCBの場合 typedef vo…

C#言語 IDisposableを使ってDispose()を実装

C#でinterfaceを作る C#も他の言語と同様にinterfaceが作成できます。IDisposableを継承したinterfaceを作成し、Dispose()されるか試してみました。 IDisposableを継承したinterface interface IHoge2: IDisposable { void Foo();//=0は要らない。 new void …

UWP 入門 - バーガーボタン

バーガーボタン実装 UWPのアプリを作成する上でまずやってみたいのがバーガーボタン実装です。 バーガーボタンは普通のButtonです。 Contentが文字ではなくSymbolIconを埋めるタグになっています。 <Button Name="b1" Width="48" VerticalAlignment="Top" Background="Transparent" HorizontalAlignment="Left" Height="40" Click="BackButton_Click" > <Button.Content> </button.content></button>

UWP 入門 - SqlClientを使ってのSQL Server接続

UWPアプリプロジェクトでSQL Server接続するためには[Package.appxmanifest]の変更が必要です。 [機能]を選択し、[エンタープライズ認証]にチェックします。 SQL Serverにアクセスしたいcsファイルを選択し、 using System.Data.SqlClient; 上記のよう…

UWP 入門 - マニフェスト設定

前回作成したプロジェクトのマニフェスト設定を行います。 mojelder.hatenablog.com UWPアプリを新規プロジェクト作成後、Visual Studio 2017 デフォルト画面で、右側上部に『ソリューションエクスプローラー』に[Package.appxmanifest]ファイルが出来てい…

Visual Studio 2017 - DB作成

SQL Server のデータベースを作成する。 Visual Studio 2017からSQL Serverへ接続し、新しいデータベースを作成できます。 画面左の[SQL Server オブジェクトエクスプローラー]を選択し、[SQL Server]インスタンスを開き、[データベース]を[右クリッ…

UWP 入門 - アプリ新規作成

ユニバーサルアプリ新規作成 Visual Studio 2017で[ファイル|新規作成|プロジェクト]を選択すると、『新しいプロジェクト』ダイアログが出てきます。 左側の[Visual C#]を選び、右側の『空白のアプリ(ユニバーサルWindows)を選択状態にします。 『新…

HTML16進数色コードからR,G,B10進数色変換 - PowerShell

HTMLのカラーコードは「#」記号を先頭に赤緑青の順番の1Byteの16進数で表現されています。白の場合「#FFFFFF」 RGBそれぞれを10進数で確認したい場合があります。WindowsのPowerShellを使えば簡単に計算させることが可能です。 $o_ = "" $color = "#f6f500…

Azure Cosmos DB へREST接続

Azure Cosmos DBは、document,・graph・key-valueデータモデルサポートの、グローバルに分散されたマルチモデルのデータベースです。 documentリソースの作成・Query・マネージメントなどはRESTを介して SQL API で操作します。 documentはJSON形式のユーザ…

SQLite ローカル時間取得 select datetime('now') as now_

SQLiteで ローカル時間取得 select datetime('now') as now_ これだと日本時間が出ないので select datetime('now', 'localtime') as now_ ‘localtime'を指定すると日本時間で取得できる。