在Edit控件中,如何使它的文本能够垂直居中
发布网友
发布时间:2022-04-28 12:10
我来回答
共2个回答
热心网友
时间:2023-10-08 23:23
1、选择所要设置的单元格,点鼠标右键,选择“设置单元格格式”。
2、在出现的对话框中,选择“对齐”,在对齐的界面中,根据需要更改,“水平对齐”或是“垂直对齐”。
Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。
热心网友
时间:2023-10-08 23:24
在Vb中如text和label控件是没有垂直居中功能的,但是可以变通就是给文字加空行。
'加一个 Text1 一个 Command1 :
Dim aa As String, i As Integer, jj As Integer, maxline As Integer, LineCnt As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const EM_GETLINECOUNT = &HBA
Private Sub Form_Load()
'窗体与Command1居中
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
Command1.Move (Me.Width - Command1.Width) \ 2, Text1.Height + Text1.Top + 200
Command1.Caption = "居中显示"
Text1.Alignment = 2 'TextBox 水平居中显示
aa = "Attn:楼主"
aa = aa & Chr(13) & Chr(10)
aa = aa & "呵呵你的问题都好奇怪,但也让我学了不少!"
aa = aa & Chr(13) & Chr(10)
aa = aa & "我也想不出其它的好方法"
aa = aa & Chr(13) & Chr(10)
aa = aa & "你认为这样行吗?"
Text1.Text = aa
End Sub
Private Sub Command1_Click()
LineCnt = TextBoxLineCnt(Text1)
'每增加一行加上180,当然是以默认的字体大小而言
maxline = Text1.Height \ 180 '计算textbox能装下几行
jj = (maxline - LineCnt) \ 2 '垂直居中,(textbox总行数-Text1的总行数)整除2
For i = 1 To jj '装上几行空白
Text1.Text = Chr(13) & Chr(10) & Text1.Text
Next i
MsgBox "总共有" & CStr(LineCnt) & "行文字,看看垂直居中了吗?"
End Sub
Public Function TextBoxLineCnt(ctl As TextBox) As Long '计算总行数的函数
TextBoxLineCnt = SendMessage(ctl.hwnd, EM_GETLINECOUNT, 0, 0)
End Function
热心网友
时间:2023-10-08 23:23
1、选择所要设置的单元格,点鼠标右键,选择“设置单元格格式”。
2、在出现的对话框中,选择“对齐”,在对齐的界面中,根据需要更改,“水平对齐”或是“垂直对齐”。
Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。
热心网友
时间:2023-10-08 23:24
在Vb中如text和label控件是没有垂直居中功能的,但是可以变通就是给文字加空行。
'加一个 Text1 一个 Command1 :
Dim aa As String, i As Integer, jj As Integer, maxline As Integer, LineCnt As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const EM_GETLINECOUNT = &HBA
Private Sub Form_Load()
'窗体与Command1居中
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
Command1.Move (Me.Width - Command1.Width) \ 2, Text1.Height + Text1.Top + 200
Command1.Caption = "居中显示"
Text1.Alignment = 2 'TextBox 水平居中显示
aa = "Attn:楼主"
aa = aa & Chr(13) & Chr(10)
aa = aa & "呵呵你的问题都好奇怪,但也让我学了不少!"
aa = aa & Chr(13) & Chr(10)
aa = aa & "我也想不出其它的好方法"
aa = aa & Chr(13) & Chr(10)
aa = aa & "你认为这样行吗?"
Text1.Text = aa
End Sub
Private Sub Command1_Click()
LineCnt = TextBoxLineCnt(Text1)
'每增加一行加上180,当然是以默认的字体大小而言
maxline = Text1.Height \ 180 '计算textbox能装下几行
jj = (maxline - LineCnt) \ 2 '垂直居中,(textbox总行数-Text1的总行数)整除2
For i = 1 To jj '装上几行空白
Text1.Text = Chr(13) & Chr(10) & Text1.Text
Next i
MsgBox "总共有" & CStr(LineCnt) & "行文字,看看垂直居中了吗?"
End Sub
Public Function TextBoxLineCnt(ctl As TextBox) As Long '计算总行数的函数
TextBoxLineCnt = SendMessage(ctl.hwnd, EM_GETLINECOUNT, 0, 0)
End Function