Определение дилины символьной строки в пикселах для заданного контекста устройства (hDC) - VB
Формулировка задачи:
вопрос такой: как?
пробовал использовать функции GetTextMetrics и GetTextExtentPoint32 и у меня не получилось
первая не заполняла структуру, а вторая тупо возвращала 0 (ноль)
Я, вероятно, сошел с ума. Хелп
Зер Бест, если кто пришлет рабочий пример с использованием одной из этих функций. Заранее спасибо.
Решение задачи: «Определение дилины символьной строки в пикселах для заданного контекста устройства (hDC)»
textual
Листинг программы
- Private Type POINTAPI
- X As Long
- Y 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 POINTAPI) As Long
- Private Declare Function GetWindowDC Lib 'user32' (ByVal hwnd As Long) As Long
- Private Sub Form_Load()
- With Text1
- .Text = 'Thank you, MSDN.'
- .SelStart = 0
- .SelLength = Len(.Text)
- End With
- End Sub
- Private Sub Text1_Change()
- Dim udtTextSize As POINTAPI
- Dim strText As String
- Dim hDC As Long
- strText = Text1.Text
- hDC = GetWindowDC(Text1.hwnd)
- GetTextExtentPoint32 hDC, strText, Len(strText), udtTextSize
- Me.Caption = 'Длина строки в пикселах: ' & udtTextSize.X
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д