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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0217
ぐうちょこcomboxで選択決定していないのにオブジェクト内容が変わります3解決


ぐうちょこ

リンク

2007/2/17(Sat) 01:38:31|NO.5738

HSPでcomboxを2個配置しました。変数はa,bに割り当ててます。
comboxのa側の内容には「月\n火\n水」、comboxのb側の内容には「金\n土\n日」です。
aは"0"で初期化、つまり、月を選択している状態とします。
a側のcomboxオブジェクトをクリックし、リストが出ている状態で
マウスで「水」にカーソルを合わせている(クリックしていないのでリスト確定は
していません)状態にします。
ここで、タブキーを押して、b側のcomboxに移動すると・・・
a側のリストは、カーソルが合わせていた「水」に変わりますが、
aの値をデバッグウィンドウで見ると・・・a=0、月 のままです。
実際表示しているcomboxと、格納変数に入っている値に相違が出るわけですが、
回避する方法はありませんでしょうか?よろしくお願いいたします。。。



この記事に返信する


KIMU

リンク

2007/2/17(Sat) 02:50:57|NO.5741


combox a,128,"月\n火\n水" aid=stat comboxAhwnd=objinfo(aid,2) combox b,128,"金\n土\n日" bid=stat comboxBhwnd=objinfo(bid,2) repeat sendmsg comboxAhwnd, $147 aa=stat sendmsg comboxBhwnd, $147 bb=stat objsel -1 id=stat if a not aa{ if aid not id {a=aa} } if b not bb{ if bid not id {b=bb} } pos 80,20 mes "選択中id="+id mes mes "aid="+aid+" A決定="+a+" A選択中="+aa mes "bid="+bid+" B決定="+b+" B選択中="+bb redraw 1:await 15:redraw 0:color 255,255,255:boxf:color loop
こんな感じ?



KIMU

リンク

2007/2/17(Sat) 03:30:59|NO.5742


combox a,128,"月\n火\n水" aid=stat comboxAhwnd=objinfo(aid,2) combox b,128,"金\n土\n日" bid=stat comboxBhwnd=objinfo(bid,2) repeat sendmsg comboxAhwnd, $147 aa=stat sendmsg comboxBhwnd, $147 bb=stat objsel -1 id=stat if a not aa{ if aid not id { sendmsg comboxAhwnd, $014E,a } } if b not bb{ if bid not id { sendmsg comboxBhwnd, $014E,b } } pos 80,20 mes "選択中id="+id mes mes "aid="+aid+" A決定="+a+" B選択中="+aa mes "bid="+bid+" B決定="+b+" B選択中="+bb redraw 1:await 15:redraw 0:color 255,255,255:boxf:color loop
それともこっちかな?

NO.5741のは、選択中にTabを押されると、選択中のが決定した事になる
こっちのは、決定前にTabを押されても選択前に戻る(combox のp1に設定した変数にあわせる)



ぐうちょこ

リンク

2007/2/20(Tue) 03:48:41|NO.5816

KIMU 様、ありがとうございました!
sendmsgを使用するのですね。VC++やVBでコンボボックスを作成した場合、
動作はどうも、NO.5742と同じになるっぽく、NO.5742のご回答を参考に
作り込みしたいと思います。
ちなみに、提起した問題はWindows Xpで起こるもので、Windows2000では
この問題事象は発生しませんでした。

本当に懇切丁寧にありがとうございますっ!



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