Определение дилины символьной строки в пикселах для заданного контекста устройства (hDC) - VB

Узнай цену своей работы

Формулировка задачи:

вопрос такой: как? пробовал использовать функции GetTextMetrics и GetTextExtentPoint32 и у меня не получилось первая не заполняла структуру, а вторая тупо возвращала 0 (ноль) Я, вероятно, сошел с ума. Хелп Зер Бест, если кто пришлет рабочий пример с использованием одной из этих функций. Заранее спасибо.

Решение задачи: «Определение дилины символьной строки в пикселах для заданного контекста устройства (hDC)»

textual
Листинг программы
  1. Private Type POINTAPI
  2.     X As Long
  3.     Y As Long
  4. End Type
  5.  
  6. 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
  7. Private Declare Function GetWindowDC Lib 'user32' (ByVal hwnd As Long) As Long
  8.  
  9. Private Sub Form_Load()
  10.     With Text1
  11.         .Text = 'Thank you, MSDN.'
  12.        .SelStart = 0
  13.         .SelLength = Len(.Text)
  14.     End With
  15. End Sub
  16.  
  17. Private Sub Text1_Change()
  18.     Dim udtTextSize As POINTAPI
  19.     Dim strText As String
  20.     Dim hDC As Long
  21.    
  22.     strText = Text1.Text
  23.    
  24.     hDC = GetWindowDC(Text1.hwnd)
  25.    
  26.     GetTextExtentPoint32 hDC, strText, Len(strText), udtTextSize
  27.    
  28.     Me.Caption = 'Длина строки в пикселах:  ' & udtTextSize.X
  29. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы