combobox 如何让text居中_自定义TextBox控件对齐方式为为垂直居中

本文介绍如何使用VB编程,通过发送消息函数SendMessage调整Combobox控件中的文本,使其在TextBox中实现垂直居中对齐。通过获取和设置TextBox的矩形区域,计算出文本的垂直居中位置,并刷新控件来完成布局。
摘要由CSDN通过智能技术生成

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

Private Const EM_GETRECT = &HB2

Private Const EM_SETRECTNP = &HB4

Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type

Private Function SetVCenterText(userdefineTextBox As TextBox)

Dim rc As RECT

Dim UserControlTop As Long

Dim UserControlBottom As Long

If userdefineTextBox.MultiLine = False Then Exit Function

Call SendMessage(userdefineTextBox.hwnd, EM_GETRECT, 0, rc)

UserControlTop = ((rc.Bottom - rc.Top) - (UserControl.Parent.TextHeight("H") \ Screen.TwipsPerPixelY)) \ 2

UserControlBottom = ((rc.Bottom - rc.Top) + (UserControl.Parent.TextHeight("H") \ Screen.Twips

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值