過去の桐井戸端BBS (桐ver.9) |
19676 | フォームでのアクセスキーとシステムキーダウンイベントで挙動がおかしい? | ケント | 2003/03/29-16:30 |
皆さんこんにちは 私の地方ではこの4,5日最高気温が10度を越える日が続き 「春だな〜(^.^)」 と実感するこのごろです。 皆さんのところはいかがでしょうか。 桜が咲いている(すでに散っている?)ところもあるんでしょうね。 さて本日V9をいじっていてちょっと気づいたことがあります。 sp1は未導入です。 フォーム上にコマンドボタンを2つ(c_直前値,c_値複写)配置してあります。 機能名 標題 直前値 直前値&P 値複写 値複写&L アクセスキーの機能でALT+P,ALT+Lでそれぞれ使用しています。 ところが、表示モードの時に値複写は機能して直前値は機能しないのが気に入らず、 表示モードでも直前値が機能するように考えてみました。 手続き定義開始 フォーム::システムキーダウン(長整数 &仮想キーコード,長整数 &スキャンコード,長整数 &フラグ,参照 長整数 &処理中止) ケース開始 ケース(#編集状態(1)=0 .and &仮想キーコード=80) *表示モードの時、"ALT+P"をキー入力すると直前値(同一オブジェクトのみ)を複写する。 メソッド呼び出し @フォーム.更新モード設定(2) メソッド呼び出し @c_直前値.実行() メソッド呼び出し @フォーム.更新モード設定(0) &処理中止=1 ケース(&仮想キーコード=80) *訂正挿入追加モードの時、"ALT+P"をキー入力すると直前値(同一オブジェクトのみ)を複写する。 メソッド呼び出し @c_直前値.実行() &処理中止=1 ケース終了 手続き定義終了 こんなもんだろうと、テストするとぜんぜん動きません。 1時間くらいあーだこーだとやって(過去記事の検索もできないし) その結果コマンドボタンの&Lを消すことで解決しました。 おかしいことに&Pはそのままでも"OK"なんです。 "値複写のほうもシステムキーイベントにしろ!!" というお叱りなのでしょうか。 ウ・・ ウン(・_・;)なんだかな〜 | |||
19677 | Re:フォームでのアクセスキーとシステムキーダウンイベント | 今村 誠 | 2003/03/29-18:01 |
記事番号19676へのコメント ケントさんこんちは、桐9sp1でテストしてみました。 オブジェクト名 c値複写 表題 &L)値複写 → 機能 機能パラメータリスト 1 訂正 2 値複写 3 表示 確定する 文字列でも数値でもエラーはありません。 アクセスキーも動作しました。 しかし、表引き設定をした項目のテキストで実行すると 値複写の窓の上に表引きウィンドウが表示されて、 表引きをキャンセルし値複写を選ぶと、桐が終了されました。 win2000です。 同じコマンドボタンを桐8sp7にコピーして実行すると。 正常な動作をします。 桐8sp7安定感がありますね。 | |||
19727 | Re:フォームでのアクセスキーとシステムキーダウンイベント | ケント | 2003/04/04-15:35 |
記事番号19677へのコメント 今村 誠さん こんにちは 身内で不幸が有り返事が遅くなりました。あしからず。 >ケントさんこんちは、桐9sp1でテストしてみました。 >オブジェクト名 c値複写 >表題 &L)値複写 >→ 機能 機能パラメータリスト >1 訂正 >2 値複写 >3 表示 確定する >文字列でも数値でもエラーはありません。 >アクセスキーも動作しました。 値複写のほうは → 機能 機能パラメータリスト 1 値複写 のみでテキストボックスが表示状態でも編集状態でも機能します。 直前値のほうが → 機能 機能パラメータリスト 1 直前値 だけでは表示状態で機能しないので前出のコメントとなりました。 でも機能名の選択フォームで 【説明】テキストボックスが編集状態のときに直前値を貼り込む。 とあるので仕様なのでしょう。 今村さんご指摘のように → 機能 機能パラメータリスト 1 訂正 2 直前値 3 表示 確定する とすることで問題は解決されました。ありがとうございます。 これでシステムキーダウンのイベントは不要となりました。 アクセスキーとシステムキーダウンがオーバーラップしたときの 挙動不審の部分は時間がないので深く追求しない...ということで。 |