トップページ > 記事閲覧
複数モニタでマウス座標がおかしい
名前:たろう 日時: 2018/01/08 23:39

多分バグだと思うのですが、以下を//ChangeWindowMode(TRUE);のコメントを外して ウィンドウモードで起動して表示される四角をクリックすると四角が白くなります。 ですが、これをそのままフルスクリーンモードで起動するとクリックしても白くなりません。 2つとも解像度(1920x1080)のデュアルスクリーンの環境で試しているのですが 鼠x>310&&鼠x<360 の所を 鼠x>310-1920&&鼠x<360-1920 に変えると四角が白くなるので、 フルスクリーンモードで起動した時に、モニタ左側にそれが表示されると、マウスの座標としてマイナス座標になって帰って来てしまうようです。 どちらのモニタを主にするかとか、そういった関係でズレが発生するのではないかと思います。 お忙しいところすみません、ご確認いただけると助かります よろしくお願いいたしますm(_ _)m #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int 鼠o=0, 鼠x=0, 鼠y=0; char Key[256]; SetGraphMode(1920,700,16); //ChangeWindowMode(TRUE); if(DxLib_Init()==-1){return -1;} SetMouseDispFlag(TRUE); while( ProcessMessage() == 0 ) { if(GetHitKeyStateAll( Key )==-1 || (Key[KEY_INPUT_ESCAPE])){return 0;} ClearDrawScreen() ; GetMousePoint( &鼠x , &鼠y ) ; if((GetMouseInput()&MOUSE_INPUT_LEFT)!=0&&鼠x>310&&鼠x<360&&鼠y>310&&鼠y<360){鼠o=1;}else{鼠o=0;} DrawBox( 310, 310 , 360, 360 ,GetColor(55+(鼠o*200),55+(鼠o*200),55+(鼠o*200) ) , TRUE); //DrawGraph( 0, 0, GHandle[1], FALSE ) ; ScreenFlip() ; } WaitKey();DxLib_End();return 0; }
メンテ

Page: 1 |

Re: 複数モニタでマウス座標がおかしい ( No.1 )
名前:管理人 日時:2018/01/11 01:13

すみませんご指摘の通りバグです 『フルスクリーンのモニタがデスクトップ上のどこに位置しているか』の情報の参照の仕方に誤りがありました 修正版をアップしましたので、よろしければお試しください 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をお使いの場合は『再構築』をして下さい )
メンテ
Re: 複数モニタでマウス座標がおかしい ( No.2 )
名前:たろう(解決) 日時:2018/01/11 19:33

たろうです。さきほど修正版にて 座標のズレが起きない事を確認しました。 お忙しいところご対応頂き、ありがとうございました m(_ _)m
メンテ

Page: 1 |

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

   クッキー保存