トップページ > 記事閲覧
マウス座標取得の不具合
名前:チップ 日時: 2016/07/18 07:35

すみません、画面モードによりマウスの取得座標がおかしくなる不具合があるようです。 以下のプログラムなのですが、マウスポインタを表示された四角の中に入れると塗りつぶされた四角が表示されます。 立ち上げた状態だと問題なく動作するのですが、 ウィンドウを最大化(最大化アイコンを押して)するとマウスポインタのX座標の取得値がおかしくなるようです。 Y座標は問題ないのですがX座標が左にずれている感じになります。おそらく最大化時に中央に画面が配置されるのが考慮されないせいかと。 お手隙の際に対応の方をお願いできると助かります。 よろしくお願い致します。 以下プログラムです ------------------ #include <stdio.h> #include <stdlib.h> #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int i,MouseX , MouseY ; SetWindowStyleMode(7); // ウィンドウズ最大化ボタンON ChangeWindowMode( TRUE ) ; // ウィンドウモードで起動 SetGraphMode( 640 , 480 , GetColorBitDepth() ) ; // 画面モードの変更 DxLib_Init(); // DXライブラリ初期化処理 SetDrawScreen( DX_SCREEN_BACK ) ;        // グラフィックの描画先を裏画面にセット // システムメインループ    while(!ProcessMessage()) { // Windowsの裏処理用 ClearDrawScreen() ; GetMousePoint( &MouseX , &MouseY); if(MouseX>=220 && MouseX<420 && MouseY>=140 && MouseY<340) i=TRUE; else i=FALSE; DrawBox(220,140,420,340, GetColor( 255 , 255 , 255 ) , i) ; // 四角形を描画 ScreenFlip() ; } DxLib_End() ; // DXライブラリ使用の終了処理 exit(0); // ソフトの終了 }
メンテ

Page: 1 |

Re: マウス座標取得の不具合 ( No.1 )
名前:チップ 日時:2016/07/18 07:53

ライブラリのバージョンは最新の 3.16d です。
メンテ
Re: マウス座標取得の不具合 ( No.2 )
名前:管理人 日時:2016/07/18 22:17

ご指摘ありがとうございます 載せていただいた再現用プログラムで不具合を確認しました 修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: マウス座標取得の不具合 ( No.3 )
名前:チップ(解決済) 日時:2016/07/20 22:11

迅速なご対応ありがとうございます!早速使わせて頂きます!
メンテ

Page: 1 |

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

   クッキー保存