イメージコントロールで、ダブルクリック
イメージコントロールと、ラベルコントロールを、画面フォーム上に配置します。
Edit項目を配置して、そこにF5検索機能を有効とした場合。
・イメージコントロール上でダブルクリックしても、Edit項目の検索PGが起動します
が、
・ラベルコントロール上でダブルクリックした場合は、Edit項目の検索PGが起動しません。
これは、マジックの仕様でしたでしょうか?
-
ロジック上で、そのイベントを発動するときの「コントール」の設定はどうなっていますか?
-
検索PGは、Edit項目のプロパティに設定しています。
(もしかして、この設定で「前置き」が原因?でも、下記のようにラベルコントロールを配置して、ラベルコントロールをダブルクリックしても、検索プログラムは起動しなかったので?とおもいました。
ダブルクリックのイベント指定していません。
検索PGの起動は、Edit項目でのズームで実行するようにしています(Edit項目のプロパティで設定)
たまたま、Edit項目と同じタスク内の、イメージコントロールをダブルクリックしたところ、Edit項目で定義した検索PGが起動されたので、おや。こんな仕様だったかな。と思い確認いたしました。
そんなタスク内に、ラベルコントロールを配置して実行したところ、ラベルコントロール上でダブルクリックしても、Edit項目で定義した検索PGは起動されませんでした。
このままでも、大きな問題があるわけでは無いので、良いといえばよいのですが、イメージコントロールには、ラベルコントロールとは別に、何かイベントに反応するのかなと思いまして。確認した次第です。
-
Editコントロールのモデルには、検索PGの設定はしておりません。
また、イメージコントロールに、検索PGを設定するプロパティは、無いと思います。
-
検索PGは、エディットコントロールの、「選択プログラム」に設定しているだけです。
ダブルクリックをする際に、イメージコントロール上でダブルクリックをすると、イメージコントロールに割り当てしていない、また。ダブルクリックのイベントも記述していないのにもかかわらず、関係ないエディットコントロールの検索プログラムが起動するのは、なぜか?
-
ダブルクリックで発生するイベントは、何になるでしょう。
エディットコントロールにカーソルがある状態で、同じ階層内のイメージコントロールでダブルクリックすると、カーソルパークしている項目の、ズームイベントが発生するのでしょうか?
それが、同じ階層のラベルコントロールでダブルクリックで発生しないのは(何も反応しないのは)なぜでしょう。。。
-
そのタスクに上位タスクはありませんか?
上位タスクがあって、その中で「スコープ:S=サブツリー」のイベントが効いている可能性もありますね。
-
上位タスクはありません。
ISHIJIMAさん
確かに、エディットコントロールのプロパティ、選択プログラムを使用しなくして、ロジック中に検索PGをCallするようにしたら、イメージコントロール上でダブルクリックしても検索プログラムが起動しなくなりました。
選択プログラムの機能が出てきたときは、これは便利!と思いパラメータ、1:1のときはこちらの方式にしていました。
そうですね、サンプルを用意して、MSJサポートにも質問してみます。
選択プログラムが指定してあると、イメージコントロール上でダブルクリックすると、なぜかダブルクリックのイベントは拾えないようです。
ISHIJIMAさん
ありがとうございました。
-
一応、念のために、そのプログラムがコールプログラムで他のプログラムから呼ばれていないか、あるいはすべてのタスクの上位タスクであるところのメインプログラムで設定されていないかも確認してみてください。このとき、「ズーム」もダブルクリックに含まれますので、それも探してみるといいかと思います。
-
tanda さん。
ありがとうございます。
他PGからも、メインプログラムからもCallされていません。
「ズーム」も、ダブルクリック、そうですね。それ、きになっていました。
メインプログラムは結構シンプルです。検証環境としてみましたので、メニュー起動とかもありません。ある意味、素のままです。
ISHIJIMAさん
再現して頂けたようで、ありがとうございます。
イメージコントロールでのダブルクリックのイベント、私も確認できました。
今回のPGは、1個のエデイットコントロールと、イメージコントロールでした。
原因追及で、シンプルにと心掛けて、もう少し確認してみます。
イメージコントロールでのダブルクリックイベントが発行されると、ダブルクリックイベント=ズーム
エデイットコントロールしか、カーソルがパークしないので、それで、検索PGが起動したのかと考えました。
エデイットコントロールの、選択プログラムを無くして、ロジック中に移動た後は、イメージコントロールでダブルクリックすると、そのイベントは拾えました。
エデイットコントロールの、プロパティ-選択プログラムの使い方に注意ですね。
皆様、ありがとうございました。
-
ISHIJIMAさん
そうですね。いつまでもRM互換にたよらずに。
次の xpa 5からはきっとRM互換は非サポートになるかもしれませんしね。
イベント主体の方が分かりやすいですね。RIA開発で大分なれてきているつもりです。
ありがとうございました。
サインインしてコメントを残してください。
コメント
10件のコメント