一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - VB - VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法

VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法

2021-10-11 15:38VB教程網(wǎng) VB

這篇文章主要介紹了VB的TextBox文本框?qū)崿F(xiàn)垂直居中顯示的方法,比較實(shí)用的功能,需要的朋友可以參考下

本文實(shí)例代碼可以實(shí)現(xiàn)讓VB的TextBox文本框垂直居中顯示效果。此處需要注意:Form_Load()窗體代碼中的多行屬性設(shè)置必須為真,即Text1.MultiLine = True,該屬性為只讀屬性,請(qǐng)?jiān)谠O(shè)計(jì)時(shí)修改,換行會(huì)被之后的代碼屏蔽,不想屏蔽可自行修改,調(diào)用此函數(shù)就好了。

具體的功能代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
'================================================================================
'| 模 塊 名 | TextBoxMiddle
'| 說(shuō)  明 | 文本框居中顯示
'=================================================================================
Option Explicit
Private Type RECT
  Left  As Long
  Top  As Long
  Right  As Long
  Bottom  As Long
End Type
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 Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const EM_GETRECT = &HB2
Private Const EM_SETRECTNP = &HB4
Private Const GWL_WNDPROC = (-4)
Private Const WM_CHAR = &H102
Private Const WM_PASTE As Long = &H302
Private prevWndProc   As Long
Public ClipText As String
Public Sub DisableAbility(TargetTextBox As TextBox)
  prevWndProc = GetWindowLong(TargetTextBox.hwnd, GWL_WNDPROC)
  SetWindowLong TargetTextBox.hwnd, GWL_WNDPROC, AddressOf WndProc
End Sub
 
Private Function WndProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Dim Temp As String
  Select Case Msg
  Case WM_CHAR
    If wParam <> 13 Then WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam)
  Case WM_PASTE
    ClipText = Clipboard.GetText
    Temp = Replace(ClipText, Chr(10), "")
    Temp = Replace(Temp, Chr(13), "")
    Clipboard.Clear
    Clipboard.SetText Temp
    WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam)
    Clipboard.Clear
    Clipboard.SetText ClipText
  Case Else
    WndProc = CallWindowProc(prevWndProc, hwnd, Msg, wParam, lParam)
  End Select
End Function
Sub VerMiddleText(mForm As form, mText As TextBox)
  If mText.MultiLine = False Then Exit Sub
  Dim rc   As RECT, tmpTop    As Long, tmpBot    As Long
  SendMessage mText.hwnd, EM_GETRECT, 0, rc
  With mForm.Font
    .Name = mText.Font.Name
    .Size = mText.Font.Size
    .Bold = mText.Font.Bold
  End With
  tmpTop = ((rc.Bottom - rc.Top) - _
  (mText.Parent.TextHeight("H ") \ Screen.TwipsPerPixelY)) \ 2 + 2
  tmpBot = ((rc.Bottom - rc.Top) + _
  (mText.Parent.TextHeight("H ") \ Screen.TwipsPerPixelY)) \ 2 + 2
  rc.Top = tmpTop
  rc.Bottom = tmpBot
  mText.Alignment = vbCenter
  SendMessage mText.hwnd, EM_SETRECTNP, 0&, rc
  mText.Refresh
  DisableAbility mText
End Sub
'///////////////////////////////////////////////////////
'以下為窗體代碼
'///////////////////////////////////////////////////////
Private Sub Form_Load()
  '================注意!!!=================
  '多行屬性必須為真,暨Text1.MultiLine = True
  '該屬性為只讀屬性,請(qǐng)?jiān)谠O(shè)計(jì)時(shí)修改
  '換行會(huì)被之后的代碼屏蔽,不想屏蔽可自行修改
  '===========================================
  '調(diào)用此函數(shù)就好了
  VerMiddleText Me, Text1
  Caption = Len(Text1)
End Sub

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 人阁色第四影院在线观看 | 国产国语在线播放视频 | 门房秦大爷在线阅读 | 久久精品一区二区三区资源网 | 国产自在线拍 | 国产精品久久久久毛片真精品 | 拍拍叫痛的无挡视频免费 | 操b图片 | 亚洲天堂2015 | 美国美女hd18 | 性福演算法 | 国产精品区牛牛影院 | free性丰满hd性欧美人体 | 俄罗斯女人与公拘i交酡 | 免费看国产精品麻豆 | 大象传媒免费网址 | 亚洲不卡视频 | 奇米7777第四色 | 亚洲品质水蜜桃 | 日韩一级生活片 | 国产精品香蕉 | 91精品国产免费久久国语蜜臀 | 99热久久这里只精品国产www | 国产麻豆视频 | 色综合久久久 | 十八女下面流水不遮免费 | 香蕉久久夜色精品国产尤物 | 天天夜夜草草久久伊人天堂 | 欧美高清日韩 | 国产精品嫩草影院在线看 | 日本中文字幕一区二区三区不卡 | 性派对videofreeparty | 国产动作大片 | 午夜片无码区在线观看 | 精品亚洲国产一区二区 | 久久青青草视频在线观 | 亚洲国产精品综合久久一线 | 韩国三级年轻小的胰子完整 | 免费观看网站 | 91进入蜜桃臀在线播放 | 亚洲视屏在线观看 |