過去の桐井戸端BBS (桐ver.8)
7601 フォームのbmp設定 ジャニー垣添 2000/09/12-17:28
フォームを作成しているんですが、例えば項目が5つ、画像表示をする場所が一つしかないとします。
各項目の画像がそれぞれあった場合に、各項目にカーソルが移動した際に、画像がそれぞれの項目と
リンクさせる事は可能なのでしょうか?

説明下手ですみませんが、よろしくお願い致します。
7605 Re:フォームのbmp設定 宮城 2000/09/12-21:05
記事番号7601へのコメント
ジャニー垣添さん、こんにちは。

テキストボックス5個と画像領域を1個配置したフォームを作ります。表が1つ。
項目名は[ファイル名1]〜[ファイル名5]までとしましょうか。
拡張子混み画像ファイル名をこれらに入力しておいて下さい。
これをフォームのテキストボックスのソースとします。
オブジェクト名は、取りあえず「テキスト_1」〜「テキスト_5」

画像領域のオブジェクト名は「PIC」、ソースはここでは簡単に「&STR」としておきます。

お書きになっていることをさせるのに一番向いてると思われるイベントは「マウスインアウト」です。

フォームのイベントのタブでKEVファイル名を指定し、テキストボックスのオブジェクト属性のイベントのタブで
マウスインアウトにチェックを入れダブルクリックすると、KEV定義が開きます。
「手続き実行うんぬん」と「手続き定義終了」の間に2行空いたものが表示されます。
対象のテキストボックスに対するマウスインアウトイベント時の記載であるとなんとなくわかりますね。
入るときと出るとき2回発生するわけですから「&フラグ」で識別します。

入るときが1、出るときが0になります。
つまり、そのテキストボックスにマウスが入ってきたとき、画像領域のソースである「&STR」に
目的の画像ファイル名を代入してやり、その結果をフォームに反映させてやれば、お望みととおりとなります。

具体的には次のように記述します。

ケース開始
 ケース(&フラグ=1)
  メソッド呼び出し ソース値取得(&STR,0)
  メソッド呼び出し @PIC.再描画(0)
  メソッド呼び出し @フォーム.描画更新()
ケース終了

(実際はこの中で「フォーム」だけは半角カナです。)

この程度ですので、これを1回記述後コピーし、あとは繰り返しながら貼り付ければどうということはありません。

レファランスは見ておいて下さい。
7609 Re:フォームのbmp設定 佐田 守弘 2000/09/12-23:47
記事番号7605へのコメント
ジャニー垣添さん
私も宮城さんとほぼ同じ方法を考えました。
ただし、どのイベントで画像の切替を行うかはもう少し考慮する必要があるかも知れませんね。
もちろんどの様に行っても可能だと思いますが、操作性が多少変わるかと思います。
私の案としては、フォーカス取得イベントを使ってみる方法をお勧めします。
フォーカス取得であれば、キー操作でも可能な点が挙げられるかと思います。

画像を表示するオブジェクトのソースに変数&BMP(宮城さんが書かれている様に&STRでも可)を割り当てます。
表には[BMP1]〜[BMP5]の項目を作り、ここにBMPファイル名を入力しておきます。
フォームにはこれに対応したテキストオブジェクトtBMP1〜tBMP5を作ります。
そして、テキストオブジェクトtBMP1のフォーカス取得イベントに、
 代入 &BMP=[BMP1]
の様な代入式を書き、変数&BMPに該当する項目値を代入します。
代入した後は再描画が必要ですが、これは宮城さんが書かれている通りです。

佐田守弘(KS-00119)


7615 Re:フォームのbmp設定 きりぎりす 2000/09/13-10:28
記事番号7605へのコメント
>具体的には次のように記述します。
>
>ケース開始
> ケース(&フラグ=1)
>  メソッド呼び出し ソース値取得(&STR,0)
>  メソッド呼び出し @PIC.再描画(0)
>  メソッド呼び出し @フォーム.描画更新()
>ケース終了
>
>(実際はこの中で「フォーム」だけは半角カナです。)
>
>この程度ですので、これを1回記述後コピーし、あとは繰り返しながら貼り付けれ
>ばどうということはありません。
余計なことかもしれませんが、
オブジェクトファミリを利用する典型的な例ですね
イベントに慣れてきたら、挑戦してみてください
あと変数ではなく直接ピクチャ領域のソースを変更する方法もあります
この場合再描画は必要ありません、でも宮城さんの方法をお勧めします
すいません蛇足でした。
7622 ありがとうございます ジャニー垣添 2000/09/13-14:11
記事番号7601へのコメント
皆さん、コメントありがとうございます。
実は、まだイベント関係は全く触った事が無かったので、良い機会になります。
これからも、よろしくお願い致します。
7629 Re:ありがとうございます 宮城 2000/09/13-18:15
記事番号7622へのコメント
7627の質問中で私のイベント勉強方法をちょっとご紹介しています。

ファミリーは昨日私のサイトにアップした「郵便番号検索」で使ってあります。
(てこずったのでちょっと宣伝。)

戻る