none
Metro StyleアプリでOpenGL(hwndの取得) RRS feed

  • 質問

  • Metro Styleプロジェクト(C++)でOpenGLを使用したいと思っています。
    描画のためにはHWNDを取得する必要がありますが、どのようにすれば良いでしょうか?

    参考までに、従来のWindowsの.net Frameworkでは、以下のようにしてHWNDを取得していました。
    IntPtr ptr = this->pictureBox1->Handle;
    HWND hWnd = (HWND)ptr.ToInt32();

    xamlで似たようなものがあるかと思ったのですが、見つけられずに悩んでおります。


    よろしくお願い致します。
    2012年5月3日 5:08

回答

  • OpenGL used in the Metro style app?
    http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/a861db02-dce8-4f61-9969-b8a7a7cd55c7

    ちなみに、WPF の時代の話でいくと、ウィンドウの中のコントロールはハンドルを持ちません。
    ウィンドウに貼られているコントロール群を一枚の絵に描いた(合成した)上で、実際のウィンドウに描画していると解釈できるかと思います。
    なので、XAML でウィンドウハンドルを取る事例を探しても、なかなか出てこないと思います。

    // なお、Metoro Style アプリケーションは、x86/x64/ARM のすべて動くように作る必要があります。
    // ネイティブコードを使う場合は、ARM 向けのバイナリも必要だったはずです。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    2012年5月3日 12:04
    モデレータ

すべての返信

  • OpenGL used in the Metro style app?
    http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/a861db02-dce8-4f61-9969-b8a7a7cd55c7

    ちなみに、WPF の時代の話でいくと、ウィンドウの中のコントロールはハンドルを持ちません。
    ウィンドウに貼られているコントロール群を一枚の絵に描いた(合成した)上で、実際のウィンドウに描画していると解釈できるかと思います。
    なので、XAML でウィンドウハンドルを取る事例を探しても、なかなか出てこないと思います。

    // なお、Metoro Style アプリケーションは、x86/x64/ARM のすべて動くように作る必要があります。
    // ネイティブコードを使う場合は、ARM 向けのバイナリも必要だったはずです。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    2012年5月3日 12:04
    モデレータ
  • Azuleanさま
    さっそくのご回答ありがとうございます。

    リンク先に
    > OpenGL is not available to Metro style apps.
    とあるのですね・・
    本当なのでしょうか・・・
    iPhoneやAndroid用に作ったアプリのコードを流用しようかと思っていたのですが困りました。
    2012年5月4日 5:35