過去の桐井戸端BBS (桐ver.9)
27949 コマンドボタンに変数値を設定しているがどのボタンを押してもうまく変数値が代入されない くもん 2004/10/13-11:44
いつも済みません、またよろしくお願いします。
以下のようにコマンドボタンを定義しています。

コマンドボタン名   機能名     機能パラメータリスト

ボタン1       なし      #代入(&職番,"01")       
           ファイル    閉じる
ボタン2       なし      #代入(&職番,"02")
           ファイル    閉じる
ボタン3       なし      #代入(&職番,"03")
           ファイル    閉じる
ボタン中止      なし      #代入(&中止,"99")
           ファイル    閉じる

上記設定でいずれのボタンを押しても &中止には"99"と設定されます。
&中止の代入式はボタン中止のパラメータにのみ書いてあっても、ボタン1〜4のいずれを押した場合でも
&中止の値は"99"と設定されます。
ボタン中止を押した場合にのみ&中止の値が"99"に設定されるようにしたいのですが
可能なら機能名とパラメータの書き方を教えて頂けませんか。
よろしくお願いします
27951 Re:コマンドボタンに変数値設定 悲しげ 2004/10/13-12:04
記事番号27949へのコメント
挙げられたやり方だと、&棚番と&中止は全く独立しているので、以前に
&中止に代入された値が残存しているようなことも大いにあり得ます。

対策としては、&中止を使わずに全て&棚番で処理し、

コマンドボタン名  機能名   機能パラメータリスト・・・・・
ボタン中止     なし    #代入(&棚番,"99")・・・・・

とするか、あるいは

コマンドボタン名  機能名   機能パラメータリスト
ボタン1      なし    #代入(&職番,"01"),#代入(&中止,"")・・・・・
ボタン中止     なし    #代入(&職番,""),#代入(&中止,"99")・・・・・

とかやったらどうでしょう?

27953 Re:コマンドボタンに変数値設定 くもん 2004/10/13-15:59
記事番号27951へのコメント
悲しげ様いつもお世話になります。早速のコメント有難うございます。
この件ご指導のとおりでうまく行きました。が新しい問題にぶっかりました。
このWFMは一括処理から呼び出していますがコマンドボタンを押さずEnterキーを押すと一括処理に戻ります。
この場合も&中止に"99"が設定されます。Enterキーが押されてことを識別する方法は有りませんでしょうか。
できましたらよろしくお願いいたします。たびたび申し訳有りません。

27956 Re:コマンドボタンに変数値設定 悲しげ 2004/10/13-22:27
記事番号27953へのコメント
>このWFMは一括処理から呼び出していますがコマンドボタンを押さずEnterキーを
>押すと一括処理に戻ります。この場合も&中止に"99"が設定されます。
>Enterキーが押されてことを識別する方法は有りませんでしょうか。

「WFMは一括処理から呼び出して」いるのがどのような呼び出し方なのか
不明なので、何ともコメントし難いところがあります。(ひょっとしてV7的に
「ウィンドウ会話」コマンド方式でやっているのなら、私はそれを使っていないので全く判りません)

が、想像できるのは、もしかすると中止ボタンにフォーカスがある時に
[Enter]を押す=フォーカスのあるボタンをクリックしたと同じことになっているのかも?
とすれば、[Enter]押すのは、フォーカスを矢印キー等で希望するオブジェクトに移してから、にするとか。(^^;)

全てのボタンを[Enter]で反応させないようにしたいのなら、コマンドボタンの
オブジェクト属性で「表示」タブ/フォーカス設定可能を「キー操作禁止」に設定することで可能です。
すると、マウスクリックにしか反応しなくなります。私は大抵はそのように設定するようにしています。
が、より緻密に制御したければ、「キーダウン」イベントの出番となります。

27958 Re:コマンドボタンに変数値設定 くもん 2004/10/14-08:12
記事番号27956へのコメント
悲しげ様有難うございます。上記に該当しました。
別にコマンドボタンを1個作成、オブジェクトリストでこのボタンを上位置することで
すべて希望通り解決できました。ほんとうに有難うございました

戻る