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

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

■13984 / inTopicNo.1)  右クリックフォーム
  
□投稿者/ 尾形 -(2023/10/20(Fri) 09:27:24)
    よろしくお願いします

    一覧表形式フォームを使っていて
    マウス右クリックして、独自の単票メニューフォーム
    を表示したいと思っています

    フォームのマウス右アップイベントを定義して
    フォーム呼び出し コマンドを実行しています

    右クリックしたマウスの位置付近に
    フォームを表示(移動)したいです


    呼び出しされたフォーム側で
    &x=#PointToDot(&jマウス位置[1]/20)
    &y=#PointToDot(&jマウス位置[2]/20)
    ウィンドウ位置 設定,&hwindow,位置=(&x,&y)


    こんな感じで設定してみましたが
    一覧表で右クリックした時
    左から右に行くにつれ、だんだんと
    フォームがマウスの位置から離れていきます

    一覧表の
    左端で右クリックした場合、マウス位置+4cm
    中央で右クリックした場合、マウス位置+8cm
    右端で右クリックした場合、マウス位置+12cm
    イメージとしてはこんな感じです


    計算方法が違うのでしょうか?
    どのようにしたらいいのでしょうか?


    よろしくお願いします


引用返信 [メール受信/OFF] 削除キー/
■13985 / inTopicNo.2)  Re[1]: 右クリックフォーム
□投稿者/ ONnoji -(2023/10/20(Fri) 10:19:59)
    2023/10/20(Fri) 10:58:35 編集(投稿者)

    > 一覧表形式フォームを使っていて
    > マウス右クリックして、独自の単票メニューフォーム
    > を表示したいと思っています
    >
    > フォームのマウス右アップイベントを定義して
    > フォーム呼び出し コマンドを実行しています
    >
    > 右クリックしたマウスの位置付近に
    > フォームを表示(移動)したいです
    >
    > 呼び出しされたフォーム側で
    > &x=#PointToDot(&jマウス位置[1]/20)
    > &y=#PointToDot(&jマウス位置[2]/20)
    > ウィンドウ位置 設定,&hwindow,位置=(&x,&y)

    Q1.桐のバージョンとビルド番号

    質問者は桐のバージョンを提示していません。
    こういうのは情報の行き違いがあったりするので、ちょっとね〜困るのよね。

    Q2.呼び出し元のフォーム

    モーダルフォームを呼び出す側のフォームの[ウィンドウの形式]は、[チャイルド]ですか?、[ポップアップ]ですか??

    Q3.モーダルフォーム

    > 呼び出しされたフォーム側で
    > &x=#PointToDot(&jマウス位置[1]/20)
    > &y=#PointToDot(&jマウス位置[2]/20)
    > ウィンドウ位置 設定,&hwindow,位置=(&x,&y)

    ↑これはモーダルフォームの[フォーム開始]イベントで実行する内容ですか??

    p.s.

    当方の予想では、[一覧表]なるフォームがチャイルドなんだと思います。
    ポップアップにすると結果が違ってくると思いますが・・・(^^ゞ


引用返信 [メール受信/OFF] 削除キー/
■13986 / inTopicNo.3)  Re[2]: 右クリックフォーム
□投稿者/ 尾形 -(2023/10/20(Fri) 11:12:47)

    ONnojiさん、いつもありがとうございます

    > Q1.桐のバージョンとビルド番号

    失礼いたしました
    桐10s #2545 です

    > Q2.呼び出し元のフォーム
    >
    > モーダルフォームを呼び出す側のフォームの[ウィンドウの形式]は、[チャイルド]ですか?、[ポップアップ]ですか??

    チャイルドでしたので
    ポップアップにも変更して試してみましたが
    同様でした


    > Q3.モーダルフォーム
    > ↑これはモーダルフォームの[フォーム開始]イベントで実行する内容

    はい
    フォーム開始イベントにて設定しています


    > ポップアップにすると結果が違ってくると思いますが
    変わりませんでした


引用返信 [メール受信/OFF] 削除キー/
■13987 / inTopicNo.4)  Re[3]: 右クリックフォーム
□投稿者/ ONnoji -(2023/10/20(Fri) 11:39:46)
    2023/10/20(Fri) 15:14:31 編集(投稿者)

    >>モーダルフォームを呼び出す側のフォームの[ウィンドウの形式]は、[チャイルド]ですか?、[ポップアップ]ですか??
    >
    > チャイルドでしたので
    > ポップアップにも変更して試してみましたが
    > 同様でした
    >
    >>ポップアップにすると結果が違ってくると思いますが
    > 変わりませんでした

    当方の勘違いでした。m(__)m


    > 右クリックしたマウスの位置付近にフォームを表示(移動)したいです

    [マウス右クリック]のイベントは用意されていないので、[マウス右アップ]でしょうかね?

     手続き定義開始 フォーム::マウス右アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &右メニュー)

     手続き定義終了

     &マウス位置[2]/長整数
      イベントが発生したときの、マウスポインタの位置が格納されます。位置の単位は、twip(1/20point)です。 値 説明
      &マウス位置[1] マウスポインタの X 座標。
      &マウス位置[2] マウスポインタの Y 座標。
     このイベントをフォームに定義した場合、マウスポインタの位置はフォームの左上隅からの位置になります。
     フォーム以外のオブジェクトに定義した場合は、定義したオブジェクトが所属しているセクションの左上隅からの相対位置になります。
     ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    具合が悪い場合には、まず源泉から調べなければいけませんね。

    ということで、

     手続き定義開始 フォーム:マウス右アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &右メニュー)

      トレース出力 _&マウス位置[1]/20, " ", _&マウス位置[2]/20

     手続き定義終了

    というふうに[トレース出力]ウィンドウで確認されたらいかがでしょうか?????


