(現在 過去ログ16 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■2262 / inTopicNo.21)  Re[2]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
  
□投稿者/ ONnoji -(2007/03/13(Tue) 12:26:29)
    > 左ダウンイベントは瞬間的に終わってしまうので「間」というのは意味ないですよね。
    > 「ドラッグ中」変えておきたい、ということなんでしょうけど
    > 桐の中で左ダウンした後ドラッグして「桐の外で」左アップしてしまうと
    > もうドラッグしてないのに桐の中ではドラッグ中と認識されてしまいますね。
    > これを解決する方法はなさそうな気がしますが。。。

    普通同じオブジェクトの、
    [マウス左ダウン]→[マウス移動]→[マウス左アップ]の順番でドラッグ&ドロップを実現すると思うのですが、
    明細部のオブジェクトの[マウス移動]と[マウス左アップ]イベントは、ヘッダ部では発生しないようですね。

    ※余談ながら、ドラッグ中にESCで中断できないと使いにくいですよ。

    詳しく調べたわけではありませんが・・・、
    マウス左ダウンの瞬間にマウスポインタの形状を変更するのは無理のようですね。


引用返信 [メール受信/OFF] 削除キー/
■2263 / inTopicNo.22)  Re[1]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ アックン -(2007/03/13(Tue) 18:46:09)
    広田さん、こんにちは。サンプルをアップします。(V9 2006対応)
    マウスポインタは適当なものに変更してください。
    C:\WINDOWS\Cursors にいろいろあります。サンプルには怪獣のアニメを使っており、動いている尻尾の端が普通の矢印カーソルの先端になります。
    以下にイベントをコピペします。V8も動くと思うんですが。
    遠慮なく直してください。>ALL

    名札 メイン
    変数宣言 文字列{&場所リスト[10]}  /* 変更ナシ */
    変数宣言 文字列{&名前,&場所}    /* 変更ナシ */


    手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
    絞り込み 単一化={[場所]}  /* 変更ナシ */
    検索 [名前]{#COND([場所]="","A",1,#計算(#代入(&場所リスト[#行番号],[場所]),""))}  /* 変更ナシ */
    解除 1 /* 変更ナシ */
    手続き定義終了

    手続き定義開始 フォーム::レコード移動(長整数 &行番号,長整数 &総件数,長整数 &明細番号)
    &秒 = &行番号 /* 組み込み変数で代用しました。 */
    手続き定義終了

    手続き定義開始 フォームヘッダ部::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
    call マウスポインタ標準()
    手続き定義終了

    手続き定義開始 フォーム明細部::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
    call マウスポインタ標準()
    手続き定義終了

    手続き定義開始 ファミリ_1::マウス左ダウン(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
     object @フォーム .マウスポインタの種類 = "dinosau2.ani"
     object @ファミリ_1.マウスポインタの種類 = "dinosau2.ani"
     object @ファミリ_2.マウスポインタの種類 = "dinosau2.ani"
    手続き定義終了

    手続き定義開始 ファミリ_2::マウス移動(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
    メソッド呼び出し &this.ソース値取得( &場所, 0 )   /* 変更ナシ */
    手続き定義終了

    手続き定義開始 ファミリ_2::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
    call マウスポインタ標準()
     method @フォーム.更新モード設定( 0 )
     ジャンプ 行番号 = &秒
     行訂正  [場所] = &場所
    手続き定義終了

    proc マウスポインタ標準()
     object @フォーム .マウスポインタの種類 = "標準"
     object @ファミリ_1.マウスポインタの種類 = "標準"
     object @ファミリ_2.マウスポインタの種類 = "標準"
    end

    久々に訪れました。 アックン(=^・^=)


20070313.lzh
/9KB
引用返信 [メール受信/OFF] 削除キー/
■2264 / inTopicNo.23)  Re[3]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ うにん -(2007/03/13(Tue) 21:03:28)

    > 普通同じオブジェクトの、
    > [マウス左ダウン]→[マウス移動]→[マウス左アップ]の順番でドラッグ&ドロップを実現すると思うのですが、

    ん??
    ドラッグ&ドロップは「何か」を掴んで(ダウン)「何か」に落とす(アップ)
    のだから、「同じオブジェクト」ということは普通ないですよね?

    > 明細部のオブジェクトの[マウス移動]と[マウス左アップ]イベントは、ヘッダ部では発生しないようですね。

    これも?? ヘッダ部に限らず、マウスのイベントが発生するのはカーソルの
    下にあるオブジェクトのイベントだけです。あるオブジェクトでマウスダウン
    イベントが発生したからといって、その後そのオブジェクトでマウスアップ
    イベントが発生するとは限りません。
    (だもんで、桐の外でマウスアップすると桐はアップしたことを感知できません)

    > ※余談ながら、ドラッグ中にESCで中断できないと使いにくいですよ。

    おお!ESCで中断できるんですね。。。いつもわざわざ禁止領域まで持ってくか
    右クリックしていた^^;

引用返信 [メール受信/OFF] 削除キー/
■2265 / inTopicNo.24)  Re[2]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ うにん -(2007/03/13(Tue) 21:20:02)
    > 明細部の対象レコードに行移動し、そのレコードをヘッダ部の目的(ここではAかB)に
    > ドラッグ&ドロップして、[場所]を行訂正させています。

    本題とはちょっとずれてるような気がしますが、この処理が理解できません。
    ヘッダ部のテキストはソースが変数になってますから、行訂正でなく変数への
    代入でないとおかしいのでは?
    「ヘッダ部にある値を使って行訂正する」のが目的なら、「ヘッダ部の
    オブジェクトを名細部にドロップ」でないと変です。

    > ドラッグ&ドロップ実行中にマウスポインタの形(種類)を変えたいのですが可能でしょうか?

    変なとこにコメントつけてしまいましたが、あらゆるケースを考えてしまうと
    可能とは思えません。

引用返信 [メール受信/OFF] 削除キー/
■2266 / inTopicNo.25)  Re[2]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ うにん -(2007/03/13(Tue) 21:20:38)
    多分、

    手続き定義開始 ファミリ_1::マウス左ダウン(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
     object @フォーム .マウスポインタの種類 = "禁止カーソル"
     object @ファミリ_1.マウスポインタの種類 = "禁止カーソル"
     object @ファミリ_2.マウスポインタの種類 = "dinosau2.ani"
    手続き定義終了

    とすると広田さんの希望に近いのでは?
    (ドラッグ先のヘッダ部テキスト以外では禁止カーソルになる)

    ただ、
    OnNojiさんの「左ダウンしたオブジェクトから出るまではカーソルが変わらない」
    私の「桐の外(というより、フォームの外ですね)でマウスアップしてそのまま
    マウスをフォームに戻すとドラッグ中のようになる」
    といった問題があります。

引用返信 [メール受信/OFF] 削除キー/
■2267 / inTopicNo.26)  Re[4]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ ONnoji -(2007/03/13(Tue) 21:55:09)
    2007/03/13(Tue) 22:54:30 編集(投稿者)
    2007/03/13(Tue) 22:29:40 編集(投稿者)
    2007/03/13(Tue) 22:27:43 編集(投稿者)
    2007/03/13(Tue) 22:26:33 編集(投稿者)

    >>普通同じオブジェクトの、
    >>[マウス左ダウン]→[マウス移動]→[マウス左アップ]の順番でドラッグ&ドロップを実現すると思うのですが、
    > ん??
    > ドラッグ&ドロップは「何か」を掴んで(ダウン)「何か」に落とす(アップ)
    > のだから、「同じオブジェクト」ということは普通ないですよね?

    なるど!、私が想定していたのは、ドラッグですね。
    すなわち、直ちにマウスカーソルが変化して、ドラッグ可能のサインを示すものです。


    >>明細部のオブジェクトの[マウス移動]と[マウス左アップ]イベントは、ヘッダ部では発生しないようですね。
    > これも?? ヘッダ部に限らず、マウスのイベントが発生するのはカーソルの
    > 下にあるオブジェクトのイベントだけです。あるオブジェクトでマウスダウン
    > イベントが発生したからといって、その後そのオブジェクトでマウスアップ
    > イベントが発生するとは限りません。
    > (だもんで、桐の外でマウスアップすると桐はアップしたことを感知できません)

    なるほど…、そもそも、話自体が噛みあっていなかったようですね。

    >>※余談ながら、ドラッグ中にESCで中断できないと使いにくいですよ。
    > おお!ESCで中断できるんですね。。。いつもわざわざ禁止領域まで持ってくか
    > 右クリックしていた^^;

    そんなに都合よくなっていませんよ〜!。
    キーダウンイベントでESCキーを拾わない限り、中断処理は出来ませんよぉ。

