ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月28日(日) 14:57

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: ボタンの無効化
投稿記事Posted: 2005年12月20日(火) 03:29 
オフライン

登録日時: 2005年9月15日(木) 01:24
記事: 4
お住まい: 東京
いつもお世話になります。
例えば、Button1を1回クリックしたら、Button2をクリックするまで
Button1を何度クリックしても、反応しないようにしたいのですができるものでしょうか?
よろしくお願いします。


通報する
ページトップ
 記事の件名: Re: ボタンの無効化
投稿記事Posted: 2005年12月20日(火) 03:43 
オフライン

登録日時: 2005年7月19日(火) 07:02
記事: 183
お住まい: 宮城県
引用:
例えば、Button1を1回クリックしたら、Button2をクリックするまで
Button1を何度クリックしても、反応しないようにしたいのですができるものでしょうか?
EnableWindow() で出来ます。
使い方はヘルプファイルを見てください。

・・・はさすがに端的過ぎますね(苦笑)。以下修正→追記です。
Button1のIDをCommandButton1とすると
コード:
'ボタンを無効にする(何度クリックしても反応しないようにする)
EnableWindow( GetDlgItem(hMainWnd, CommandButton1), FALSE )

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


通報する
ページトップ
投稿記事Posted: 2005年12月22日(木) 19:30 
オフライン

登録日時: 2005年9月15日(木) 01:24
記事: 4
お住まい: 東京
できました!
見事に押しても押しても反応しませんね。
ただ、ボタンの字が薄くなるのはモロ無効化
している感じですよね。
というのは、このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
僕のほうが説明不足でした。

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


通報する
ページトップ
投稿記事Posted: 2005年12月22日(木) 20:54 
オフライン

登録日時: 2005年7月19日(火) 07:02
記事: 183
お住まい: 宮城県
引用:
このボタンとは実は小数点の「.」なのです。
CLEARするまで、誤ってクリックしても反応しないように
という事だったんです。
ということは、電卓でも作っているのでしょうか?
いわゆる無効化でなく単純に無反応にするだけなら、
Dim fPeriod As Long
などのフラグ変数をグローバルに用意して、
その小数点のボタンが押されたときのイベントコーディングの場所に
コード:
If( fPeriod = TREU )Then
    'ボタンが押されたときの動作を記述。
    '当然ながら fPeriod = FALSE としておけば、
    'ここの動作はスルーされます。
EndIf
のように記述すれば良いと思いますが・・・望んでいる動作は
こういうことで良いのでしょうか?

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


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[16人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean