<開発環境>
VB6.0のSP4
Windows98
<目的>
MSFLEXGRIDの各セル上の表示を
文字列の種類に関係無く正常に折り返し表示したいです。
<前置き>
プロパティの「WordWrap」をTrueにしてます。
<現象>
「さぁここから折り返して表示するんだろうな」
っていう部分の文字が全角文字の場合は良いのですが、
半角英数字等の場合は折り返し表示されません。
<暫定対策>
Chr(13)を折り返す部分にプラスして文字列変換してやると
一応は折り返し表示されます。
(空白スペースでも良いみたいです)
上のような文字列変換をしないで他に方法はありますでしょうか?
また、抜け落ちているプロパティの変更点などがあれば御指導下さい。
<脱線>
プログラム以前の質問で恐縮です。
文字の種類に「MSP明朝」「MS明朝」等ありますが、
この「P」が付く付かないの違いは一体何なのでしょうか?
試していないので想像ですが、VBは元々英語圏のソフトなので
英単語→単語→途中で区切らない
という設定になっているのでは。
Wordなどでも、英単語は単語単位で折り返してちょっと見づらくなりますね。
いっそ全角にしてしまえばいいのではないのでしょうか。
文字変数=StrConv(文字変数, vbWide)
で半角→全角にできます。
フォントですが、Pがつくのは「プロポーショナルフォント」です。
一般的なフォントは幅が決まっており、どの文字(全角/半角は別)も同じ幅です。
プロポーショナルフォントは、それぞれの文字で幅が決まっており、余白が少なく
なります。試しに二つのフォントで「く」を沢山並べて打ってみましょう。
ワードでチョット長目の単語:communicationで試験してみました。
「英単語→単語→途中で区切らない」
正直、言われてみて初めて気付きました。
(今まであまり意識せずに使ってました)
この試験で僕が上で述べた暫定対策をかましましたらキチンと折り返せました。
という事は・・・
Kenjiさんの仰る通りMSFLEXGRIDもまた
「英単語→単語→途中で区切らない」
という設定になっているようです。
フォントの件も、有難う御座いました。
ツイート | ![]() |