【開発の裏側②】画面の拡大表示で、MT5だけ文字がはみ出す話

【開発の裏側②】画面の拡大表示で、MT5だけ文字がはみ出す話

記事
IT・テクノロジー
どうも、FXトレーダー兼システムエンジニアのナオトです。

Windowsには、画面の文字を125%や150%に大きくする設定があります。
ノートパソコンや高精細のモニターだと、最初から拡大になっていることも多いですね。

この設定のとき、パネルを出すインジケーターは、MT5でだけ見た目が崩れることがあります。
今回はその話です。

MT4とMT5では、拡大のしかたが違います。

MT4は、Windowsがウィンドウごと拡大してくれます。中身は拡大前の大きさのまま描かれるので、少しにじむことはあっても崩れません。

MT5は、自分で拡大します。
ところが大きくなるのは文字だけで、枠の幅や行の高さのように画素で決めた寸法はそのまま。作り方によっては、ここで食い違いが起きます。
結果、文字だけが大きくなって、枠からはみ出したり、隣の行と重なったりします。

失敗もしました。

経済指標のインジケーター e-EconomicStopper で、MT5だけ文字が伸びないという不具合が出たとき、私はこれを拡大表示のせいだと見立てて、補正を入れました。
外れでした。そもそも私の画面は拡大していなかったんです。

本当の原因は、文字の倍率の決め方のほうで、次の版で直しています。
それ以来、表示の不具合は、まず相手の画面の設定を確かめてから原因を考えるようにしました。

直し方の考え方は2つです。

ひとつは、枠や行の寸法を決め打ちしないこと。文字の大きさから計算するか、係数を掛けます。

もうひとつは、文字を測ってから並べる作りなら、その測りを実物に合わせること。
起動したときに見えない見本の文字を1つ置いて、実際に描かれた幅と、計算で測った幅の比を係数にします。
こうすると、拡大率が違う画面でも、測った値と実物がずれにくくなります。
開発用のパソコンで150%の画面をまねて、寸法が一緒に伸びるかを確かめながら直しています。

インジケーターを自作している方は、拡大表示の画面で一度パネルを開いてみてください。思ったより崩れていることがあります。

この秋からのFXハムラットの新作は、どれもこの作り方で、125%と150%の画面を前提にパネルを組んでいます。

経済指標の発表までを秒読みで表示する e-EconomicStopper は、こちらです。
次の記事 【開発の裏側③】コピートレードのEAを一から作り直しています

最後までお読みいただき、ありがとうございました。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す