引用返信 [メール受信/OFF] 削除キー/
■2268 / inTopicNo.27)  Re[3]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ 広田 -(2007/03/13(Tue) 21:58:24)
    うにんさん、こんばんは。ご教授ありがとうございます。

    > 「ヘッダ部にある値を使って行訂正する」のが目的なら、「ヘッダ部の
    > オブジェクトを名細部にドロップ」でないと変です。
    万年ビギナーなもので…感覚的にそのような処理を作ってしまいました。
    プログラム的にはペケなんですね。勉強になります。

    ありがとうございました。
引用返信 [メール受信/OFF] 削除キー/
■2269 / inTopicNo.28)  みなさん!ありがとうございました。
□投稿者/ 広田 -(2007/03/13(Tue) 22:10:08)
    アックンさん。感激です!怪獣が気持ちよさそうに移動して行きます。
    &秒 = &行番号
    素人には思いつきません。
    フォームヘッダやフォーム名細部ごとにイベントを設定する方法も勉強になりました。
    いつもほんとうにありがとうございます!

    >ただ、
    >OnNojiさんの「左ダウンしたオブジェクトから出るまではカーソルが変わらない」
    >私の「桐の外(というより、フォームの外ですね)でマウスアップしてそのまま
    >マウスをフォームに戻すとドラッグ中のようになる」
    >といった問題があります。
    OnNojiさん、うにんさん私が気がつかない所まで色々教えていただいて感謝しております。

    私の希望通りになったので解決済みチェックさせて頂きます。
    ありがとうございました。


解決済み!
引用返信 [メール受信/OFF] 削除キー/
■2271 / inTopicNo.29)  Re[5]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ うにん -(2007/03/13(Tue) 23:18:57)

    > そんなに都合よくなっていませんよ〜!。
    > キーダウンイベントでESCキーを拾わない限り、中断処理は出来ませんよぉ。

    あ、すんません、ここんとこは桐のイベント処理でなくWindowsの一般的な話でした。

引用返信 [メール受信/OFF] 削除キー/

<前の20件

トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -