vb6.0转vb.net 高手帮忙看看这段代码如何转为vb.net2010的代码,谢谢!!

高手帮忙看看这段代码如何转为vb.net2010的代码,谢谢!!

Public Sub PrintRTF(RTFhwnd As Long, TextLength As Long, Dest As Object, LeftMarginWidth As Long,
TopMarginHeight As Long, mWidth As Long, mHeight As Long)
Dim LeftOffset As Long, TopOffset As Long
Dim LeftMargin As Long, TopMargin As Long
Dim RightMargin As Long, BottomMargin As Long
Dim fr As FormatRange
Dim rcDrawTo As Rect
Dim rcPage As Rect
Dim NextCharPosition As Long
Dim R As Long
Dest.ScaleMode = vbTwips
LeftOffset = Dest.ScaleX(GetDeviceCaps(Dest.hdc, PHYSICALOFFSETX), vbPixels, vbTwips)
TopOffset = Dest.ScaleY(GetDeviceCaps(Dest.hdc, PHYSICALOFFSETY), vbPixels, vbTwips)
LeftMargin = LeftMarginWidth - LeftOffset
TopMargin = TopMarginHeight - TopOffset
RightMargin = LeftMargin + mWidth
BottomMargin = TopMargin + mHeight

rcPage.Left = 0
rcPage.Top = 0
rcPage.Right = Dest.ScaleWidth
rcPage.Bottom = Dest.ScaleHeight

rcDrawTo.Left = LeftMargin
rcDrawTo.Top = TopMargin
rcDrawTo.Right = RightMargin
rcDrawTo.Bottom = BottomMargin

fr.hdc = Dest.hdc
fr.hdcTarget = Dest.hdc
fr.rc = rcDrawTo
fr.rcPage = rcPage
fr.chrg.cpMin = 0
fr.chrg.cpMax = -1
NextCharPosition = SendMessage(RTFhwnd, EM_FORMATRANGE, True, fr)
R = SendMessage(RTFhwnd, EM_FORMATRANGE, False, ByVal CLng(0))
End Sub

第1个回答  2018-01-13
直接复制粘贴,哪个地方有错就修改哪个地方啊追问

就是不会修改,所以要帮助啊
= vbTwips
vbPixels, vbTwips)
vbPixels, vbTwips)
ByVal CLng(0))
在vb.net中不知道如何转换?

追答

是vb.net没有这个函数还是?

追问

提示未声明,其实这三个是vb6.0里面的ScaleMode属性的值,在vb.net不知道怎么用

追答

一样的用,毕竟差别不是很大

追问

能用我还在这里寻帮助?????
你知道就帮我一下,解决这个问题

追答

你就稍微百度一下ScaleMode是什么意思就知道啦,

你在vb.net中ScaleMode=1就好了网页链接

本回答被提问者采纳
相似回答