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

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@777) [低] [解決]
@777■ (#2448) スタイルあり母艦を「中央移動」命令で移動できない - wt (2015-09-14 02:32) /低 未処理
【症状】
スタイルを設定した母艦を「中央移動」命令で移動できない。

【再現方法】
母艦のスタイルは「枠固定」
母艦を中央移動

【要望】
スタイルを設定した母艦でも、中央移動できるように。

【バージョン】
1.553 で発生します。
1.551 では問題ありません。

【その他】
@761 で入った修正の影響で、母艦が元の位置に戻されてしまうようです。
Windows 7 SP1 (64 bit) 環境で確認しました。

(#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}」を表示

(#2600) 詳細な報告に感謝&修正 - クジラ飛行机 (2016-07-14 00:57) /中 確認待ち
詳細な報告、ありがとうございました!!

マウスでドラッグしたときが、まだうまく動作しませんが、
中央移動の問題は1.5591で修正しました。


(#2603) 修正確認しました - wt (2016-07-15 07:21) /低 解決
バージョン 1.5591 にて修正を確認しました。
度々の対応ありがとうございます!

(#2448)へ返信する:

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

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

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