Страница: 1 |
Страница: 1 |
Вопрос: Выравнивание по вертикали в TextBox
Добавлено: 06.07.04 04:32
Автор вопроса: Lister | ICQ: 298621256
Можно ли выровнять текст в текстовом поле по-вертикали?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #1
Добавлено: 06.07.04 09:46
Для получения высоты текста есть метод Form1.TextHeight(str as string)
Номер ответа: 2
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #2
Добавлено: 06.07.04 12:43
Немножко не понял вопроса, но в текстовом поле можно указать отступ слева... то?
Номер ответа: 3
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #3
Добавлено: 06.07.04 14:25
а.Умножь количество строк на высоту одной строки
Получишь общую высоту занятых строк
б.Вычти из высоты поля полученное значение(а)
Получишь общую высоту незанятых линий
в.Раздели (б) на высоту одной строки
Получишь количество незанятых линий
г.Раздели (в) на 2
Получишь отступ сверху
д.Text1.text=String$(г,VbCrLf) & Text1.text
Если TextHeight не устраивает то попробуй такую ф-ю:
Public Function GetTextSize(ByVal hwnd As Long, strText As String, Optional ByVal HeightTrue As Boolean = False) As Long
 im hdc As Long, hFont As Long, sz As Size
hdc = GetDC(hwnd) 'get handle for proper device context
Const WM_GETFONT = &H31
hFont = SendMessage(hwnd, WM_GETFONT, 0, 0) 'must select hWnd's font into DC,
hFont = SelectObject(hdc, hFont) 'otherwise System font is used..
GetTextExtentPoint32 hdc, strText, Len(strText), sz 'get text width/height
SelectObject hdc, hFont 'select original font back
ReleaseDC hwnd, hdc 'and release DC
If HeightTrue Then GetTextSize = sz.cy Else GetTextSize = sz.cx
End Function