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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0804
えーinputで改行やESCキーを正確にチェックするには?3解決


えー

リンク

2006/8/4(Fri) 12:41:51|NO.1781

この前の疑問は自分で解決できたんですが、これは
どうもわからないので教えてください。
inputで文字を入力する際に、ユーザーが改行キー、もしくはESCキー
を押すと、inputの処理をその場で中止させたいのです。
stickやgetkeyで改行キー・ESCキーをチェックすると、
もしユーザーが全角モードで漢字を変換していた時でも、
おかまいなしにキー情報を取得しています。
改行コードの"\n"を調べることで、改行キーの場合はなんとか対応できるんですが、
ESCキーの場合、ユーザーが全角モードで入力中なのか調べる方法が
わかりません。
よろしくお願いします。



この記事に返信する


は?

リンク

2006/8/4(Fri) 12:52:05|NO.1782

この投稿どう思いますか?もし気づいたことがあるなら自分の投稿を考え直して頂きたいです。何も気づかないというならどうぞそのまま続けててください。とりあえず自分は今のままでは答える気はありません。



Drip

リンク

2006/8/4(Fri) 20:50:21|NO.1791

Dripです。

 えーさん、こんにちは。
stickやgetkeyはハードウェアから受け取った情報を取得しているだけなので、
IME操作中のキー入力も受け取ってしまいますね。
この問題は、onkeyやoncmd等のWindowsからのウィンドウメッセージを取得する命令を
使用することで解決できます。
 初心者のうちは陥り易い問題だと思うので、google等で「ウィンドウメッセージ」と検索して、
Windowsのメッセージについて学習すると良いと思います。
ツール作りにはとても役に立つと思いますよ。

 IME操作以外のキー入力のみを受け付けるサンプルを以下に示します。

onkey gosub *key mes "名前を入力してEnterキーを押して下さい。ESCキーでプログラムを終了します。" n="":input n,100,20,16 stop *key if wparam=27:end if wparam=13:mes "あなたは"+n return



えー

リンク

2006/8/5(Sat) 00:45:54|NO.1795

どうもありがとうございます。
こんなに簡単な方法で解決できるでんすね。
いい勉強になりました。



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