HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0424
gmなまえ入力をマウスでする場合4未解決


gm

リンク

2010/4/24(Sat) 00:04:24|NO.32229

五十音表の画像があってマウスをクリックしてなまえを入力してもらう場合、
クリックした位置から文字を決定する以外に方法はありますか?
他の言語のクリックイベントみたいな方法があるかどうか知りたいのです。
下のようなコードが使えれば配列使えばコードが短くなるから。


Private Sub Picture1_Click() MsgBox "ピクチャーボックスがクリックされました。" End Sub

マウスの位置からじゃコードが長くなりそうなので、
すいません。お願いします。



この記事に返信する


窓口

リンク

2010/4/24(Sat) 01:08:01|NO.32230

ボタンをオーナードローして、好きな画像を張り付けたらいかがですか?
 hsp には標準でその命令が備わっています。
  objimage 命令で検索してみてください。



ANTARES

リンク

2010/4/24(Sat) 05:08:22|NO.32231

 (Y座標-Yマージン)/画像の縦サイズ*画像の横個数+(X座標-Xマージン)/画像の横サイズ
で配列の要素番号くらい計算できますよ。
マージンとは上部や左部の余白ドット数



ANTARES

リンク

2010/4/24(Sat) 05:59:38|NO.32232

 さらにわかりやすく、二次元配列にしてみました。
よく考えずに書いたらxとyが逆になっちゃった(^_^;;

xm=10 ;Xマージン ym=10 ;Yマージン xsize=16 ysize=16 vn=5 hn=11 sdim char,4,vn,hn ;五十音表示用を兼ねているのでcharにしましたが、messageと考えてください char="あ","い","う","え","お" char.0.1="か","き","く","け","こ" char.0.2="さ","し","す","せ","そ" char.0.3="た","ち","つ","て","と" char.0.4="な","に","ぬ","ね","の" char.0.5="は","ひ","ふ","へ","ほ" char.0.6="ま","み","む","め","も" char.0.7="や"," ","ゆ"," ","よ" char.0.8="ら","り","る","れ","ろ" char.0.9="わ"," "," "," ","を" char.0.10="ん","゛","゜"," "," " y=ym: cy=0 repeat vn x=xm: cx=0 repeat hn pos x,y: mes char(cy,cx) x+=xsize cx++ loop y+=ysize cy++ loop repeat: wait 1 mx=mousex: my=mousey stick c,,1 if c==256 { if mx>=xm { if my>=ym { msgx=(mx-xm)/xsize if msgx<hn { msgy=(my-ym)/ysize if msgy<vn { dialog char(msgy,msgx) } } } } } loop

 っていうか「Picture1_Click」の「1」の部分に変数を使えないと
全然便利じゃないんですけど?

 間違えて「sdim char,vn,hn」と書いたのに動いたのはなぜ?
んな、自動拡張あったっけ?(^_^;;


msgx=(mx-xm)/xsize if msgx>=0 { if msgx<hn { msgy=(my-ym)/ysize if msgy>=0 { if msgy<vn { dialog char(msgy,msgx) } } } }
って書いたらマージン部分にも反応する。なぜ?と考えてみたら、
割り算が負の場合は絶対値切り捨てだからですね。ああ、BASICは良かった。



gm

リンク

2010/4/24(Sat) 23:34:34|NO.32237

情報ありがとうございました。
勉強になりました。



ONION software Copyright 1997-2023(c) All rights reserved.