请教 怎么更改textout的字体
想制作一个可以在richtextbox 左侧显示行号功能。下面的函数实现了在rtb左侧画出数字。但我发现,我在textout输出的文字,大小和字体并没有跟rtb一起改变
我该怎么读取rtb的字体,然后选入hdccpb设备呢?
程序代码:'测试
Sub test(hwnd&)
Dim rtRect As RECT, ret&, i As Integer, y As Integer
Dim hdcEdit&, hdcCpb&, hdcBmp&
ret = GetClientRect(hwnd, rtRect) '获得客服区大小
hdcEdit = GetDC(hwnd) '获取rt的dc
hdcCpb = CreateCompatibleDC(hdcEdit) '创建与RichEdit兼容的位图Dc,我们用来显示行号用的。就是内存dc
hdcBmp = CreateCompatibleBitmap(hdcEdit, 40, rtRect.Bottom - rtRect.Top)
ret = SelectObject(hdcCpb, hdcBmp)
ret = FillRect(hdcCpb, rtRect, CreateSolidBrush(RGB(120, 100, 120))) '填充显示行号dc的背景颜色。大家可以试试其它颜色
ret = SetBkMode(hdcCpb, TRANSPARENT) '?保持背景不变
y = 4
For i = 1 To 8
ret = TextOut(hdcCpb, 5, y, StrPtr(i), 1)
y = y + 20
Next
ret = BitBlt(hdcEdit, 0, 0, 40, rtRect.Bottom - rtRect.Top, hdcCpb, 0, 0, SRCCOPY)
ret = DeleteDC(hdcCpb)
ret = ReleaseDC(hwnd, hdcEdit)
ret = DeleteObject(hdcBmp)
End Sub






