過去の桐井戸端BBS (桐ver.9)
27891 フォームで作った日報と万年カレンダーとをリンクさせたい けんた 2004/10/08-11:40
桐ver9-2004で作業日報をつくっています。
フォームで入力や過去の日報を確認しようと考えておりますが、
スクロールバーでのレコードの移動が嫌なので、多遊さんがつくられた「ゴミの日カレンダー」を参考にさせて頂き、
万年カレンダーをつくりました。
http://www2u.biglobe.ne.jp/~s_tanaka/pro/gomi/gominohimain.htm
その万年カレンダーの日をクリックすると、その日のレコードが表示されるようにしたいのです(レコードがない場合は、行追加)。

下記のように記述したのですが上手く動いてくれません。

手続き定義開始 カレンダー日付::マウス左ダウン(長整数 &マウス位置[2],長整数 
&明細番号,長整数 &フラグ,参照 長整数 &処理中止)
  メソッド呼び出し &this.ソース値取得(&作業日, 0 )
  &作業日付=#日時値生成(&作業年,&作業月,&作業日)
  位置指定 行番号=1
  検索 [年月日]=&作業日付
  メソッド呼び出し @フォーム.変数変更()
  メソッド呼び出し @フォーム.描画更新()
手続き定義終了
(日を表示するテキストオブジェクトはカレンダー日付という名前でファミリ登録しています。)

どうすれば良いのでしょうか。よろしくお願いいたします。
27894 Re:万年カレンダーとのリンク けんた 2004/10/08-15:58
記事番号27891へのコメント
上記のイベントは行追加まで、考えていません。
とりあえず、指定した日を表示したかったんですが、そこでつまずいてしまいました。
27910 Re:万年カレンダーとのリンク 今村 誠 2004/10/09-18:10
記事番号27894へのコメント
けんたさんこんにちは、どういう改造をされたのか想像もできませんが
データは少しで良いので上記の「井戸端を補完するために」に
作成された関連するフォームをアップしてみては如何でしょうか。
27919 Re:万年カレンダーとのリンク けんた 2004/10/10-07:40
記事番号27910へのコメント
ファイルをUPしました。
よろしくお願いいたします。
27920 Re:万年カレンダーとのリンク 今村 誠 2004/10/10-08:02
記事番号27919へのコメント
けんたさんこんにちは、動かない原因は
1)ファミリーの左ダウンにチェックが入っていないこと
2)日付の左ダウンにチェックが入っていること
3)日付のフォーカス設定可能のチェックが自動になっていること
  ここは禁止にしておかないとマウスで指定したときに変数値の変更になってしまいます。

他は見ていません。
私は左ダウンでなく左クリックに替えて試験しました。
ダウンとクリックはどう違うのでしょうか?
誰か教えて下さい。
27921 Re:万年カレンダーとのリンク けんた 2004/10/10-08:33
記事番号27920へのコメント
今村さん、有難うございます。
ファミリのイベントにチェックを入れないといけなかったんですね。
各日付のオブジェクトにチェックを入れればいいと思っておりました。
また、わからないことがありましたら宜しくお願い致します。

[マウス左ダウン]
マウスの左ボタンを押したときに発生するイベントです。
マウスの左ボタンが押されたときに、一度だけ発生します。

[マウス左アップ]
マウスの左ボタンを離したときに発生するイベントです。
マウスの左ボタンを離した直後に一度だけ発生します。
[マウス左クリック]イベントは、このイベントの後に発生します。

[マウス左クリック]
マウスの左ボタンをクリックしたとき(離したあと)に発生するイベントです。
[コマンドボタン]に定義している機能は、このイベントのあとに実行されます。
このイベントの前に[マウス左アップ]イベントが発生しています。

この順番で発生するんですかね。
私がやろうとしてることは、上記のイベントならどれでもOKなんでしょうね。

