トップページ > 記事閲覧
SetUseDisplayIndexの要望
名前:8127 日時: 2018/02/19 09:47

いつもいつもお世話になっております。 DXライブラリで作られている某RPG制作ツールでは、 「起動時にマウスがあるディスプレイを自動で判別してその画面に起動する」 という機能があるのですが、これをDXライブラリ側でやっていただくことは可能でしょうか? 具体的には、SetUseDisplayIndex(-1)をDxLib_Initの前に呼ぶと上記の効果が表れるようになってほしいです。 もし、何らかの都合で実装できないということであれば、自前で実装しますので、 使うべきWIN32APIの関数を誰か教えて頂きたいです...
メンテ

Page: 1 |

Re: SetUseDisplayIndexの要望 ( No.1 )
名前:8127 日時:2018/02/19 21:39

SetUseDisplayIndex(-1)ではなく新規関数SetUseDisplayWithMouse()でもいい気がしました。 私はどちらでも気にしませんし関数名も特にこだわりが無いです。
メンテ
Re: SetUseDisplayIndexの要望 ( No.2 )
名前:管理人 日時:2018/02/20 00:55

ウディタではできているのでしたら恐らく可能だと思いますが、作者の SmokingWolfさんにお訊ねした方が早いような (^ ^; すぐに実装できるかわかりませんので、何日かお時間をください( 遅くても今週の週末には作業できると思いますが・・・ )
メンテ
Re: SetUseDisplayIndexの要望 ( No.3 )
名前:8127 日時:2018/02/20 02:09

管理人さま、 ご返信ありがとうございます。待っています。
メンテ
Re: SetUseDisplayIndexの要望 ( No.4 )
名前:管理人 日時:2018/02/22 01:29

思いのほか容易に実装できました よろしければこちらをダウンロードしてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.exe // Windows版 C++ Builder 10.1 Berlin 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース ( 中身を既存のライブラリのファイルに上書きして、VisualStudioをお使いの場合は『リビルド』を、  BCCをお使いの場合は『再構築』をして下さい ) SetUseDisplayIndex(-1); で「起動時にマウスがあるディスプレイを自動で判別してその画面に起動する」ようになります よろしければお試しください
メンテ
Re: SetUseDisplayIndexの要望 ( No.5 )
名前:8127(解決) 日時:2018/02/22 23:46

管理人さま、 私の環境でもマウスのあるウィンドウに起動することを確認しました。 対応ありがとうございました。 該当部分のソースも読ませていただきました。 解決とさせていただきましたが、一つ質問させてください。 マウスがどのウィンドウにあるかの取得にグローバル変数GSYSからウィンドウの情報を読み取っているようですが、 これはどのファイルで定義されているのでしょうか。 よろしければ回答よろしくお願いいたします。
メンテ
Re: SetUseDisplayIndexの要望 ( No.6 )
名前:管理人 日時:2018/02/24 01:31

すみません、見落としていました m(_ _;m > マウスがどのウィンドウにあるかの取得にグローバル変数GSYSからウィンドウの情報を読み取っているようですが、 > これはどのファイルで定義されているのでしょうか。 GSYS は GraphicsSysData を短く記述するために DxGraphics.h に以下のように define 定義されているものです #define GSYS GraphicsSysData そして GraphicsSysData は DxGraphics.cpp の 360行目付近に実体があります GRAPHICSSYSTEMDATA GraphicsSysData ;
メンテ
Re: SetUseDisplayIndexの要望 ( No.7 )
名前:8127(解決) 日時:2018/02/26 23:15

管理人さま、 #define定義されていたのですね。("GSYS;"で検索して定義位置を見つけようとして見つからずに困っていました) InitializeWindow()辺りをみれば、どういう仕組みでモニタの解像度を取得しているか読み解けそうです。 別件ですが次からは質問があるときは(解決)をつけないようにします。 この度はいろいろと教えてくださってありがとうございました。iOS版の実装も頑張ってください。応援しております。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存