トップページ > 過去ログ > 記事閲覧
WaitKeyがマウスを拾う
名前:すにー 日時: 2012/02/07 12:39

前々から気になっていたのですがWaitKeyで待っている時にマウスがクリックされると制御を返す(-1)のですが仕様でしょうか 今のところどうしようもなく困ったことはないので特に何か解決をお願いするわけではありませんが。 VC++ Win7です int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); if(DxLib_Init()){ return -1; } while(!ProcessMessage()&&!CheckHitKey(KEY_INPUT_ESCAPE)) { ClearDrawScreen(); int c; c=WaitKey(); printfDx("%3d ",c); ScreenFlip(); // clsDx(); } DxLib_End(); return 0; } あと、このようなコードが許されるのかもお願いします 特にウィンドウが破壊された時が不安です int c; do{ c=WaitKey(); }while(c==-1);

Page: 1 |

Re: WaitKeyがマウスを拾う ( No.1 )
名前:管理人 日時:2012/02/13 01:31

はい、仕様です 他にもジョイパッドの入力でも制御を返します > あと、このようなコードが許されるのかもお願いします > 特にウィンドウが破壊された時が不安です 現在のバージョンではウインドウが閉じられたときに WaitKey が -1 を返すという 仕様はありませんので、無限ループになってしまうかもしれません
Re: WaitKeyがマウスを拾う ( No.2 )
名前:すにー(解決) 日時:2012/02/13 13:56

了解しました > 現在のバージョンではウインドウが閉じられたときに WaitKey が -1 を返すという > 仕様はありませんので、無限ループになってしまうかもしれません -1を返さないのなら大丈夫なのではないでしょうか。今後の保障はないということですか?
Re: WaitKeyがマウスを拾う ( No.3 )
名前:管理人 日時:2012/02/19 13:00

> -1を返さないのなら大丈夫なのではないでしょうか。今後の保障はないということですか? すみません、見間違えていました 誤った認識の上で行った発言の為 No.1 の書き込みは忘れてください 改めてご返信致しますと、WaitKey の処理中にプログラムが終了された場合は 0が返ってくるようになっていますので > int c; > do{ > c=WaitKey(); > }while(c==-1); こちらのプログラムで無限ループになることはなく安全です

Page: 1 |