「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板

(#2518) 1.555 でも再現します - wt (2015-12-25 15:28) /低 未処理
同様の不具合 (@800) がバージョン 1.554 で問題なしとなっていますが、
こちらはバージョン 1.555 でも再現します。

なでしこのソースを確認したところ、原因と思われる部分がわかりました。
フォームの X, Y に代入する以外の方法でフォームの位置を変更すると、
FTempX, FTempY に反映されず、RecoverXY によってフォームの位置が戻されるようです。
(バージョン 1.553 で @761 の修正のために追加された処理)

【再現方法】 (バージョン 1.555 で確認)

# 中央移動を使った場合
母艦のスタイルは「枠固定」 # 母艦の X, Y が FTempX, FTempY に反映される
母艦を中央移動
「母艦: {母艦のX}, {母艦のY}」と言う
# ここで RecoverXY が実行され、FTempX, FTempY の位置に戻される

# 中央移動を使った場合 (回避方法)
母艦を中央移動
母艦のスタイルは「枠固定」 # 母艦の X, Y が FTempX, FTempY に反映される
「母艦: {母艦のX}, {母艦のY}」と言う
# ここで RecoverXY が実行されるが、
# フォームの位置と FTempX, FTempY が同じであるため位置は変わらない

# 外部からウィンドウを移動した場合
母艦のスタイルは「枠固定」 # 母艦の X, Y が FTempX, FTempY に反映される
5秒待つ # この間にタイトルバーをドラッグして移動する
# ここで RecoverXY が実行され、FTempX, FTempY の位置に戻される

# 母艦の X のみ設定した場合
母艦のXは0 # 母艦の X が FTempX に反映される
「母艦: {母艦のX}, {母艦のY}」と言う
# ここで RecoverXY が実行されるが、
# FTempY が MaxInt のままなので、画面の外に行ってしまう

# 母艦の Y のみ設定した場合
母艦のYは0 # 母艦の Y が FTempY に反映される
「母艦: {母艦のX}, {母艦のY}」と言う
# FTempX が MaxInt のままなので、条件を満たさず RecoverXY は実行されない

# 母艦でないフォームの場合
テストとはフォーム
# バージョン 1.554 以降、
# フォームの作成時に FTempX, FTempY が母艦の X + 100, Y + 100 に設定される
「母艦: {母艦のX}, {母艦のY}」を表示
「テスト: {テストのX}, {テストのY}」を表示
テストを中央移動
「テスト 中央移動: {テストのX}, {テストのY}」を表示
テストを表示 # ここで RecoverXY が実行され、FTempX, FTempY の位置に変更される
「テスト 表示: {テストのX}, {テストのY}」を表示
  1.555 でも再現します / wt (2015-12-25 15:28) (#2518)/ 低 未処理
  詳細な報告に感謝&修正 / クジラ飛行机 (2016-07-14 00:57) (#2600)/ 中 確認待ち
    修正確認しました / wt (2016-07-15 07:21) (#2603)/ 低 解決

(#2518)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能