Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Графика в VB.net / 5 сообщений из 5, страница 1 из 1
18.10.2004, 16:48
    #32743072
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в VB.net
Уважаемые господа подскажите мне пожалуйста можно ли каким-либо образом сделать следующее:
есть

g.DrawString(description(row_sub("description")), myfont, brsh.Red, x, y)

он выводит текст в строку начиная с x,y

Необходимо ограничить текст рамкой, чтобы он (текст) переносился по словам в пределах рамки.

Заранее очень благодарен за ответ.
...
Рейтинг: 0 / 0
18.10.2004, 17:44
    #32743221
Max Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в VB.net
Интересный вопрос, а чем тебя TextBox не устраивает?
Max Pro
...
Рейтинг: 0 / 0
18.10.2004, 18:00
    #32743281
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в VB.net
Рисую текст поверх картинки (определенное место на фотографии обводится и подписывается)
Решение нашел!! кому интересно:

Dim width As Single = 200.0F
Dim height As Single = 200.0F
Dim drawRect As New RectangleF(x2, y2, width, height)
g.DrawRectangle(redPen, x2, y2 - 10, width, height)
g.DrawString(description(row_sub("description")), myfont, brsh.Salmon, drawRect)
...
Рейтинг: 0 / 0
23.10.2004, 00:12
    #32751364
lisichanec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в VB.net
Заглянь еще в этот пример (контрол) - растягивающаяся Lable.
Изначально задаешь ширину, а весь помещаемый в нее текст будет автоматически перенесен на новые строки и Lable растянется вниз чтобы вместить весь текст.



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
Imports System.ComponentModel

    Public Class LabelStretch

        Inherits System.Windows.Forms.Label
        Private m_Components As IContainer
        Private m_Streth As Boolean = True
        Private m_BorderStyle As Border3DStyle = Border3DStyle.Etched


#Region "       Инициализация "

        Public Sub New()
            MyBase.New()
            InitializeComponent()
        End Sub

        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
            If disposing Then
                If Not (m_Components Is Nothing) Then
                    m_Components.Dispose()
                End If
            End If
            MyBase.Dispose(disposing)
        End Sub

        Private Sub InitializeComponent()
            Me.Name = "LabelStretch"
            Me.Size = New System.Drawing.Size( 100 ,  20 )
        End Sub

#End Region

        <Category("Appearance"), _
        Description("Растянуть Lable вниз, чтобы вместить весь техт"), _
         DefaultValue(GetType(Boolean), "True")> _
        Public Property StrethText() As Boolean
            Get
                Return m_Streth
            End Get
            Set(ByVal Value As Boolean)
                m_Streth = Value
                Me.Invalidate()
            End Set
        End Property

        <Category("Blinking"), _
         DefaultValue(GetType(Border3DStyle), "Etched")> _
        Public Shadows Property BorderStyle() As Border3DStyle
            Get
                Return m_BorderStyle
            End Get
            Set(ByVal Value As Border3DStyle)
                If m_BorderStyle <> Value Then
                    m_BorderStyle = Value
                    Me.Invalidate()
                End If
            End Set
        End Property

        Protected Overrides Sub OnPaint( _
                            ByVal e As System.Windows.Forms.PaintEventArgs)
            MyBase.OnPaint(e)
            Me.OnDrawBorder(e.Graphics)
            If designmode Then
                Me.OnDrawBorder(e.Graphics)
            End If

        End Sub


        Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)

            If m_Streth Then
                Dim g As Graphics = Me.CreateGraphics()
                Dim s As SizeF = g.MeasureString(Me.Text, Me.Font, Me.Width)
                Me.Height = s.Height +  5 
                g.Dispose()
            End If

        End Sub
        Protected Overridable Sub OnDrawBorder(ByVal gr As Graphics)
            ControlPaint.DrawBorder3D(gr, ClientRectangle, m_BorderStyle)
        End Sub

    End Class
End Namespace


Всего нийлучшего.
...
Рейтинг: 0 / 0
23.10.2004, 20:28
    #32751654
crowler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Графика в VB.net
спасибо!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Графика в VB.net / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]