みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM13
Windows7
お世話になります。
ある画面に「作業開始」ボタンと「作業完了」ボタンがあります。
作業開始を押下するとスタート時間が表示され、
作業終了を押下すると終了時間が表示されます。(別フィールドに)
当画面を開いた時に、「作業開始」ボタンは押下可能だけども
「作業完了」ボタンはVBで言うところのEnabled=False(グレーアウト)に
したいのですが、どのように設定したらよいのでしょうか?
FM13からそういった処理が出来ると聞いていたのですが・・・
よろしくお願いいたします。
13は持ってないけど、ボタンの前面に条件付き書式対応のオブジェクトを
置けば12でも一応できます。
条件付き書式でIsEmpty(スタート時間)文字色を変える
スクリプトは同じ条件で分岐(未スタートなら何もせず終了)
FM13でできるのは「非表示にする」設定なんで、この場合関係なさそう。
作業開始ボタン
変数設定 [$$A;値:1]
「次の場合はオブジェクトを隠す」 $$A=1
(インスペクタ→テータのタグに↑項目があります
作業終了ボタン
変数設定 [$$A;値:0]
私的考えです
13にあるらしい「隠す」機能は、ボタンツールで作ったボタンを
隠した場合はボタンも押せなくなるのでしょうか。便乗・・
13 の隠す機能。
「次の場合にオブジェクトを隠す」は式が真になるとき、オブジェクトが非表示になります。
ボタンは押せなくなります。
今回はグレーアウトさせたいとのことなので、条件付き書式でもいいですし、
押せるボタン(色つき)と押せないボタン(グレー)を作っておいて、
押せるボタンを非表示に設定してもいいでしょう。
条件付き書式だとボタンを押せなくならないので、
誤って押した場合の処理をスクリプトにも書いておかないと思わぬ動作になる可能性がありますね。
Last edited by Moz (2014-04-28 13:12:16)
Offline
半透明のアイコンと、色付きのボタンを、同じデザインのものを重ねて使っています。
オブジェクトを隠すを使って、条件きたときに表示するようにと。
普段は、「作業完了」をグレースケールなり半透明などのアイコンを表示しておく。とうぜん、ボタン機能は無いですね。
作業終了ボタンを押すと、終了時刻が記録され、それを元にIsEmpty(終了時刻)=1とでもして、作業完了ボタンを出すようにする。
Offline
単純に
not IsEmpty(開始時間)で開始ボタンを隠して
IsEmpty ( 開始時間 ) or not IsEmpty ( 終了時間 )で終了ボタンを隠す
とかでいいのでは。
皆様ありがとうございます。
「オブジェクトを隠す」を利用し、
1.画面表示時に変数Aに1を設定(作業完了ボタンは変数Aが1の時隠す)
2.作業開始ボタンが押下された際に変数Aに0を設定(作業開始ボタンは変数Aが0の時隠す)
と設定したのですが、
画面表示時に作業完了ボタンは消えてくれるのですが、作業開始ボタン押下後に作業開始ボタンが消えず、作業完了ボタンも復活してくれません・・・
スクリプトで作業開始ボタン押下時に変数Aに0を設定させていますが、この後に画面リフレッシュのような処理が必要なのでしょうか?
変数の値を変更後にウィンドウの内容を再表示したらうまくいきました。
みなさんありがとうございました。
Pages: 1
[ Generated in 0.006 seconds, 11 queries executed - Memory usage: 562.45 KiB (Peak: 567.34 KiB) ]