投稿日 | 2023/08/04(Fri) 20:44:48 |
---|---|
投稿者 | アーク |
参照先 |
田中 充 さん、こんばんは。アークです。
ラベルに限らず、また、プロデルにも限らず縦書きをサポートしているコントロールは殆ど在りません。それでも縦書に拘るなら田中さんの方法が一番手軽です。
改行で疑似的に縦書きした場合、字間に見えるのは行間です。ラベルではその何方も指定する事ができません。ラベルで改行した場合の送りは文字領域のようです。文字領域の本当の呼び名は忘れましたが、一文字が占めるエリアの事です。このエリア内に文字をデザインするのですが、それを目一敗使うフォントも有れば、余裕をもってデザインされたフォントも有ります。
同様の質問で文字間がキチキチなので広げたいというのは良く見掛けるのですが、田中さんの場合はその逆なのでこじんまりとしたフォントを使用したいのでしょうか。例えが「MS UI Gothic」を使用したならキチキチになると思います。
もし、本格的に解決したいならラベルを継承したクラスを作成して、それを拡張する事になりますが、それができるなら質問していないと思われるので、現実的にはキャンバスを使用する事をお薦めします。プロデルのキャンバスは縦書きもサポートしていますが、キャンバス内に思い通りに文字を並べるのは簡単では無いようです。参考までに私が年賀状の宛名書きソフトを作成した時に使用した方法は、文字の大きさから次の文字の位置を計算して、一文字づつキャンバス上に配置していきました。事前に計算できるので文字数が多い時にはサイズを下げるなどの対処も可能です。
参考になれば幸いです。
- WebForum -