Страница: 1 | 2 |
|
Вопрос: TextBox с картинками ???
|
Добавлено: 25.12.08 15:36
|
|
Автор вопроса: Alex
|
Скажите а есть ли в природе TextBox в который можно добавлять анимированную gif картинку, или как добавить в TextBox картину?
Очень долго искал в интернете но ничего не нашёл :(( может у кого что есть?
PS. Максимум что я нашёл это как добавить картинку в RichTextBox но это не то... надо добиться того чтобы выглядело как в ICQ (смайлики)
Ответить
|
Номер ответа: 1 Автор ответа: Alex
Вопросов: 10 Ответов: 131
|
Профиль | | #1
|
Добавлено: 25.12.08 15:37
|
Вот что я нашёл.
Данный пример покажет, как можно программно вставить графический файл в элемент RichTextBox.
Наличие событий Form_Load и Form_QueryUnload обязательно, иначе ваш VB-проект просто-напросто "рухнет".
- Private Sub Command1_Click()
- a = RichTextBox1.SelStart
- RichTextBox1.OLEObjects.Add , , "D:\4\add_pictures_to_richtextbox\smile.bmp"
- RichTextBox1.SelStart = a + 1
- RichTextBox1.SetFocus
- End Sub
- Private Sub Form_Load()
- RichTextBox1.OLEObjects.Clear
- End Sub
- Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
- RichTextBox1.OLEObjects.Clear
- End Sub
Ответить
|
Номер ответа: 5 Автор ответа: Alex
Вопросов: 10 Ответов: 131
|
Профиль | | #5
|
Добавлено: 25.12.08 22:09
|
придётся возится
Ответить
|
Номер ответа: 6 Автор ответа: Alex
Вопросов: 10 Ответов: 131
|
Профиль | | #6
|
Добавлено: 25.12.08 22:14
|
Скажите а можно собрать ActiveX для VB6 на С++ (VST-2005)??
Ответить
|
Номер ответа: 7 Автор ответа:
Вопросов: 5 Ответов: 79
|
Профиль | | #7
|
Добавлено: 26.12.08 00:38
|
ВОТ!!!
Детище моих мучений. Alex, и все остальные - зацените фичу! (пардон за глючность и попадающиеся куски ненужного кода - я действительно помучился над этой ерундой)
-
- Private Declare Function GetTextExtentPoint Lib "gdi32" Alias "GetTextExtentPointA" ( _
- ByVal hdc As Long, _
- ByVal lpszString As String, _
- ByVal cbString As Long, _
- lpSize As Size _
- ) As Long
-
- Private Type Size
- cx As Long
- cy As Long
- End Type
-
- Private Type TypePiece
- STR As String
- x As Integer
- y As Long
- End Type
-
- Const STR = "Порнография :) - :) по :) греч. :) описание :) проституции. :) Сообразно :) с :) этим :) :) первые :) литературные :) произведения, :) :) восстававшие :) :) против :) :) развития :) :) проституции, :) назывались :) П. :) Такова, :) напр., :) книга :) Ретиф :) де :) ла :) Бретонна, :) :) озаглавленная: :) ""Le :) Pornographe :) ou :) Idees :) d'un :) honnete :) homme :) sur :) un :) projet :) :) de :) :) reglement :) pour :) :) les :) :) :) prostituees"" :) :) :) etc. :) :) :) Л., :) :) :) 1769). :) :) :) Когда(1836) :) :) :) появилось :) обстоятельное :) исследование :) знаменитого :) врача :) Паран :) Дюшателе :) по :) :) тому :) :) же :) предмету, :) то :) оно :) уже :) никем :) не :) рассматривалось :) как :) П., :) а :) было :) признано :) :) в :) высокой :) :) степени :) :) поучительным :) :) :) и :) :) :) полезным."
- Const SMILE = ":)"
- Dim isInFormLoad As Boolean
-
- Private Function getTextSize(ByRef s As String) As Size
- Dim sz As Size
- a = GetTextExtentPoint(Form1.hdc, s, Len(s), getTextSize)
- End Function
-
- Private Sub Form_Activate()
- Dim step As Long, cx As Long, cy As Long, t As String, tt As String
- isInFormLoad = True
- Form1.ScaleMode = 3
- smilewidth = getTextSize(SMILE).cx
- Picture1(0).Width = smilewidth
- Picture1(0).BorderStyle = 0
- step = 1
- cx = Text1.Left
- k = 0
- t = Text1
- Text1 = ""
-
- For j = 1 To Len(t)
- b = Mid(t, j, 1)
- Text1 = Text1 + b
- tt = tt + b
- If step = Len(SMILE) Then
-
- cx = cx + getTextSize(tt).cx
- k = k + 1
- If k >= Picture1.Count Then Load Picture1(k)
- Picture1(k).Visible = True
- Picture1(k).Left = cx - smilewidth
- Picture1(k).Top = cy + Text1.Top
- tt = ""
- step = 1
-
- Else
- If b = Mid(SMILE, step, 1) Then
- step = step + 1
- Else
- step = 1
- End If
- End If
- Next j
-
- Text1.ZOrder 1
- isInFormLoad = False
- End Sub
-
- Private Sub Form_Load()
- Text1 = STR
- End Sub
-
- Private Sub Text1_Change()
- If Not isInFormLoad Then Form_Activate
- End Sub
Ответить
|
Страница: 1 | 2 |
Поиск по форуму