Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вертикальное написание слов в TextBox или в Label, Вертикальное написание слов в TextBox ил 
:(
    Опции темы
Гость_Rostik Ultra
Дата 30.12.2004, 08:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подскажите плз API для вертикального написания слов в TextBox или в Label smile
  Вверх
Staruha
Дата 30.12.2004, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Интересно надо текст поворачивать или TextBox ? smile


--------------------
Возмездие настигнет
PM MAIL   Вверх
Gannibal
Дата 30.12.2004, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



а что если при помощи цвойства WordWarp у меня просто комп нерабаотает точно сказать немогу как писать вертикально.. надо попробывать, или просто попробуй считывать в техтбохе каждый символ и переносить его на новуыу строку ;)


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Gannibal
Дата 30.12.2004, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



Код

Private Function Vertical_Horizontal(ByVal nStr As String) As String
   Dim MyStr As String, i As Integer
   Static Vert As Boolean
   
   If Vert = False Then
       For i = 1 To Len(nStr)
           If i Then
               MyStr = MyStr + Mid$(nStr, i, 1) & vbCrLf
           Else
               MyStr = MyStr + Mid$(nStr, i, 1)
           End If
       Next
       
       Vertical_Horizontal = MyStr
       Vert = True
   Else
       For i = 1 To Len(nStr) Step 3
           MyStr = MyStr + Mid$(nStr, i, 1)
       Next
       
       Vertical_Horizontal = MyStr
       Vert = False
   End If
End Function

Private Sub Command1_Click()
   Label1.AutoSize = True
   Label1.Caption = Vertical_Horizontal(Label1.Caption)
End Sub



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Гость_Rostik Ultra
Дата 31.12.2004, 03:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











M.E.G.U.S Спасибо за пример , типа работает

А как кстати заделать в label несколько строк , а то wordwrap не работает ( я его обратил в true , а несколько строк всё равно не появилось smile )

  Вверх
bankuss
Дата 31.12.2004, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 26.3.2004

Репутация: 3
Всего: 4



если хочешь несколько строк, то можешь сделать так:

Label1.Caption = "1 stroka" & vbNewLine & "2 stroka"
итд
PM MAIL   Вверх
Rostik Ultra
Дата 1.1.2005, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 16.12.2004

Репутация: нет
Всего: нет



Благодарствую, но как всё-таки сделать чтобы васик автоматически мультистрочил smile А то у меня количество символов меняется smile
--------------------
PM MAIL   Вверх
Staruha
Дата 2.1.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Цитата
а что если при помощи цвойства WordWarp

- только так и надо
Цитата
а то wordwrap не работает
- И всетаки почему не работает? У меня тоже не работает. smile


--------------------
Возмездие настигнет
PM MAIL   Вверх
Vach
Дата 2.1.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Так для многострочности.
Код
Public Function VH(sIn As String) As String
Dim nLen As Integer
Dim aStr() As String
Dim nLenStr As Integer
Dim sOut As String
Dim nsLen As Integer
Dim MaxLen As Integer
Dim nF1 As Integer
Dim nF2 As Integer

nsLen = Len(sIn)
aStr = Split(sIn, vbCrLf, -1, vbTextCompare)
nLen = UBound(aStr)
If nLen = -1 Then Exit Function

For nF1 = 0 To nLen
   nLenStr = Len(aStr(nF1))
   MaxLen = IIf(nLenStr > MaxLen, nLenStr, MaxLen)
   Next nF1

sOut = String(MaxLen * (nLen + 3), " ")

For nF1 = 1 To MaxLen
   Mid(sOut, nF1 * (nLen + 3) - 1, 2) = vbCrLf
   Next nF1
   
For nF1 = 0 To nLen
For nF2 = 0 To Len(aStr(nF1)) - 1
   Mid(sOut, nF2 * (nLen + 3) + nF1 + 1, 1) = Mid(aStr(nF1), nF2 + 1, 1)
   Next nF2
   Next nF1

VH = sOut
End Function

Private Sub Text1_Change()
Label1.Caption = VH(Text1.Text)
End Sub

PM MAIL ICQ   Вверх
Staruha
Дата 31.5.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Поставь ширину Label равной одной букве
Код

Private Sub Label1_Click()
  Label1.AutoSize = True
  Label1.Caption = "Так покруче будет" & Chr(10)
End Sub


Это сообщение отредактировал(а) Staruha - 31.5.2005, 20:35


--------------------
Возмездие настигнет
PM MAIL   Вверх
Black_Star
Дата 2.6.2005, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 9.9.2003
Где: Minsk

Репутация: 4
Всего: 4



Rostik помешан на всякого рода извращениями над лэйбами smile он и на исходниках похожие темы тормошит... smile
Вообще для вертикального написания есть DrawText API.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.