HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0822
おまdishにおける文字列幅の取得3未解決


おま

リンク

2019/8/22(Thu) 03:04:05|NO.88167

windowsアプリを作る上で、dishを使いたくて色々検証しているのですが、ginfo_mesxはもちろんDrawTextを使うタイプの方法でも文字列幅を取得できなくなっており、困っています。
文字列幅を取得しないと右寄せや中央寄せなどのレイアウトが取れない(と自分は思っている)ため、どうしても取得する必要があります。
無理なら言語を変えるしかないですが、できれば使いやすいHSP Dishでやりたい…という状況です。
なお、いわゆる等幅フォントで文字数×幅で計算する、というのは採用できない感じです。プロポーションフォントで測る必要があります。
どなたか解決できている方とかいらっしゃいませんでしょうか…!意外に需要のない問題みたいでwebの検索ではどうにも前例なく…



この記事に返信する


おま

リンク

2019/8/22(Thu) 03:25:33|NO.88168

追伸:
たった今、画面内に文字を描画すればginfo_mesxが機能してくれるという情報を得られました、すいません。
ただこれを使って中央揃えとかをガンガン使っていく場合、割とややこしめの処理をしなければならないと思うので、引き続き「ばかやろう、これだけで済むよ」的なスマートな方法をご存じの方を募集させて下さい…。



a

リンク

2019/8/22(Thu) 21:13:24|NO.88171

deffuncとかで定義するのはどうでしょう
最初の描画は9999,9999とかのありえない値にしてyさえ指定すればあとは勝手に中央揃えする関数



おま

リンク

2019/8/22(Thu) 23:33:24|NO.88172

そうなんです、たぶん、一回どこでもいいので画面内に描画する→mesxで長さを図ったあとredraw1より手前で消す→本来の描画っていう手順を関数化するのが現状取りうる方法だとは思うんですよね。
それしかないならそれで行く所存です。



ONION software Copyright 1997-2023(c) All rights reserved.