テキストボックスに数値(数字)を入力してほしいのですが
その値は数値のみを入力して欲しいときの
判定方法でうまい方法はないでしょうか?
現状ではchangeイベントで
"0"以外で、さらにvalを通して0じゃない場合は数字ではないと
判定しているのですがこの場合だと
"00"、"000"…(以下略)や、文字も混じっている場合"67G"とか
このような場合にうまく判定できません
1ヶ月ほどのんびり考えていたのですが、どうにも良い方法が思いつかないので
うまい方法をご存じの方がいらっしゃったら、ご教授頂けませんか
SetWindowLong(API)を使ってテキストボックスの入力を数字に制限する
という方法では駄目ですか?
それでもコピペされた時は駄目ですけど。
コピペまでして数字以外を入力する人もいないと思うので。
vbvbvb.comでSetWindowLongを検索してみてください。
http://www.vbvbvb.com/jp/
ありがとうございます
さっそく教えて頂いたsetwindowlongを使ってみましたが、
これで十分なようです、ありがとうございます
ついでにもう一つ質問させて下さい
APIというのを使うのは初めてで、サンプルを使って使い方はわかりましたが
このサンプル構文について
Declare Function SetWindowLong Lib "user32.dll" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
のような記述がありましたが、このアンダーバーは
どのような働きがあるのでしょうか?
手持ちの本ではこのような構文について見つけられなく
またネットで調べるにもこれを調べる為に何を調べればいいのかわかりません(^-^;
おぃおぃ、、、試しにとってみれば?
VB は free format じゃないので statement は一行で終わらせなくちゃ
なんない。で、一つの statement を複数行に分割するのに使うのが
'_'(under score) ってことらしいよ。
なさけないことに、'_' を書いたあとに ''' を書いて comment を書くこ
とはできない。 どう解釈したらそういう仕様を作れるんだろね…。
この辺り VB のタコさ加減の残骸か。なんとかしろよ…。
あ、そうなんですか
根っから特殊なものなのだと思いこんでいたので
考えつきませんでした^^;
okuさん、puntoさん、ありがとうございました。