過去の桐井戸端BBS (桐ver.8)
8578 メニュー作成について(一括処理) KH 2000/11/14-09:35
メニューの作成方法についての質問です。
私自身は、現在メインメニューを

    ウインドウ作成
    繰り返し
        ウインドウ会話
           ・
           ・ ボタンのオブジェクトの取得と処理分岐
           ・
    繰り返し終了

でメインメニューを作成しマウスのクリックで各処理に飛んで、処理が終わったらメインメニューに戻る構造なのですが、
ふと疑問に思っていることがあります。
ボタンをカーソルキーで移動でしてEnterで処理を選択できないことです。
マウスでのクリックとカーソルキーで移動しEnterを押すことを、どちらでも受け付けるようなメニューは
一括処理でどのように構成すればよいのでしょうか、教えてください。
8582 Re:メニュー作成について(一括処理) bonito 2000/11/14-11:44
記事番号8578へのコメント
KHさん、私自身はもう一括はぜんぜん(?)使用していませんが、
コマンドボタンの属性〜表示タブ〜フォーカス設定可能欄 を
「許可」にするだけでは駄目ですか?
ここの欄のHELPには有効な情報があります。ご参照下さい (^^;

8597 Re:メニュー作成について(一括処理) KH 2000/11/14-19:41
記事番号8582へのコメント
>コマンドボタンの属性〜表示タブ〜フォーカス設定可能欄 を
>「許可」にするだけでは駄目ですか?
>ここの欄のHELPには有効な情報があります。ご参照下さい (^^;


 bonitoさんはご返事どうもありがとうございます。

どうも「許可」だけではダメなようです。
この許可の意味も、コマンド機能名以外の動作も許可するという事なのでしょうか。
ここの機能名も「一括処理に戻る」だけですから、一括処理の部分で受け付けないと思うのですが。

8602 メニューの作成 佐田 守弘 2000/11/14-23:03
記事番号8578へのコメント
KHさん
お書きになっている方法は、一括処理でメニューのフォームを表示する方法ですね。
この方法の場合、コマンドボタンには「一括に戻る」の機能を設定してあると思います。
この方法で行ってあれば、マウス操作でもカーソルキー操作でもメニュー選択ができるはずです。

■メニューのフォームを先に開く方法の場合
桐ver.8でしたら、一括処理を使わない方法が良いと思います。
●メニューがチャイルドの場合
機能名の「開く(開きたいフォーム)」「閉じる」で新しいフォームを呼び出すのが便利です。
●メニューがポップアップの場合
ポップアップフォームの場合、他のフォームを開いてから自分を閉じる事ができません。
この場合には、イベント(一般手続き)の中でフォーム呼出しを行って下さい。
なお、コマンドボタンを実行させる場合、マウスダウンイベントを使うのは好ましくありません。
マウスダウンイベントではカーソルキーでの操作ができなくなります。
マウスでもカーソルキーでも操作したい場合には、コマンドボタンには「手続き実行」を設定し、
イベントハンドラではなくて一般手続きで実行して下さい。

佐田守弘(KS-00119)
8609 Re:メニューの作成 KH 2000/11/15-09:07
記事番号8602へのコメント
先生有難うございます。でも、さっぱり理解できません。

>一括処理でメニューのフォームを表示する方法ですね。
>この方法の場合、コマンドボタンには「一括に戻る」の機能を設定してある
>と思います。この方法で行ってあれば、マウス操作でもカーソルキー操作でもメ
>ニュー選択ができるはずです。

この状態で,マウスでしか選択できません。
カーソルキーで移動はしますが、Enterは受け付けません。
つまり処理にうつりません。
これを何とか改良したいと思っています。
キーボード入力後などマウスを放した時、メニューからまたすぐキーボード入力に移る時、
マウスに戻るのが億劫になることが頻繁に出てくるようになったから。

>■メニューのフォームを先に開く方法の場合
>桐ver.8でしたら、一括処理を使わない方法が良いと思います。

スタートは、一括処理で始まっています。
一括処理から始まる理由は気休めなのですが、担当別の利用者コードを入力するからです。
一括処理からメインメニューを開いています。


>●メニューがポップアップの場合
>ポップアップフォームの場合、他のフォームを開いてから自分を閉じる事ができ
>ません。この場合には、イベント(一般手続き)の中でフォーム呼出しを行って下
>さい。
>なお、コマンドボタンを実行させる場合、マウスダウンイベントを使うのは好ま
>しくありません。マウスダウンイベントではカーソルキーでの操作ができなくな
>ります。
>マウスでもカーソルキーでも操作したい場合には、コマンドボタンには「手続き
>実行」を設定し、イベントハンドラではなくて一般手続きで実行して下さい。

メインメニューはポップアップですが、メインメニューの部分はイベントを使っていません。
ここより先の部分の階層下のメニューではイベントを使ったりしていますが、
メインメニューではボタンが多いのとイベント不慣れなためイベントを使う気になれないのです。
一括処理(最初の質問の一括処理構造)での解決方法はありませんか?
そのためのフォーム定義をいじるのは構いません。
最近は、皆さん古典一括とおっしゃりイベントに移って折られる傾向がありますが
DOSからのコンバート組みはどうしても一括にこだわってしまいます。
よろしくお願いします。

8611 Re:メニューの作成(cmdの場合) 悲しげ 2000/11/15-12:08
記事番号8609へのコメント
KHさん、どもっ

>>一括処理でメニューのフォームを表示する方法ですね。
>>この方法の場合、コマンドボタンには「一括に戻る」の機能を設定してある
>>と思います。この方法で行ってあれば、マウス操作でもカーソルキー操作でもメ
>>ニュー選択ができるはずです。
>
>この状態で,マウスでしか選択できません。カーソルキーで移動はしますが、
>Enterは受け付けません。つまり処理にうつりません。これを何とか改良
>したいと思っています。キーボード入力後などマウスを放した時、メニューから
>またすぐキーボード入力に移る時、マウスに戻るのが億劫になることが頻繁に出
>てくるようになったから。

変ですね。
私は上記のように設定したものを(v7時に作ったものをv8でも)使っていますが、
当然ながら、矢印キーで移動した後、[Enter]で処理指定可能です。
のみならず、マウスクリックもアクセスキー(設定してあれば[Alt]+[某]キー)も有効です。
ですから、khさんの場合、どっか設定が変なんじゃないでしょうか?

ちなみに私は「コマンド釦→一括に戻る」方式はv8以降久しく作っておらず、
細部はすっかり忘れてしまいましたので、すいませんが、原因追求にはご協力できません。
結果のみにて失礼します。
8613 Re:メニューの作成(cmdの場合) KH 2000/11/15-12:39
記事番号8611へのコメント
>変ですね。私は上記のように設定したものを(v7時に作ったものをv8でも)使っ
>ていますが、当然ながら、矢印キーで移動した後、[Enter]で処理指定可能です。
>のみならず、マウスクリックもアクセスキー(設定してあれば[Alt]+[某]キー)
>も有効です。
>ですから、khさんの場合、どっか設定が変なんじゃないでしょうか?


悲しげさん有難うございます。

フォーム定義での設定が変と言うことでしょうか。
一括の戻った時の構造が変ということでしょうか。

とりあえずフォーム定義を調べてみます。
8614 Re:メニュー作成について(一括処理) hidetake 2000/11/15-13:14
記事番号8578へのコメント
>ボタンをカーソルキーで移動でしてEnterで処理を選択できないことです。

ちなみに、スペースキーは受け付けると思います。

8615 Re:メニュー作成について(一括処理) hidetake 2000/11/15-13:43
記事番号8614へのコメント
要は桐のバグだと思うのですが、ウィンドウ会話に「許可作業=なし」の指定があるとき、
「ボタン=&ボタン名」とした場合に、その後で、&ボタン名の存在でループを抜け出すようにしていると思うのですが、
Enter では「&ボタン名」が返って来ず、#未定義となります。
スペースキーやマウスでの指定では正常に設定されます。

以前は、このように指定していても通っていたような気がするのですが、私も同じ事で悩みました。

8616 Re:bonitoさんお蔭様で解決しました。 KH 2000/11/15-14:14
記事番号8597へのコメント
>>コマンドボタンの属性〜表示タブ〜フォーカス設定可能欄 を
>>「許可」にするだけでは駄目ですか?
>>ここの欄のHELPには有効な情報があります。ご参照下さい (^^;
>

 ウィンドウ会話コマンドの許可作業を「なし」にしていたのですが、
もしやと思い*に変更しました。(ここは行訂正など何でもいいのでは?)
すると、しっかりEnterを受け付けるようになりました。
Bonitoさんのヒントのおかげで解決いたしました。有難うございました。
またよろしくお願いします。
8617 Re:お蔭様で解決しました。 KH 2000/11/15-14:22
記事番号8615へのコメント
>要は桐のバグだと思うのですが、ウィンドウ会話に「許可作業=なし」
>の指定があるとき、「ボタン=&ボタン名」とした場合に、その後で、
>&ボタン名の存在でループを抜け出すようにしていると思うのですが、
>Enter では「&ボタン名」が返って来ず、#未定義となります。
>スペースキーやマウスでの指定では正常に設定されます。
>
>以前は、このように指定していても通っていたような気がするのです
>が、私も同じ事で悩みました。


ウィンドウ会話コマンドの許可作業を「なし」にしていたのですが、
もしやと思い*に変更しました。(ここは行訂正など何でもいいのでは?)
すると、しっかりEnterを受け付けるようになりました。
単にメニューのためのフォームでしたので編集表はありません。
したがって許可作業など必要ないと思っていたのが間違いでした。

hidetakeさん本当に有難うございました。とても心強く思います。
またよろしくお願いします。
8619 Re:助かりました。奮起して解決できました。 KH 2000/11/15-14:36
記事番号8611へのコメント
ごめんなさいタイトルかえるの忘れました。同じコメント再度入れました。

 悲しげさん有難うございました。
必死になって原因を探しましたがあっけない幕切れでした。
すべて私の思い込みのせいです。
ウィンドウ会話コマンドの使い方でした。
またよろしくお願いします。私は、超単純系−古典一括主義です(?)。

8629 Re:有難うございました。 KH 2000/11/15-21:29
記事番号8602へのコメント
>KHさん
>お書きになっている方法は、一括処理でメニューのフォームを表示する方法です
>ね。この方法の場合、コマンドボタンには「一括に戻る」の機能を設定してある
>と思います。この方法で行ってあれば、マウス操作でもカーソルキー操作でもメ
>ニュー選択ができるはずです。

佐田先生有難うございました。そうそうたるメンバーの方々からコメントおいただき、
多分今夕、先生から追加のコメントがいただけるだろう前にお蔭様で解決できました。
先生のコメントのあとリプライしたら直ぐに沢山のリプライコメントが付き先生のおっしゃる通りで来ました。
ああなんと軽率な事をしていた事か。
今日実は最初は先生のHPに直接投稿させてもらおうかと迷いましたが、
多分時間がかかるだろうと思いこちらに投稿した次第でした。
有難うございました。
またこれからもよろしくお願いします。

戻る