いつもお世話になります。
例えば、Button1を1回クリックしたら、Button2をクリックするまで
Button1を何度クリックしても、反応しないようにしたいのですができるものでしょうか?
よろしくお願いします。
ボタンの無効化
Re: ボタンの無効化
EnableWindow() で出来ます。例えば、Button1を1回クリックしたら、Button2をクリックするまで
Button1を何度クリックしても、反応しないようにしたいのですができるものでしょうか?
使い方はヘルプファイルを見てください。
・・・はさすがに端的過ぎますね(苦笑)。以下修正→追記です。
Button1のIDをCommandButton1とすると
コード: 全て選択
'ボタンを無効にする(何度クリックしても反応しないようにする)
EnableWindow( GetDlgItem(hMainWnd, CommandButton1), FALSE )
'ボタンを有効にする(クリックできるようにする)
EnableWindow( GetDlgItem(hMainWnd, CommandButton1), TRUE )
遅くなりました。ごめんなさい!
できました!
見事に押しても押しても反応しませんね。
ただ、ボタンの字が薄くなるのはモロ無効化
している感じですよね。
というのは、このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
僕のほうが説明不足でした。
ほかの方法があればご教授願いたいです。
見事に押しても押しても反応しませんね。
ただ、ボタンの字が薄くなるのはモロ無効化
している感じですよね。
というのは、このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
僕のほうが説明不足でした。
ほかの方法があればご教授願いたいです。
Re: 遅くなりました。ごめんなさい!
ということは、電卓でも作っているのでしょうか?shojiさん さんが書きました:このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
いわゆる無効化でなく単純に無反応にするだけなら、
Dim fPeriod As Long
などのフラグ変数をグローバルに用意して、
その小数点のボタンが押されたときのイベントコーディングの場所に
コード: 全て選択
If( fPeriod = TREU )Then
'ボタンが押されたときの動作を記述。
'当然ながら fPeriod = FALSE としておけば、
'ここの動作はスルーされます。
EndIf
こういうことで良いのでしょうか?
※「フラグ変数」というのは、単にON/OFFを管理する変数という意味で
そう呼んでいるだけ、それようの特別の変数があるわけではありません^^;。
見れば分かるように唯のLong型です。