とにかく、Excelのようにmsflexgridのテキストを垂直方向に揃える方法はありますか?
ありがとう
フォントを90度回転させることには多くのことがあります。VB6は、stdole2タイプライブラリのOLEStdFontオブジェクト部分を使用します。
StdFontを操作できるようにするには、StdFontをGDIフォントに変換する必要があります。
これは、まさにそれを実行するためのサンプルコードを含む非常に優れた投稿(Text At Any Angle )です。
サンプルはフォームに描画していますが、MSFlexGridへのハンドルを取得して描画できると思います。
次に、テキストをいつどのように描画するかを制御できます。実行時に垂直方向のテキストを編集する場合は、テキストの編集中にセルの上に水平方向のテキストボックスを表示し、編集が終了したら新しいテキストを描画できます。
テキストの垂直回転について話している場合は違います。
テキストを回転した画像に変換してから、画像を読み込むことができます。
さらにこれについて...
回転したテキストを画像ボックスコントロールに印刷してから、画像ボックスをセルに割り当てることができます。
このリンクは、メソッドの同様の使用法を示していますが、理由が少し異なります。
何も組み込まれていませんが、ここに私が数年前に使用したハックがあります。関数に文字列を渡すと、文字ごとにキャリッジリターンとラインフィードを使用して文字列が返されます。
Private Function VerticalString(ByVal strInput As String) As String
Dim strReturn As String
Dim i As Integer
For i = 1 To Len(strInput)
strReturn = strReturn & Mid$(strInput, i, 1) & vbCrLf
Next i
If Len(strReturn) > 1 Then
strReturn = Mid$(strReturn, 1, Len(strReturn) - 1)
End If
VerticalString = strReturn
End Function
Private Sub FillGrid()
flexgrid1.TextMatrix(1, 0) = VerticalString("Kc Chiefs")
End Sub