27922 Re:万年カレンダーとのリンク 今村 誠 2004/10/10-09:43
記事番号27921へのコメント
けんたさんこんにちは
>[マウス左ダウン]
>[マウス左アップ]
>[マウス左クリック]
>この順番で発生するんですかね。
調べて頂いてありがとうございますクリックが最期だったんですね
最初かと思っていました。
27923 Re:万年カレンダーとのリンク アックン 2004/10/10-11:11
記事番号27922へのコメント
今村 誠さん、こんにちは。ちょっと失礼します。
以下、すでにご存じのことかもしれませんが。

「左アップ」は、マウス左ボタンを押下後、マウスカーソルをオブジェクトからはずしてボタンを離せば、イベントが発生しません。

「左クリック」も同様です。

「左ダウン」だけはイベントを意図的にキャンセルしようがないです。

アックン(=^・^=)
27924 Re:マウスのアップ・ダウン・クリックイベント 悲しげ 2004/10/10-13:32
記事番号27922へのコメント
補足します。
マウス左をクリックする動作で云えば、
(1)まず、マウスを押す動作←この時点でダウンイベント発生。
(2)次に、マウスを押した状態から指を離す動作←この時点がアップイベント。
(3)上記(1)+(2)の動作がセットとして完了した時点がクリックイベント←したがって発生時点は(2)が終わってから。
になるはずです。

で、これらの利用方法ですが、普通は(つまり「ダウン」と「アップ」でやることを区別させる必要がなければ)
マウス左「クリック」1本で十分なのではないでしょうか?>けんたさん

つーか、私はマウス左の「ダウン」のみや「アップ」のみを使ったことはないので、特に用途としても今は思いつきません。
が、「キーアップ」イベントなら使ったことがあります。余談ながらついでにちょっと書いておきますと(^^;)、
ひとつは某キーを押している間だけ(ダウンイベントが発生している間だけ)、あるテキストなりを画面に表示させる。
指を離した時点(アップイベント発生)で表示を消す。
あと、具体的な記述は忘れましたが、矢印キーだったか矢印ボタンだったかを、
押している間だけ(特殊な形で)画面をスクロールさせるような処理にも応用したことがある記憶が・・・・。

あ、書いていて思い出しましたが、マウスのダウン→アップイベントの典型的な使い方ありましたね。
いわゆるドラッグ&ドロップ。(^^;)

27926 違いがわかりました 今村 誠 2004/10/11-08:38
記事番号27923へのコメント
アックンさんこんにちは
>「左アップ」は、マウス左ボタンを押下後、マウスカーソルをオブジェクトか
>らはずしてボタンを離せば、イベントが発生しません。
>
>「左クリック」も同様です。

左アップもクリックも左ボタンをクリック中に違うオブジェクトに移動するとイベントが発生しませんね。

あまりクリックイベントは使用しないので、大変参考になりました。
まとめてで申し訳ありませんが、悲しげさんも具体例の例示
ありがとうございました。

27927 Re:違いがわかりました 今村 誠 2004/10/11-17:34
記事番号27926へのコメント
いろいろテストを重ねてみると、記述に誤りがあるようです。

>左アップもクリックも左ボタンをクリック中に違うオブジェクトに移動すると
>イベントが発生しませんね。

左ダウンと左アップはクリック中に他のオブジェクトに移動しても
最初にダウンしたところのオブジェクト名やソース値にフォーカスがあるようです。
左ダウンイベントは即フォームに反映するが、アップイベントは、
マウスを放した時点で離したオブジェクトでなく、左ダウンの時の
オブジェクトの値やオブジェクト名を取得できるようで、移動中の
テキストオブジェクトのソース値はどのイベントでも習得できないようです。
 また左クリックイベントは、他のオブジェクトに移動すると、発生しないようです。
 他に注意点や誤りがあるときはご指摘下さい。
27931 マウスのアップ・ダウン・移動・インアウト類のケーススタディ 悲しげ 2004/10/11-23:48
記事番号27927へのコメント
【多遊】さんのDLコーナのNo.034(いか様の作品)が標記の勉強のための、まさに宝庫です。(ファミリで設定されています)

ちなみに私は魚屋ではありません。(薬屋でもなくなりつつありますが)

戻る