请教 怎么更改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