ボタンの無効化

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ボタンの無効化

Re: 遅くなりました。ごめんなさい!

by 淡幻星 » 2005年12月22日(木) 20:54

shojiさん さんが書きました:このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
ということは、電卓でも作っているのでしょうか?
いわゆる無効化でなく単純に無反応にするだけなら、
Dim fPeriod As Long
などのフラグ変数をグローバルに用意して、
その小数点のボタンが押されたときのイベントコーディングの場所に

コード: 全て選択

If( fPeriod = TREU )Then
    'ボタンが押されたときの動作を記述。
    '当然ながら fPeriod = FALSE としておけば、
    'ここの動作はスルーされます。
EndIf
のように記述すれば良いと思いますが・・・望んでいる動作は
こういうことで良いのでしょうか?

※「フラグ変数」というのは、単にON/OFFを管理する変数という意味で
 そう呼んでいるだけ、それようの特別の変数があるわけではありません^^;。
 見れば分かるように唯のLong型です。 

遅くなりました。ごめんなさい!

by shoji » 2005年12月22日(木) 19:30

できました!
見事に押しても押しても反応しませんね。
ただ、ボタンの字が薄くなるのはモロ無効化
している感じですよね。
というのは、このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
僕のほうが説明不足でした。

ほかの方法があればご教授願いたいです。

Re: ボタンの無効化

by 淡幻星 » 2005年12月20日(火) 03:43

例えば、Button1を1回クリックしたら、Button2をクリックするまで
Button1を何度クリックしても、反応しないようにしたいのですができるものでしょうか?
EnableWindow() で出来ます。
使い方はヘルプファイルを見てください。

・・・はさすがに端的過ぎますね(苦笑)。以下修正→追記です。
Button1のIDをCommandButton1とすると

コード: 全て選択

'ボタンを無効にする(何度クリックしても反応しないようにする)
EnableWindow( GetDlgItem(hMainWnd, CommandButton1), FALSE )

'ボタンを有効にする(クリックできるようにする)
EnableWindow( GetDlgItem(hMainWnd, CommandButton1), TRUE )
といった感じになります。

ボタンの無効化

by shoji » 2005年12月20日(火) 03:29

いつもお世話になります。
例えば、Button1を1回クリックしたら、Button2をクリックするまで
Button1を何度クリックしても、反応しないようにしたいのですができるものでしょうか?
よろしくお願いします。

ページトップ