マウス操作について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
gyt

マウス操作について

#1

投稿記事 by gyt » 15年前

今、DXライブラリを使ってプログラムを作っています。
そこで質問なのですが、マウスを左クリックしたときにその押された場所に図形を表示したいのですが一回クリックされたらその場所にずっと表示させることはできますか?
今作ったプログラムでは押し続けている場合のみ、そこに表示されます。
左クリックして離すと表示されなくなって、困ってます(><;)


↓のようなプログラムで指定した座標内で左クリックしたら赤い○を表示するように書いたつもりです。

MouseInput = GetMouseInput() ;
if( MouseX<=240&&MouseX>=120&&MouseY<=240&&MouseY>=120&&( MouseInput & MOUSE_INPUT_LEFT ) == 1 )
{

DrawString( 130 , 130 , "○" , circle_red);

}

ご指南お願いします(>人<)

パコネコ

Re:マウス操作について

#2

投稿記事 by パコネコ » 15年前

その時の座標を保存してみては?
あんまり多くなると無理ですが。

それかマス目を作っておくとか…ダメですか?

白い時空

Re:マウス操作について

#3

投稿記事 by 白い時空 » 15年前

こんな感じでどうですか?
MouseInput = GetMouseInput();
static int flag=0;
if( MouseX<=240&&MouseX>=120&&MouseY<=240&&MouseY>=120&&( MouseInput & MOUSE_INPUT_LEFT ) == 1 ){
        flag = 1;
}

if(flag==1){
        DrawString( 130 , 130 , "○" , circle_red);
}

シエル

Re:マウス操作について

#4

投稿記事 by シエル » 15年前

マウスが押されたらフラグを立てる。
フラグがたっているときだけ処理をするようにすればいいですよ。

gyt

Re:マウス操作について

#5

投稿記事 by gyt » 15年前

皆さんありがとうございました。
フラグを立てることで、解決しました(^^)ノ

ただパコネコさんの
>その時の座標を保存してみては?

>それかマス目を作っておくとか…

というのがよく意味が分からずにいます・・・orz
もし良かったらどういう意味か、またどのように考えればいいかなど、教えて欲しいです(><)
お願いします(-人-)

パコネコ

Re:マウス操作について

#6

投稿記事 by パコネコ » 15年前

どうやら私の勘違いだったようですが…
たとえば
>DrawString( 130 , 130 , "○" , circle_red);
これを
a=Mousex;
b=Mousey;
DrawString( a , b , "○" , circle_red);

こんな感じ…Mousexってマウスの座標であってました?

ボタンを押したときにaとbの値に代入見たいなのです。

マス目のほうは、配列でその配列の座標内でボタンが押されたらその配列の値を1にして
描写のときに1なら描写とすればできると思いました。

if(nannka[a]==1)DrawString( a , b , "○" , circle_red);

混乱させてしまってすいませんでした。

gyt

Re:マウス操作について

#7

投稿記事 by gyt » 15年前

なるほど!!
パコネコさん、丁寧に教えてくださりありがとうございます。

そういう考え方もできますね。
参考にさせてもらいます。

皆さん、丁寧な解説ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る