□投稿者/ ONnoji -(2023/07/06(Thu) 11:45:07)
| 2023/07/06(Thu) 15:23:51 編集(投稿者) 2023/07/06(Thu) 13:43:52 編集(投稿者)
> クリックしてから、そのまま横にスライドして > 時間を入力したいと思っています > > > [作業] [開始] [終了] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 以下 > 作業A 8:00 12:00 * * * * * > 作業B 14:00 15:00 * * > > 画面的にはこんなイメージです
典型的なマウスドラッグ操作だと思いますが、桐のサンプルは余計な部分がたくさんあるので、シンプルな内容の方がよろしいかと思います。
すでに、速攻で解決済みですが、簡単なサンプルを作りましたのでご紹介します。
なお、サンプルは数時間を目途に削除しますので、ダウンロードはお早めに願います。
また、フォームとイベントは桐9-2012で作成してありますので、桐10sでご利用される場合には桐コンバータで変換してください。
なお、イベント名は半角のカナでも桐10sで動作するので書き換えは不要です。
p.s.
なお、サンプルは余計なことは一切していませんので実際に即応用というのは難しいかもしれません。 しかし、動作の仕組みは実にシンプルなのでご理解いただきやすいと思います。
> クリックしてから、そのまま横にスライドして
クリックした場合には横にスライドしてもドラッグになりません。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 必ず、マウス左ダウン、つまりマウス左ボタンを押したまま離さないでスライドしてください。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
<参考>
■ドラッグで時間を.wfm NULLフォーム
フォーム ├ ファミリ │ └ famTxt ├ ワークスペース ├ フォームヘッダ部 ├ フォーム明細部 │ ├ txt00 ─┐ │ ├ txt01 │ │ ├ txt02 │ │ ├ txt03 │ │ ├ txt04 │ │ ├ txt05 │ │ ├ txt06 │ │ ├ txt07 │ ├ txt08 (重要) │ ├ txt09 txt00 〜 txt23 のテキストオブジェクトは │ ├ txt10 ファミリ:famTxt に所属しています │ ├ txt11 │ ├ txt12 │ │ ├ txt13 │ │ ├ txt14 │ │ ├ txt15 │ │ ├ txt16 │ │ ├ txt17 │ │ ├ txt18 │ │ ├ txt19 │ │ ├ txt20 │ │ ├ txt21 │ │ ├ txt22 │ │ ├ txt23 ─┘ │ └ cmdリセット └ フォームフッタ部 └ cmd閉じる
■ドラッグで時間を.kev
名札 メイン 変数宣言 局所,文字列{ &mFormObjectName, &workString } 変数宣言 局所,文字列{ &mFamObjectName } 変数宣言 局所,整数 { &mOnMouseDown }
メソッド呼び出し オブジェクト取得( 0,&workString ) メソッド呼び出し &workString.親オブジェクト取得( &mFormObjectName )
&mFamObjectName = "famTxt"
手続き実行 cmdリセットClick( ) *
手続き定義開始 famTxt::マウスインアウト(長整数 &フラグ,長整数 &明細番号)
トレース出力 &this, " ", _&フラグ, " ", #cond( &フラグ, "in", 1, "out" ), " マウスインアウト"
if ( &フラグ )
オブジェクト操作 &this{ 背景色 = "水色" }
end
手続き定義終了
手続き定義開始 famTxt::マウス左ダウン(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
トレース出力 &this, " ", _&フラグ, " マウス左ダウン" オブジェクト操作 &mFamObjectName{ マウスインアウト = 1 } オブジェクト操作 &mFamObjectName{ マウス左アップ = 1 } &mOnMouseDown = 1 オブジェクト操作 &this{ 背景色 = "水色" }
手続き定義終了
手続き定義開始 famTxt::マウス左アップ(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ)
トレース出力 &this, " ", _&フラグ, " マウス左アップ" オブジェクト操作 &mFamObjectName{ マウスインアウト = 0 } オブジェクト操作 &mFamObjectName{ マウス左アップ = 0 } &mOnMouseDown = 0
手続き定義終了
手続き定義開始 cmdリセットClick( ) 変数宣言 自動,文字列{ &objectName } 変数宣言 自動,整数 { &i, &loop, &step = 1 }
** txt00 〜 txt23 &loop = 23 繰り返し &i = 0, &loop, &step
&objectName = "txt" + #str( &i, 2 ) **トレース出力 &i, " ", _&objectName
オブジェクト操作 &objectName{ 背景色 = "白" } 繰り返し終了
手続き実行 prcマウスイベント初期化( )
手続き定義終了
手続き定義開始 prcマウスイベント初期化( )
オブジェクト操作 &mFamObjectName{ マウスインアウト = 0 } オブジェクト操作 &mFamObjectName{ マウス左ダウン = 1 } &mOnMouseDown = 0
手続き定義終了
<蛇足>
>> [作業] [開始] [終了] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 以下 >> 作業A 8:00 12:00 * * * * * >> 作業B 14:00 15:00 * * >> >> 画面的にはこんなイメージです
これは作業工程のタイムテーブルなんでしょうかねぇ〜??? カード形式のフォームで、(会議室予約のような)複数のタイムテーブルを表示して編集するのは面倒そうです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 一覧表形式のフォームでの明細行で、タイムテーブルを表示して編集するのはさらに面倒そうです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ やはり、カード形式のフォームで、ひとつのタイムテーブルを表示して編集するのが良さそうですね。 そして、一覧表形式のフォームの明細行の入力支援ボタンから、そのカード形式のフォームを呼び出すのがシンプルですね。
|
|