この記事では、左ボタン長押しでコンテキストメニューを表示したとき、マウスホイールで拡縮しない不具合の修正について説明します。すると、メイン画面で多段表示のときに、画像を長押しするとコンテキストメニューが表示されますが、その状態で、マウスホイールを回しても拡縮できない不具合がありました。気になる方は、試してみてください。日本語の最新版はこちらのページから、ダウンロードできます。最新版はこちらのページから、ダウンロードできます。月額会員には、こちらのページから参加できます。・・・ここからは、プログラマー向けに何故、この不具合が起こったかを解説します。フレームで画面を更新し、動きを与えます。フレームの速さで、処理を行うには、マルチメディアタイマーが必要です。マルチメディアタイマーを使うと、登録したコールバック関数が、定期的に呼びだされます。別のスレッドで実行されているため、何らかの方法でメインスレッドに通知し、実際の処理は、メインスレッドで行います。処理し、終了までブロックします。長い処理終了後に、まとめて、イベントを処理することになります。これが問題となっている不具合を引き起こします。具体的には、長押しは、時間で発生するのでタイマー処理の中で認識し、処理します。ところが、メニューは、独自のメッセージループを使用するためメニューが閉じるまで、処理を返しません。ブロックされタイマー処理が一切行われなくなります。拡大縮小は、タイマーメッセージで実行するため、実行されなくなります。貯まったタイマーメッセージはメニューが閉じた後でまとめて実行されますが、遅すぎます。以上が原因の説明です。終了を待たないので、ブロックしません。今回は、特に問題無いと思います。同様の問題が、長押しで、製品登録画面などのダイアログを表示するコマンドを割り当てたときにも起こります。この場合は、ダイアログ表示中にタイマーメッセージを処理する必要があまりないので、ほとんど問題にはなりません。ダイアログが閉じた後に大量のタイマーメッセージが一度に処理されるため、少し操作できない状態に陥るかもしれません。ま、長押しに別の処理を割り当てたときの挙動が何か変だなーと感じていた方は、新しいバージョンでお試しください。写真をミルノに!で覚えてね。使用するフォントもより自由に選択できるようにしました。高解像度ディスプレイでは、従来の大きさでメニューやボタンを表示すると相対的に小さく表示されて、見にくくなります。ピクセルの解像度のものがあったとします。それを解決するための仕組みが「表示スケール」です。すれば、前者のディスプレイと同じ大きさで表示できるようになり、見やすくすることができます。低い解像度のイメージを単純に拡大して表示するため、ぼやけます。大きい値を指定しても、ぼやけにくくなります。比較にならないほどシャープに表示できると思います。アプリケーションの再起動なしでも表示スケールが適用されると思います。新しいフォントの設定を追加しました。新しいフォントの設定を使うと、ウィンドウキャプション以外のほとんどの要素のフォントを変更できます。表示スケールを変更しなくても、ミルノの文字のサイズだけ大きくすることができます。ちなみに、表示スケールで大きくした場合との違いは、あまりありませんが、表示スケールの方では、ウィンドウキャプションのフォントが大きくなる点、スクロールバーの幅が太くなる点が違います。変えてみると、楽しいかもしれませんね。拡大、縮小方向を逆にしました。拡縮方向に合わせた形です。指を前に動かすと縮小されます。他のアプリケーションでは逆です。結論から言うと逆がよいと思ったのでそうしました。いうのは、上下のスクロールとの整合性においてです。上下のスクロールを考えた場合、指を上に動かしたときに紙が下にスクロールするのがディフォルトの動きです。紙が下にスクロールする方向と拡大の方向を合わせるのが自然です。ディスプレイを寝かした場合、(ノートパソコンで半開きの状態をイメージしてください)紙が下に動くことは、自分に近づくことなので、拡大が自然となります。拡大するのが自然な方向と言えるでしょう。指を下に動かすがディフォルトだった場合は、拡縮方向も逆がよくなります。指を動かす方向とスクロール方向が逆なのか?ちょっと脱線ぎみですが、何故指を上に動かしたときに紙が下にスクロールするかというと、おそらく、ホイールの下に紙が吸いついてるイメージだからでしょう。指を上に動かすと、ホイールの下の部分は下方向に回転するため、紙も下にスクロールします。紙がホイールの上にあると考えるとスクロール方向は逆なのですが、まぁ、こういうのは単に慣れなのでアプリケーションによって違いが無い方がいいでしょう。逆方向」に変えれば戻せます。日本語の最新版はこちらのページから、ダウンロードできます。最新版はこちらのページから、ダウンロードできます。月額会員には、こちらのページから参加できます。最新バージョンを試してみてください。ベクターで公開されました。一部が見つかりませんでした。インスタンスに設定されていません。より、アクセスが記録されています。