Windows Runtime Cpp Windowsランタイムテンプレートライブラリのソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[Windows Runtime Cpp]]へ戻る == '''概要''' == WindowsRuntimeTemplateLiblaryはWindowsランタイムをより簡単に扱うことを実現するテンプレートです。WRLと略されます。 *wrl/client.h *wrl/wrappers/corewrapers.h の2つのヘッダファイルをインクルードすることで利用できます。 == '''初期化 RoInitializeWrappers obj()''' == テンプレートライブラリを利用する場合はインクルードファイルの指定に加えて名前空間Microsoft::WRL::Wrappersを頻繁に利用するのでusing namespaceで指定します。そしてRoInitializeの代わりにRoInitializeWrapperオブジェクトの生成によって初期化できます。 *'''RoInitializeWrapper initialize(RO_INIT_TYPE::RO_INIT_MULTITHREADED);''' 通常は上記のようなRoInitializeWrapperオブジェクトの生成処理によって初期化ができます。 <syntaxhighlight lang="cpp" line start="1"> #include <locale.h> #include <wchar.h> #include <stdio.h> #include <crtdbg.h> #include <roapi.h> #include <wrl/client.h> #include <wrl/wrappers/corewrappers.h> using namespace Microsoft::WRL::Wrappers; int main() { HRESULT HRESULT_Hr; setlocale(LC_ALL, ""); RoInitializeWrapper initialize(RO_INIT_TYPE::RO_INIT_MULTITHREADED); if (FAILED(initialize)) { wprintf(L"WRLの初期化に失敗しました。\n"); } else { wprintf(L"WRLの初期化に成功しました。\n"); } _wsystem(L"pause"); return 0; } </syntaxhighlight> 実行結果 WRLの初期化に成功しました。 続行するには何かキーを押してください . . . == '''文字列 HString''' == HSTRINGと非常に似ているHString型が利用できます。何が違うかというと、大文字と小文字の差であることとWRL(テンプレートライブラリのオブジェクト)であることとメソッドの名前が少し違うことや引数の取り方が違うことなのかもしれません。まずは基本的なHStringの使い方のサンプルを示します。HStirngオブジェクトのメソッドSetやGetRawBufferについては後述したいと思います。 *'''HString obj''' 通常は上記のようなHStringオブジェクトの生成処理によって初期化ができます。サンプルでは22行目で使われています。 <syntaxhighlight lang="cpp" line start="1"> #include <locale.h> #include <wchar.h> #include <stdio.h> #include <crtdbg.h> #include <roapi.h> #include <wrl/client.h> #include <wrl/wrappers/corewrappers.h> using namespace Microsoft::WRL::Wrappers; int main() { HRESULT HRESULT_Hr; setlocale(LC_ALL, ""); RoInitializeWrapper initialize(RO_INIT_TYPE::RO_INIT_MULTITHREADED); if (FAILED(initialize)) { wprintf(L"WRLの初期化に失敗しました。\n"); } else { wprintf(L"WRLの初期化に成功しました。\n"); } HString HString_Str; HRESULT_Hr = HString_Str.Set(L"ワイド文字列HStringオブジェクト"); if (FAILED(HRESULT_Hr)) { wprintf_s(L"HStringオブジェクトの設定に失敗しました。\n"); _CrtDbgBreak(); return 0; } else { wprintf_s(L"HStringオブジェクトの設定に成功しました。\n"); } wprintf_s(L"HString HString_Str=%s\n",HString_Str.GetRawBuffer(nullptr)); _wsystem(L"pause"); return 0; } </syntaxhighlight> 実行結果 WRLの初期化に成功しました。 HStringオブジェクトの設定に成功しました。 HString HString_Str=ワイド文字列HStringオブジェクト 続行するには何かキーを押してください . . . === '''文字列の設定 HString Obj.Set()''' === [[Windows Runtime Cpp Windowsランタイムテンプレートライブラリ#文字列 HString|前項のサンプル]]のとおりの使い方です。 *(HString型オブジェクト)'''.Set(ワイド文字列リテラルもしくはワイド文字列先頭アドレス)'''; 上記のようにして文字列値をオブジェクトに格納させることができます。 :第一引数:設定した文字列を指定します。サンプルでは23行目に使われていて、L"ワイド文字列HStringオブジェクト"のようにワイド文字列リテラルを指定しています。
Windows Runtime Cpp Windowsランタイムテンプレートライブラリ
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