月別アーカイブ: 2012年6月

グラフィック系のModel-Viewを考える

手元のコードでは、以前の通りに作る訳ですが、metro application も含めて少し考えてみます。なぜ、metro も入れるかというとサスペンドがあるからなんですよね~。 まず、データ保持のほうの Model から考えてみます。矩形あるいは三角形などを書くための Point クラスと面を作るための Mesh クラスを準備します。 これをデータとして保存する場合は、XMLでもバイナリデータでも良いのですが、配列な感じで保存します。逆に読み出す時も配列として読み出します。このとき、矩形なり三角形なりの頂点は「すでに出来上がったもの」を保存するのが普通です。 このデータをもとにして、描画をする訳です。便宜上、同じクラス名になっていますが、ここは共有しても良いし、違うクラスにしても良いということです。共有する場合は、一部のプロパティ(statusプロパティとcolorプロパティ)が異なるの … 続きを読む

カテゴリー: 開発, windows 8 | 1件のコメント

c++ で INotifyProperyChanged をどう実現するか?

c++/cx metro の場合 mvvm がどのように実装されているか | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3542 の続きで考察を30分ほど。 mvvm, mvc などの現在の実装に分け入ってしまうと混乱するので「view を分離する」という点に絞って実現してみる。 前回解説した通り、XAML 側には、文字列を Notation として受け取る仕組みがあるので、それを使うとすると、PropertyChangedEventHandler に沿って作る必要がある。これは実装れべるでそうなっているので、XAML を View として使う限りはこれを使う。 さて、今度は XAML を使わない場合、あるいは XAML の提供する PropertyChangedEventHandler を使わずに実装する場 … 続きを読む

カテゴリー: 開発, C++ | 2件のコメント

[資料] iPadに真似ぶ windows 8 タブレットプログラミング

  iPadに真似ぶ windows 8 タブレットプログラミング View more presentations from moonmile. 発表時にはネタを削除しましたが、こっちは元のままで。いままで slideshare って使ったことがなかったんですよね~。プレゼン資料を作るよりも「その場の喋り」に重きを置くので(場の雰囲気にあわせるとも言う、あるいは、事前準備に力を入れないように注意しているとも言う)、資料を見ると「曲解」されるかもしれませんんが、まぁ、HDD のこやしになってしまうよりは良いかと思い直し。いえいえ、単純に VC++, Fortran のコンパイル中の暇つぶしなのです。 さて、「真似ぶ」という用語は当然私のオリジナルではなくて、以前からあります。「守破離」もそうですが、最初は型を真似ることから入ります。批判するにせよ中傷するにせよ議論するにせよ、対象を … 続きを読む

カテゴリー: 勉強会 | コメントする

c++/cx metro の場合 mvvm がどのように実装されているか

というメモ書き。 metro application で grid のテンプレートを開くと、Common というフォルダが作られて、その中に ListView を使った mvvm の実装があります。WPF, Siverlight と実装が異なるので、覚え直しになるのか?とうことと、このクラスを使って実装して良いのか?ということがあるのですが、今後なし崩しに活用されそうな予感はします。 Visual Studio 2012 RCのMetro スタイル アプリのテンプレートを見てみる – かずきのBlog@Hatena http://d.hatena.ne.jp/okazuki/20120604/1338821522 のところを参照にして、 ・SampleDataSource.h ・SampleDataSource.cpp ・BindableBase.h ・BindableBase … 続きを読む

カテゴリー: C++/CX | 1件のコメント

15年前のMFCあるいはMVC

15年前のMFC View more presentations from moonmile. 2012年6月の.NETラボ勉強会のライトニングトークスで発表した資料です。 歴史をさかのぼれば、コンソールアプリケーションまでさかのぼって解説をしないと駄目なのですが、それだと時間が無くなるので、時間をさかのぼるスタイルで解説していきます。 このスライドでは、いきなりMFCのところからスタートしていますが、実はMVC(MVVMなどが生まれる前の「MVC」という用語の)やXAMLあたりからさかのぼっていきます。XAMLはSVGの派生であって、かつDHTMLの後継(とも言える)スタイルなのです。一見、動的な操作が加えられているように見えますが、本質的なところは、Viewです。Viewというのは人にとってはDisplayです。時にはInterfaceであったり、Presentationであったり( … 続きを読む

カテゴリー: 開発, C++ | コメントする

Community Open Day 2012 の補足その4

Community Open Day 2012 の補足その1 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3504 Community Open Day 2012 の補足その2 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3516 Community Open Day 2012 の補足その3 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3526 そんな訳で、デザイン編の続きです。 metro アプリを store に出店させるためには、スナップや回転に対応しないといけない…ってことになっていますが、これが結構面倒、ということを実演 … 続きを読む

カテゴリー: C#, windows 8 | コメントする

Community Open Day 2012 の補足その3

Community Open Day 2012 の補足その1 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3504 Community Open Day 2012 の補足その2 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3516 の続き、デザイン編です。 COD のために作成したメモ帳アプリですが、スレートPC上で「回転」を実装したかったので、画面のサイズは acer w500 に合わせていたのです。 通常 Visual Studio 2012 で metro アプリを作ると「1366×768」のサイズがデフォルトなのですが、acer の場合は「1280×800」な訳です。 grid タグを使ってタイリ … 続きを読む

カテゴリー: C#, windows 8 | コメントする

Community Open Day 2012 の補足その2

Community Open Day 2012 の補足その1 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3504 の続き。 サンプルコード win8/MetroMemoPadiPadLike at master ・ moonmile/win8 ・ GitHub https://github.com/moonmile/win8/tree/master/MetroMemoPadiPadLike を実行しようとすると分かるのですが、サーバーを実行する時にエラーがでます。これは、サーバーとして使っている HttpListener クラスを実行する権限…というか、サーバーのポートを開ける権限は Windows 8 では制限されているからなのです。Windows 7 でも制限されているので、IIS ではな … 続きを読む

カテゴリー: C#, windows 8 | コメントする

Community Open Day 2012 の補足その1

Community Open Day 2012 http://cod.ms/ Community Open Day 2012 の準備 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/3476 なところで、発表したものの、事前準備が足りない…つーか、コード自体を見せるの忘れていたので補足しておきます。 スライド自体は、 Cod2012 デバッグ講座 http://www.slideshare.net/moonmile/cod2012 なところを参照してください。概要しか書いて無くて、実際は、スレートpc へのリモートデバッグが主なところです。 開発マシンからスレートPCへリモート接続する場合は、Visual Studio から接続すればよいのですが、テストをしていくといくつか問題があったのです。 Vi … 続きを読む

カテゴリー: C#, windows 8 | 1件のコメント

Visual Studio Experss 2012 RC for Windows 8 を試してみる

msdn を持っている(というか、MVPなので借りている状態)ので、正式版をリリース後でも Visual Studio 2012 Professional を使えるので特に問題はないのですが、一応、Express Edition のほうも試しておきましょうということで。 ダウンロード | Microsoft Visual Studio 2012 http://www.microsoft.com/visualstudio/11/ja-jp/downloads#express なところで、無償版である Experss Edition がダウンロードできます。真ん中の「Express for Windows 8」をクリックしてダウンロードページに進みます。 ちなみに、「Express for Web」のほうは、ASP.NET MVC のような Web アプリケーション開発のためだけの環境です。「 … 続きを読む

カテゴリー: 開発, windows 8 | 1件のコメント