| 2019/10/29(Tue) 10:37:52 編集(投稿者) 2019/10/29(Tue) 10:37:07 編集(投稿者)
> サンプルを用意しました。 > > もちろんバグだらけです。 > > あくまでも叩き台としての原始(原子)的なサンプルです。 > > 青い十字をマウスダウンして、マウスを移動してください。 > ラバーバンドみたいなになります。
差し替えました。
マウス移動イベントは、@フォーム明細部 と @txt起点 のどちらでもOKなんですね。
昨晩は、@フォーム明細部 で作りましたが、@txt起点 に書き換えました。
■状態遷移は次の通り
txt起点::マウス左ダウン │ └ prcマウス移動イベント … オン
↓
txt起点::マウス移動 │ └ prcマウス移動描画
↓
txt起点::マウス左アップ │ └ prcマウス移動イベント … オフ
◇ ◇ ◇ ◇ ◇ ◇
名札 メイン 変数宣言 局所,文字列{ &mカーソルObject, &m起点Object, &mラバーバンドObject } 変数宣言 局所,長整数{ &m起点ObjectPos[2], &mAdjust, &mTwips = 20 }
&mカーソルObject = "txtカーソル" &m起点Object = "txt起点" &mラバーバンドObject = "linラバーバンド" &mAdjust = 5 * &mTwips
オブジェクト操作 &m起点Object{ &m起点ObjectPos[1] = 始点X, &m起点ObjectPos[2] = 始点Y } 手続き実行 prcマウス移動イベント( 0 )
*
手続き定義開始 txt起点::マウス左ダウン(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止) 変数宣言 自動,長整数{ &posX, &posY }
オブジェクト操作 &m起点Object{ &posX = 始点X, &posY = 始点Y } オブジェクト操作 &mカーソルObject{ 画面表示 = 1, 始点X = &posX, 始点Y = &posY } オブジェクト操作 &mラバーバンドObject{ 画面表示 = 1, 始点X = &m起点ObjectPos[1] + &mAdjust, 始点Y = &m起点ObjectPos[2] + &mAdjust, 終点X = &マウス位置[1], 終点Y = &マウス位置[2] }
手続き実行 prcマウス移動イベント( 1 )
手続き定義終了
手続き定義開始 txt起点::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
手続き実行 prcマウス移動イベント( 0 )
確認 手続き定義終了
手続き定義開始 txt起点::マウス移動(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
手続き実行 prcマウス移動描画( &マウス位置 )
手続き定義終了
手続き定義開始 prcマウス移動イベント( 整数 &switch )
オブジェクト操作 @txt起点{ マウス移動 = &switch }
手続き定義終了
手続き定義開始 prcマウス移動描画( 長整数 &マウス位置[2] )
オブジェクト操作 &mカーソルObject{ 始点X = &マウス位置[1] - &mAdjust, 始点Y = &マウス位置[2] - &mAdjust } オブジェクト操作 &mラバーバンドObject{ 始点X = &m起点ObjectPos[1] + &mAdjust, 始点Y = &m起点ObjectPos[2] + &mAdjust, 終点X = &マウス位置[1], 終点Y = &マウス位置[2] } メソッド呼び出し @フォーム明細部.再描画( 1 )
手続き定義終了
|