有没有像excel一样在垂直方向对齐msflexgrid中的文本?
谢谢
将字体旋转 90 度有很多功能。VB6 使用 stdole2 类型库的 OLE StdFont 对象部分。
您必须将 StdFont 转换为 GDI 字体才能对其进行操作。
这是一篇非常好的文章(任意角度的文本),其中包含继续执行此操作的示例代码。
该示例正在表单上绘制,但我认为您可以获取 MSFlexGrid 的句柄并绘制到其中。
然后,您可以控制绘制文本的时间和方式。如果要在运行时编辑垂直文本,可以在编辑文本时在单元格上显示一个水平文本框,然后在完成编辑时绘制新文本。
如果您在谈论文本的垂直旋转,则不是。
您可以将文本转换为旋转图像,然后加载图像。
进一步在这...
您可以将旋转的文本打印到图片框控件,然后将图片框分配给单元格。
此链接显示了该方法的类似用法,但原因略有不同。
没有内置任何东西,但这是我几年前使用的一个 hack。您将一个字符串传递给函数,它会在每个字符后传回一个带有回车和换行符的字符串。
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