近日研究文本控件和字符串,研究得头混脑胀,问题真是太多了。
这只是其中的一个问题,答案来自问专家网站和优快云的TechnoFantasy(www.applevb.com) ,解决如下:
Public Const WM_USER = &H400
Public Const EM_SETTARGETDEVICE = (WM_USER + 72)
Public Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Sub AutoSwitchLine(ByRef RichText As Long, ByVal bSwitch As Boolean)
If bSwitch Then
'设置 RichTextBox 自动换行
Call SendMessage(RichText.hWnd, EM_SETTARGETDEVICE, _
GetDC(RichText.hWnd), RichText.Width / 15)
If RichText.RightMargin = 0 Then
RichText.RightMargin = 1
Else
RichText.RightMargin = 0
End If
Else
'设置 RichTextBox 不自动换行
Call SendMessage(RichText.hWnd, EM_SETTARGETDEVICE, 0, 1)
End If
End Sub
将RichTextBox设置为自动换行或非自动换行
最新推荐文章于 2023-03-10 09:20:56 发布
博主研究文本控件和字符串时遇到诸多问题,给出了一个问题的解决办法。包含常量定义,如WM_USER、EM_SETTARGETDEVICE,函数声明GetDC、SendMessage,还有一个用于设置RichTextBox自动换行或不换行的子程序AutoSwitchLine。
440

被折叠的 条评论
为什么被折叠?



