ご利用前に必ずお読みください
> ご返信ありがとうございます。 > > > [ChildForm] > Left などで位置が保持されていたんだなーと初めて知って眺めていたんですが、マルチディスプレイだとマイナス値になることもあるんですね。 > > そうなんですよね。Windows では、マルチディスプレイ環境の場合、メインディスプレイの左側にあるディスプレイはマイナスの座標が返ってくる仕様になっています。 > > > かといって、「ディスプレイ2の方でMeryを終了後、ディスプレイ2を外して起動する」という操作をして画面外にMeryが復帰しそうな状況を作っても、ちゃんと画面範囲に戻ってくるような仕様になっていました。さすがです。 > > そこに気付いていただけたのは嬉しいです。 私もマルチディスプレイ環境なので、そこはこだわりポイントですね。 > > > ただ、若干不思議なんですが、 [ChildForm] > Left を手修正でマイナス値にしたときは、画面外に起動される状態になりますね。 > > そうなります。マルチディスプレイ環境だと、マイナスの座標も普通にありえるので、「マイナス値だったら画面内に戻す」みたいな単純な仕様にはできないんですよね。 > > なので、Mery では終了時にディスプレイの数を Mery.ini (`[MainForm] > MonitorCount`) に記録しておいて、次回起動時に前回と比べてディスプレイの数が減ってた場合だけ、できるだけ画面内に戻すような処理を入れています。 > > 手修正で`[ChildForm] > Left`をマイナス値にした場合は、ディスプレイの数が変わっていないので、この処理の対象外となるわけですね。 > > ただ、本件について、私が把握している Windows の仕様として、ウィンドウが最小化されている場合、位置とサイズを取得する API の`GetWindowRect`を使うと座標が -32000 になる、という点があります。 > > 以前ご報告いただいたときも、Mery.ini に -32000 という数値が残っていたとのことだったので、何らかの要因で発生する現象なのだと思います。 > > 今回の件は数値の確認ができていないため、同様の現象かどうかわからないのが残念ですが… > > ちなみに、Mery では`GetWindowRect`ではなく、正しい位置が取得できるとされている`GetWindowPlacement`を使用しています。(Ver 2.6.7 でも同様) > > とりあえず、起動時に`Left`か`Top`が -32000 になっていたらデフォルトの位置に復元、みたいな処理でも入れておこうかしら…
マークダウンを有効にする
テキストエディター「Mery」ベータ版 v3.8.9 を公開
ヨーグルトメーカーで作った R-1 ヨーグルトで強さを引き出してみた
テキストエディター「Mery」の配色テーマ集
テキストエディター「Mery」ベータ版 Ver 2.6.9 を公開、自動保存機能、バックアップ機能を搭載
知っておくと便利なテキストエディター「Mery」の 10 個の小技
リズム天国 ミラクルスターズ -Switch
トモダチコレクション わくわく生活 -Switch
ニンテンドープリペイド番号 9000円|オンラインコード版
ニンテンドープリペイド番号 500円|オンラインコード版
ニンテンドープリペイド番号 1000円|オンラインコード版
さよならの言い方なんて知らない。(新潮文庫nex)
フルメタル・パニック! Family4 (富士見ファンタジア文庫)
さよならの言い方なんて知らない。2(新潮文庫nex)
さよならの言い方なんて知らない。3(新潮文庫nex)
さよならの言い方なんて知らない。4(新潮文庫nex)