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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1120
Dreamerinputの入力処理5解決


Dreamer

リンク

2010/11/20(Sat) 17:59:59|NO.35939

inputに文字が入力された場合に処理を行いたのですが
良い方法がなかなか見つかりません。

タブにinputを乗せているからか、
onkeyを使おうにもフォーカス判定の「objsel」でつまずき、
「-1」を指定してオブジェクトIDを取得しようとしても「-1」としか表示されません。

何か良い方法があればご教示お願いいたします。



この記事に返信する


KA

リンク

2010/11/20(Sat) 20:08:14|NO.35946

>>inputに文字が入力された場合に処理を行いたのですが
>>良い方法がなかなか見つかりません。

 どう”処理”したいのか分からないので、”良い方法”はなかなか答えられません。

>>タブにinputを乗せているからか、
>>onkeyを使おうにもフォーカス判定の「objsel」でつまずき、
>>「-1」を指定してオブジェクトIDを取得しようとしても「-1」としか表示されません。

 今ひとつ、意味が理解できません。

>>何か良い方法があればご教示お願いいたします。

 1:もう一度、質問を考え直してください。
 2:スクリプトを載せて下さい。



u

リンク

2010/11/21(Sun) 04:35:41|NO.35950

タブコントロールにそれぞれ子ウインドウを割り当てているために、
オブジェクトIDが一致せずそれぞれのオブジェクト制御がメインウインドウで出来ないことで悩んでいるものと推測します。

この場合はオブジェクトIDでの管理はやめ、objinfoでウインドウハンドルを取得すると良いです。(WinAPIの知識があればの話になりますが)
メッセージを取得したい場合は予めメッセージを受け取ったらメインウインドウへsendmsgする方法があります。
これはタブコントロールを自分で管理していればの話ですが。

なお、onkeyはいずれにしろinput内のキー入力では反応しません。



info

リンク

2010/11/21(Sun) 19:28:25|NO.35953

一度、hspのウインドウにオブジェクトを配置。
そのhsp のウインドウを タブ に SetParent で 解決すると思います。

オブジェクトID も正常に管理されますし
WM_COMMAND から EN_CHANGE や EN_UPDATE も処理できます。

もし、解らない言葉が有れば、調べてみてください。



pizza

リンク

2010/11/21(Sun) 19:40:41|NO.35955

input命令で作ってるって事は親はタブではなくHSPのウィンドウですよね?
それなら、oncmdでWM_COMMANDを受け取ってEN_CHANGEの判定をすれば良いのでは?



Dreamer

リンク

2010/11/21(Sun) 22:21:47|NO.35959

説明が不十分の上、下手糞な為皆様を混乱させてしまい申し訳ありません。

状況は u さんの仰るとおりの状況でしたが、
pizza さんの方法により、実装可能でした。
皆様ありがとうございました。



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