引用返信 [メール受信/OFF] 削除キー/
■13989 / inTopicNo.5)  Re[4]: 右クリックフォーム
□投稿者/ 尾形 -(2023/10/20(Fri) 15:20:03)
    色々とありがとうございます


    >フォーム以外のオブジェクトに定義した場合

    フォームのマウス右アップイベント
    に定義しています


    > 具合が悪い場合には、まず源泉から調べなければいけませんね。

    実際にみて頂こうと思って
    簡単なサンプルを準備したら
    サンプルでは想定通り正常動作でした orz


    実物はだいぶ作りこんだフォームなので
    別の原因があるかもしれません
    調べて分かったらご報告させていただきます


    お騒がせしてすいませんでした


引用返信 [メール受信/OFF] 削除キー/
■13998 / inTopicNo.6)  Re[5]: 右クリックフォーム
□投稿者/ 尾形 -(2023/10/22(Sun) 17:12:09)
    > 調べて分かったらご報告させていただきます

    メソッド呼び出し @フォーム.表示倍率の設定( &表示倍率 )

    表示倍率で調整していたのが原因でした
    大変失礼いたしました

引用返信 [メール受信/OFF] 削除キー/
■14004 / inTopicNo.7)  Re[6]: 右クリックフォーム
□投稿者/ ななーし -(2023/10/26(Thu) 14:46:20)
    尾形さんこんにちは

    お久しぶり?です。ちょこちょこ掲示板は拝見してますが、最近は自力で解決できることが多く、質問しておりませんでしたが、なんとも面白そうな質問だったので聞かせてください。

    恐らく、一覧表フォームで表示しきれない内容等を補足として右クリックすることでモーダルフォームを呼び出し、表示するような内容なのかな?と思いますが使ってみると便利なんでしょうか?使用感を教えて頂ければ幸いです。
    基本はテキストボックスにファミリで登録してマウス右アップで該当行の情報を右クリックで表示させるのかな?と思いますが他の動作が重くなったり等はないのかなど懸念はあるかなと。
引用返信 [メール受信/OFF] 削除キー/
■14005 / inTopicNo.8)  Re[7]: 右クリックフォーム
□投稿者/ 尾形 -(2023/10/26(Thu) 18:04:59)
    どうも、こんにちは

    「予定」フォームと「実行」フォームがあり
    本当は、予定からドラッグ&ドロップで
    実行にセットして、予定の消込を自動でしたかったのですが
    どちらも一覧表形式フォームなので
    ドラッグ&ドロップでは難しかったので
    右クリックフォームを経由するようにした次第です


    フォーム呼び出し(モーダル)ではなくても
    ウインドウ作成でもいい感じもしてますが


    特殊な操作性にすると、汎用性が無くなるので
    あまり好みではないのですが
    使ってみて便利とは思っています


    用途、使い方は色々とありそうに思います
    重くなったりとかは特にないです


    > テキストボックスにファミリで登録
    まだ試作途中ですが
    テキストファミリイベントより
    フォームの右アップイベントがいいように感じています



引用返信 [メール受信/OFF] 削除キー/
■14006 / inTopicNo.9)  Re[8]: 右クリックフォーム
□投稿者/ ななーし -(2023/10/26(Thu) 21:03:30)
    2023/10/27(Fri) 09:25:26 編集(投稿者)

    尾形さんこんばんわ

    さくっと作ってみましたがファミリパレットでも同等の効果は得られました。
    それぞれに右アップで同じ手続きを実行しても同等な効果は得られそうです。
    どちらでもよさそうですね。

    私は右クリックで選択した行の1行で表示できないあふれた情報を表示させることに使ってみたのですが、まだ、完成には至ってない感じです。
    動作自体はするのですが、右クリック時に選択行の情報をグローバル変数にぶち込んで違うフォーム、違う結合表(SQL)で開きなおすという感じで作ったのですが、たまに選択行の情報が更新されなかったり、右クリックが通常の右クリック情報が表示されたりするのでもう少しデバックしてみます。

    追記
    イベント中に&右メニューを0に書き換えで開かない対策は可能で、左クリックで選択後に右クリックをしないと開かないようですね。また編集中の場合、通常の右クリックメニューが出てしまうので編集フォームよりは検索・参照フォームで有用な使い方になるかと思います。
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

Mode/  Pass/

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

- Child Tree -
- Antispam Version -