Пренос по словам

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Пренос по словам

Сообщение _Мика_ » 14.12.2004 (Вт) 14:23

Ну допустим открываем файл на чтение, вытаскиваем в стринг, а потом нужно это все дело вылить на ПикчерБокс только, с перносом по словам! :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.12.2004 (Вт) 14:27

DrawText
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 14.12.2004 (Вт) 15:54

Да неее! как нарисовать текст я знаю, а вот как сделать чтобы если тескт привышает какойто придел в длину, то он переносится на другую строку, но не просто, что бы получилось что-то типа этого,

жили были д
ед да баба

А вот так

жили были
дед да баба

я надеюсь понятно :roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.12.2004 (Вт) 16:01

Я же говорю, DrawText...

DT_WORDBREAK Breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line.
If this is not specified, output is on one line.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 14.12.2004 (Вт) 19:32

Сори, ща буду смотреть :lol:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 15.12.2004 (Ср) 12:02

Мистер GSerg, а можно не большой примерчик :roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.12.2004 (Ср) 12:13

Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.12.2004 (Ср) 12:24

Код: Выделить всё
Option Explicit

Private Declare Function DrawText Lib "user32.dll" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long

Private Const DT_CENTER As Long = &H1
Private Const DT_WORDBREAK As Long = &H10

Private Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

Private Sub Form_Load()
  Me.ScaleMode = vbPixels
  Me.Caption = "Resize me..."
End Sub

Private Function s(p As String, ByVal c As Long) As String
  For c = 1 To c
    s = s & p
  Next
End Function

Private Sub Form_Resize()
  Dim r As RECT
 
  r.Right = Me.ScaleWidth
  r.Bottom = Me.ScaleHeight
  Me.Cls
  DrawText Me.hdc, s("Гы! ", 50), Len("Гы! ") * 50, r, DT_CENTER Or DT_WORDBREAK
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 17.12.2004 (Пт) 19:53

ШШШШШпасибо :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 86

    TopList