過去の桐井戸端BBS (桐ver.8)
15180 イベントでフォーカスをあるボタンに移したときにポップアップでコメントを表示させたい 磯田 2002/02/21-09:29
こんにちは。現在イベントにはまっています。
イベントって本当に便利ですよね。
最初はとっつきにくかったけど、慣れてくると本当に便利です。
処理速度も一括処理より速いような気がします。
そして何よりもうれしいのが、一括処理だとプログラムにエラーがあると
そこで一括処理は終了してしまうのに対し、
イベントはそのイベントが実行されないだけでフォームはそのままであることです。
ところで、マウスをボタンに合わせたり、フォーカスをそのボタンに移したときに
ポップアップでコメントを表示させたいのですが、
コメントの表示のさせ方が分かりません。
もしかしてものすごく初歩的な質問かもしれませんがよろしくお願いします。
15181 Re:ポップアップのコメント 悲しげ 2002/02/21-11:23
記事番号15180へのコメント
どもっ、磯田さん

>ところで、マウスをボタンに合わせたり、フォーカスをそのボタンに移したときに
>ポップアップでコメントを表示させたいのですが、

これは「マウスインアウト」イベントで設定します。
「ポップアップ」のイメージがどうなのかは、お好みとなりますが、kevの
このイベント手続き定義範囲内に例えば次のように記述します。

1)マウスインで「確認」または「メッセージボックス」コマンドを出す。
  いっちゃん安直です。(^^;)
  コメントの表示を消すにはOK牡丹を押す必要あり。
2)フォームの或る箇所にコメントに相当するオブジェクトを設定しておき、
  オブジェクト属性の表示タブで「画面表示する」のチェックを予め外しておく(即ち画面表示オフにしておく)。
  で、「オブジェクト操作」コマンドでマウスインの時にオン、即ち
     画面表示="1"
  マウスアウトの時に
     画面表示="0"
  と記載する。
3)コメント表示用のフォームを「フォーム呼出し」する。
  呼び出したフォームを閉じる方法は、呼出し先フォームの方で記述する。

15189 Re:ポップアップのコメント taka 2002/02/21-18:31
記事番号15180へのコメント
こんにちは、磯田さん

>ところで、マウスをボタンに合わせたり、フォーカスをそのボタンに移したときに
>ポップアップでコメントを表示させたいのですが

私も以前同じように悩みまして、
色々やった結果下記のようにファミリにその牡丹に対するコメントを書き、
表示場所はマウス移動の座標を取込(ちょっと加工し)、表示時間はタイマーを
仕掛け0.5秒だけ表示するようにして動作しています。
参考になればと思い書きました。

手続き定義開始 ファミリ_1::マウスインアウト(長整数 &フラグ,長整数 &明細番号)
ケース開始
ケース(&フラグ=1)
ケース開始
ケース(&this="データ閲覧ボタン")
&コメント="登録したデータの閲覧・最終検査依頼書の再印刷"
&flag=1
ケース(&this="課別閲覧ボタン")
&コメント="各課毎の最終検査状況の閲覧"
&flag=1
ケース(&this="新規入力ボタン")
&コメント="最終検査依頼の登録及び最終検査依頼書の印刷"
&flag=1
ケース その他
&flag=0
ケース終了
ケース(&フラグ=0)
&flag=0
ケース終了
手続き定義終了

手続き定義開始 フォーム::タイマー1()
if (&flag=1)
if (&disp=0)
&長さ=(#文字数(&コメント))*210
オブジェクト操作 @こめんと.幅 = &長さ /* 文字数*10+3 point */
オブジェクト操作 @こめんと.始点X = &X /* マウス位置[1]-1000 */
オブジェクト操作 @こめんと.始点Y = &Y /* マウス位置[2]-500 */
オブジェクト操作 @こめんと.画面表示 = "1"
オブジェクト操作 @フォーム.タイマー値2 = "1.50"
&disp=1
else
オブジェクト操作 @こめんと.画面表示 = "0"
オブジェクト操作 @フォーム.タイマー値2 = "0.00"
&disp=0
end
else
オブジェクト操作 @こめんと.画面表示 = "0"
オブジェクト操作 @フォーム.タイマー値2 = "0.00"
&disp=0
end
手続き定義終了

手続き定義開始 フォーム::マウス移動(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
if (&flag=1)
オブジェクト操作 @フォーム.タイマー値1 = "0.50"
&disp=0
&X=&マウス位置[1]-1000
&Y=&マウス位置[2]-300
else
オブジェクト操作 @こめんと.画面表示 = "0"
オブジェクト操作 @フォーム.タイマー値1= "0.00"
end
手続き定義終了

15190 Re:ポップアップのコメント 磯田 2002/02/21-19:17
記事番号15181へのコメント
こんばんわ悲しげさん。
投稿してほんの2時間くらいなのに、すぐに回答があり驚きました。
僕は2番の方法でやってみましたが、ばっちりでした。
イベントを使えば市販のソフトに負けないようなユーザーフレンドリーなものが作れそうです。
プログラムを作る最大の目的はデータベースが扱えない人にも操作できるようにすることです。
このポップアップのコメントはそう言う意味ではたいへん重宝します。
本当にありがとうございました。
15191 Re:ポップアップのコメント 磯田 2002/02/21-20:07
記事番号15189へのコメント
こんばんわ。
こんな書き方もあるのですね。
僕はまだまだ力不足のようです。
手本として勉強させていただきたいと思います。
ところで @こめんと というオブジェクトを使っておられるようですが、
そのオブジェクトの設定についてもう少し詳しく教えていただければ幸いです。
15192 Re:ポップアップのコメント 幅田 2002/02/21-20:30
記事番号15191へのコメント
磯田さん
こんばんは。

>こんな書き方もあるのですね。僕はまだまだ力不足のようです。手本として勉強させていただきたい
>と思います。ところで @こめんと というオブジェクトを使っておられるようですが、そのオブジェクトの
>設定についてもう少し詳しく教えていただければ幸いです。

@こめんと というのは表示させたいコメントをソースに書いたテキストオブジェクトだと思われます。
いろいろ方法があると思いますが、私ならいつもこのようにしています。

cボタンというボタンにマウスを移動したら、@こめんと を表示し、
そこから離れて、フォームの部分に移動したら @こめんと の表示を消しています。

−−−−
手続き定義開始 cボタン::マウス移動(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
オブジェクト操作 @こめんと.画面表示 = 1
手続き定義終了

手続き定義開始 フォーム::マウス移動(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
オブジェクト操作 @こめんと.画面表示 = 0
手続き定義終了
−−−−−

なお、↓にも参考記事があります。
http://www.nsknet.or.jp/~habata/kiri7/khint26.htm


15200 Re:ポップアップのコメント taka 2002/02/22-08:30
記事番号15192へのコメント
幅田さん磯田さんこんにちは。

>cボタンというボタンにマウスを移動したら、@こめんと を表示し、
>そこから離れて、フォームの部分に移動したら @こめんと の表示を消しています。

その通りですが、cボタンというボタンにマウスを移動したら0.5秒後に表示し1.5秒後に消すようになります、
ですからボタンをマウスが移動しても0.5秒以内に通過すれば、表示しません。
またコメント文長にあわせ こめんとテキストの長さを調整します。

こめんとテキストは,フォームのどこかあいている所に貼り付けます、但し非表示です。

前回の内容のタイマーは全て1です、一部2となっていましたが誤りです
すみません訂正してください。

戻る