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

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

[ 親記事をトピックトップへ ]

このトピックに書きこむ

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

■2271 / inTopicNo.1)  Re[5]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
  
□投稿者/ うにん -(2007/03/13(Tue) 23:18:57)

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

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

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

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

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


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

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

    ありがとうございました。
引用返信 [メール受信/OFF] 削除キー/
■2267 / inTopicNo.4)  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] 削除キー/
■2266 / inTopicNo.5)  Re[2]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ うにん -(2007/03/13(Tue) 21:20:38)
    多分、

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


引用返信 [メール受信/OFF] 削除キー/
■2261 / inTopicNo.10)  Re[2]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ ただの初心者 -(2007/03/13(Tue) 10:05:57)
     ただのアイデアですが、全体を透明のラベルで覆い、マウスインアウトとマウス移動イベントを設定し、インのときにボタンの状態を判定するというのはどうでしょうか。
     それならお前がやってみろといわれると非常に困るんですが。
引用返信 [メール受信/OFF] 削除キー/
■2258 / inTopicNo.11)  Re[1]: イベントで左ダウンの間だけマウスポインタの種類を変えることができますか?
□投稿者/ うにん -(2007/03/12(Mon) 23:26:46)

    > 左ダウンイベントの間だけ、マウスポインタの種類が変わるようにしたい

    左ダウンイベントは瞬間的に終わってしまうので「間」というのは意味ないですよね。
    「ドラッグ中」変えておきたい、ということなんでしょうけど
    桐の中で左ダウンした後ドラッグして「桐の外で」左アップしてしまうと
    もうドラッグしてないのに桐の中ではドラッグ中と認識されてしまいますね。
    これを解決する方法はなさそうな気がしますが。。。
    マウスインアウトでなくマウス移動イベントだとボタンを判別できますが、
    桐の外で一旦左アップしたのかどうかはわからないし。

引用返信 [メール受信/OFF] 削除キー/
■2257 / inTopicNo.12)  Re[6]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ ただの初心者 -(2007/03/12(Mon) 10:11:42)
    明細番号ごとにコントロールするということだと思いますが、やはりできると思います(多分)。
引用返信 [メール受信/OFF] 削除キー/
■2254 / inTopicNo.13)  Re[5]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ 広田 -(2007/03/11(Sun) 21:36:36)
    ただの初心者さん3度ありがとうございます。

    かなりいい線いってますが、フォーム一覧表内をまたぐ部分は難しいみたいですね。
    このあたりが限界なのかな……。


引用返信 [メール受信/OFF] 削除キー/
■2251 / inTopicNo.14)  Re[4]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ ただの初心者 -(2007/03/10(Sat) 16:12:07)
    手続き定義開始 ファミリ_2::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
    検索 [名前] {=&名前}, 文字比較方法=自動, 部分一致検索=しない, 終了状態=&実行リターン
    行訂正 終了状態=&実行リターン, [場所]=&場所
    オブジェクト操作 @テキスト_11.マウスポインタの種類 ="標準"
    オブジェクト操作 @テキスト_10.マウスポインタの種類 = "標準"
    手続き定義終了

    手続き定義開始 ファミリ_1::マウスインアウト(長整数 &フラグ,長整数 &明細番号)
     if ( &フラグ = 1 )
      オブジェクト操作 @フォーム.マウスポインタの種類 = "標準"
     else
    オブジェクト操作 @テキスト_11.マウスポインタの種類 ="禁止カーソル"
    オブジェクト操作 @テキスト_10.マウスポインタの種類 = "禁止カーソル"
      オブジェクト操作 @フォーム.マウスポインタの種類 = "禁止カーソル"
     end
    手続き定義終了
     やっつけ仕事で申し訳ないですが、これでどうですか。カーソル部分以外はほとんどいじってないですが。
引用返信 [メール受信/OFF] 削除キー/
■2250 / inTopicNo.15)  Re[4]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ ただの初心者 -(2007/03/10(Sat) 16:00:59)
     雑なアドバイスですみません。ポインタの挙動が思うとおりにいかないのはイベントの衝突が原因だと言いたくて、とりあえずRESしました。
     マウスアップの後の動作を実現するのはさらに考えてみますので、もう少し猶予をください。
引用返信 [メール受信/OFF] 削除キー/
■2247 / inTopicNo.16)  Re[3]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ 広田 -(2007/03/09(Fri) 21:46:03)
    ただの初心者さん こんばんわ。何度もありがとうございます。

    >  elseの下に2行を追加してみてください
    > オブジェクト操作 @テキスト_11.マウスイベント = 0
    > オブジェクト操作 @テキスト_10.マウスイベント = 0
    これは前のコメントの続きでしょうか?
    これだけ追加しただけではうまくいかなかったのですが…
    大変お手数ですが、サンプルに追加していただくとありがたいです。

引用返信 [メール受信/OFF] 削除キー/
■2246 / inTopicNo.17)  Re[3]: ダブルクリックしたら?
□投稿者/ 広田 -(2007/03/09(Fri) 19:49:31)
    ONnojiさん こんばんは。いつもありがとうございます。

    ヘッダ部の[場所]はA,Bに留まらずたくさんあるので
    本来は行訂正許可で場所を値集合で行訂正するのが普通だと思います。
    今回のサンプルではマウスポインタの挙動についてお尋ねしたかったので行訂正禁止にしました。

    うにんさん方式ダブルクリック使わせてもらってます。便利ですよね♪
    ありがとうございました。


引用返信 [メール受信/OFF] 削除キー/
■2243 / inTopicNo.18)  Re[2]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ ただの初心者 -(2007/03/08(Thu) 21:05:24)
     elseの下に2行を追加してみてください
    オブジェクト操作 @テキスト_11.マウスイベント = 0
    オブジェクト操作 @テキスト_10.マウスイベント = 0

引用返信 [メール受信/OFF] 削除キー/
■2242 / inTopicNo.19)  Re[2]: ダブルクリックしたら?
□投稿者/ ONnoji -(2007/03/08(Thu) 17:20:37)
    > 明細部の対象レコードに行移動し、そのレコードをヘッダ部の目的(ここではAかB)に
    > ドラッグ&ドロップして、[場所]を行訂正させています。
    > ドラッグ&ドロップ実行中にマウスポインタの形(種類)を変えたいのですが可能でしょうか?

    明細部とヘッダ部をまたぐので非常に難しいですね。

    サンプルのフォームは[行訂正]も[行挿入]も許可していないようですから、
    [t名前]や[t場所_1]をダブルクリックしたら、

    検索 [名前] {=&名前}, 文字比較方法=自動, 部分一致検索=しない, 終了状態=&実行リターン
    行訂正 終了状態=&実行リターン, [場所]=&場所

    を実行する方が簡単だろうと思いますよ。

    ダブルクリックの方法は、検索すると「うにんさん方式」が見つかりますよ。
引用返信 [メール受信/OFF] 削除キー/
■2241 / inTopicNo.20)  Re[2]: 質問改め…m(_ _)mお助け下さい。
□投稿者/ ただの初心者 -(2007/03/08(Thu) 14:36:14)
     またまたアイデアだけですが。この現象はイベントの衝突だと思われますから、マウスダウンと同時にアップ以外のイベントをオフにするとか。
     それでもだめなら最後の大技で全体を透明のラベルで覆い、それにイベントを設定する。
引用返信 [メール受信/OFF] 削除キー/

次の20件>

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

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

- Child Tree -
- Antispam Version -