トップページ > 過去ログ > 記事閲覧
SetUserWindow By .NET版
名前:hl 日時: 2010/09/15 15:18

.NET版のDXLibでSetUserWindow関数(任意のウィンドウを使用する関数)が使用できないのですが 可能にすることは出来ますか? DLLImportも試しましたが、どうやらネイティブdllにSetUserWindow関数が含まれていないようですね 私が思うに、SetUserWindow関数を含んだネイティブDLLを作成しC#でDLLImportすれば使用可能になると踏んでいるのですが、 C++は全然分からないのでネイティブdllの作成が出来ません それから、VC++用のライブラリはdll化されたものは用意されていないのですか? 宜しくお願いします

Page: 1 |

Re: SetUserWindow By .NET版 ( No.1 )
名前:管理人 日時:2010/09/17 22:26

.NET版のdllを作成するプログラムで HWND 型を使用する関数を弾いていました 弾かないようにプログラムを変更して SetUserWindow 関数も使えるようにしましたので、よろしければお試し下さい m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip VC++用のライブラリは今のところdll化されたものはありません
Re: SetUserWindow By .NET版 ( No.2 )
名前:hl 日時:2010/09/21 15:24

一応試してみましたが、WinFormやWPFのGUIウィンドウのハンドルを使用して表示することが出来ましたが、 Formに埋め込んだPictureBoxやPanelのハンドルを使用するとプログラムが落ちてしまい使用不能です。 つまりトップレベルのウィンドウでしか使用できませんでした。 やはり、このライブラリの仕様なのでしょうか? PictureBoxなどに表示することが出来ればエディタやレンダラなどのツール作りに便利になると思います
Re: SetUserWindow By .NET版 ( No.3 )
名前:xsy 日時:2010/09/23 17:32

横から失礼いたします。 私も、hlさんに同意見でありまして、昔、C++とDxライブラリで、ちょっとしたゲームを作らせていただきましたが、現在はC#しか扱わないため(C++挫折)、ゲームに使えるライブラリがなく、いつか、DXライブラリがC#と親和してくれないものかなあと、考えておりました。 HWND 型はC#でも扱える(読み替えれば)ので、はじかないでいただけると、C#プログラマが何とかして使うと思います。 DXライブラリは相当有用なライブラリですので、開発を応援しております。 もしできるならば、.net用のdllファイルをビルドされたプロジェクトそのものを完全に公開していただけませんでしょうか。 ライセンス上、公開に問題がある部分は、自力でかき集めます。 やはり、公開が難しいようでしたら、制限を外したdllが公開されるとうれしいです。 お願いばかりで、すいません。
Re: SetUserWindow By .NET版 ( No.4 )
名前:管理人 日時:2010/09/25 20:36

> hlさん メインウインドウ以外を指定すると DirectInput の初期化が失敗するようです DxLib_Init の前に SetUseDirectInputFlag( FALSE ) ; を実行していただいて DirectInput を使用しないようにすれば PictureBox などのウインドウハンドルを SetUserWidnow に渡しても問題なく動作します > xsyさん No.1 の書き込みにある .NET版では HWND を引数に取る関数も弾かないようにしてありますので よろしければお試し下さい dllファイルをビルドするプロジェクトは .NET版のパッケージの中の Source フォルダの中にある DxDLL.h DxDLL.cpp DxDLL.def を使用して VisualC++6.0 でコンパイルするだけのものですので、 よろしければご覧になってみてください

Page: 1 |