请发表友善的回复…
发表回复
zcm123 2004-08-11
- 打赏
- 举报
TextBox.Width
starsoulxp 2004-08-11
- 打赏
- 举报
使用len函数
Len(Trim(Textbox1.Text)
Len(Trim(Textbox1.Text)
northwolves 2004-08-08
- 打赏
- 举报
TextWidth(Text1.Text)
longyongchao 2004-08-08
- 打赏
- 举报
vb中。用len函数就可以得到width了.
len(trim(textbox.text)
len(trim(textbox.text)
rainstormmaster 2004-08-07
- 打赏
- 举报
如果你求的是字串所占的字节数:
方法1:
Dim ss As String
ss = "hello中国"
Dim s As String
s = StrConv(ss, vbFromUnicode)
MsgBox "所求为:" + CStr(LenB(s))
方法2:
先添加下列声明:
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
调用:
Dim ss As String
ss = "hello中国"
Dim i As Long
i = lstrlen(ss + Chr(0)) '请注意调用 lstrlen 时必须加上 Chr(0), 因为此一函数是根据 Chr(0) 来判断字串的结束
MsgBox "所求为:" + CStr(i)
如果你求的字串所占据的宽度,建议你这样做:
Option Explicit
Private Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Sub Command1_Click()
Dim mHdc As Long, mSize As Size
mHdc = GetDC(Text1.hwnd)
Dim s As String
s = Text1.Text
Dim i As Long
i = lstrlen(s + Chr(0)) '请注意调用 lstrlen 时必须加上 Chr(0), 因为此一函数是根据 Chr(0) 来判断字串的结束
GetTextExtentPoint32 mHdc, s, i, mSize
MsgBox "所求字串宽度为:" + CStr(mSize.cx)
ReleaseDC Text1.hwnd, mHdc
End Sub
方法1:
Dim ss As String
ss = "hello中国"
Dim s As String
s = StrConv(ss, vbFromUnicode)
MsgBox "所求为:" + CStr(LenB(s))
方法2:
先添加下列声明:
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
调用:
Dim ss As String
ss = "hello中国"
Dim i As Long
i = lstrlen(ss + Chr(0)) '请注意调用 lstrlen 时必须加上 Chr(0), 因为此一函数是根据 Chr(0) 来判断字串的结束
MsgBox "所求为:" + CStr(i)
如果你求的字串所占据的宽度,建议你这样做:
Option Explicit
Private Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Sub Command1_Click()
Dim mHdc As Long, mSize As Size
mHdc = GetDC(Text1.hwnd)
Dim s As String
s = Text1.Text
Dim i As Long
i = lstrlen(s + Chr(0)) '请注意调用 lstrlen 时必须加上 Chr(0), 因为此一函数是根据 Chr(0) 来判断字串的结束
GetTextExtentPoint32 mHdc, s, i, mSize
MsgBox "所求字串宽度为:" + CStr(mSize.cx)
ReleaseDC Text1.hwnd, mHdc
End Sub
DiabloAbbot 2004-08-07
- 打赏
- 举报
pigpag你这个是什么单位的啊?
好大。3个字540。
这个单位是Twip
15Twip=1Pixel
所以3个字是540/15=36像素
好大。3个字540。
这个单位是Twip
15Twip=1Pixel
所以3个字是540/15=36像素
rainstormmaster 2004-08-07
- 打赏
- 举报
//Me.TextWidth("大家好")
这个可以,不过调用时不要忘记要将窗体的字体属性临时改变为textbox的
这个可以,不过调用时不要忘记要将窗体的字体属性临时改变为textbox的
benjamin8064 2004-08-07
- 打赏
- 举报
lenb函数表示字符个数,一个中文字占2个字符,英文和标点符号占1个字符。
gdami 2004-08-07
- 打赏
- 举报
pigpag你这个是什么单位的啊?
好大。3个字540。
lenb是表示个数吧。可能还要乘个字符的宽度。
好大。3个字540。
lenb是表示个数吧。可能还要乘个字符的宽度。
pigpag 2004-08-07
- 打赏
- 举报
Me.TextWidth("大家好")
这个?
这个?
benjamin8064 2004-08-07
- 打赏
- 举报
lenb函数可以
用法和len函数一样。
用法和len函数一样。
cwjuan 2004-08-07
- 打赏
- 举报
我要的是字符串的Width,不是个数。因为汉字+其他字符混在一起难计算。
cso 2004-08-07
- 打赏
- 举报
TextBox.Width就是啊