Текстовые контролы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
WEB_13
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 06.08.2003 (Ср) 8:02
Откуда: Reutov, Russia

Текстовые контролы

Сообщение WEB_13 » 20.10.2003 (Пн) 12:34

Можно ли как нибудь расширить возможности TextBox'а и RichTextBox'а? Я имею в виду координально расширить! - в TextBox'е применить сразу несколько шрифтов и их цветов, сменить цвет выделения текста в RichTextBox'е, ну и т.д.
Format Hard Disk Completed

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

!Ё!

Сообщение hCORe » 22.10.2003 (Ср) 16:32

Выход есть : самому создать необходимые контролы :(.
Создание ActiveX в VB6 гораздо проще, чем где бы ты ни было.

Есть только один способ сделать программу лучше - написать ее самому. Так и тут. Используя концепцию "плавающего пикчербокса", можно добиться многого :idea:.
Конечно, месяц (или больше) будет потрачен на изучение RTF кодов, ругание матом документации Microsoft Windows Platform SDC etc, etc.
Но на то оно и программирование, чтобы быть сложным и интересным!

P.S. Плавающий пикчербокс - это объект PictureBox, помещенный в другой объект PictureBox, наделенный полосами прокрутки для полного просмотра содержимого. Свойство AutoRedraw=True. Используем методы Print, Cls, Line, Pset, Circle - и вперед! Ах да, еще есть CurrentX и CurrentY для позиции по координате X и Y соответственно.
Моду создают модоки, а распространяют модозвоны.

WEB_13
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 06.08.2003 (Ср) 8:02
Откуда: Reutov, Russia

Сообщение WEB_13 » 25.10.2003 (Сб) 1:33

Ага. создавать!? Я уже в RichTextBox 3 недели пытаюсь реализовать подсветку кода и всё бестолку! Здесь на форуме дали какую-то ссылку и тему закрыли, но это не то!!! Одно дело создавать контролы из готовых, а как зделать с нуля?!
Format Hard Disk Completed

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

Сообщение GSerg » 25.10.2003 (Сб) 6:43

Ну нет наследования в VB, забей.
И чем тебе наши раскраски со старого форума не нравятся?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

WEB_13
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 06.08.2003 (Ср) 8:02
Откуда: Reutov, Russia

Сообщение WEB_13 » 27.10.2003 (Пн) 15:26

Если я правильно всё понял, то тот код представляет собой: "Нажал на кнопочку и текст обработался в нужном стиле". А я пробовал реализовать, чтоб текст менялся при вводе определённых слов, например, как в компиляторах Borland C++ и Visual C++ (в VB немного иначе сделано).
Вот моя последняя наработка (иногда глючит и при вводе больших текстов тормозит)!!!:

Код: Выделить всё
Private Sub RichTextBox1_Change()
Dim Tag As String
Dim Char As String
Dim Count As Integer
Dim J As Integer
Dim Poisc As Integer

Tag = "{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0 \fnil\fcharset0 Tahoma;}{\f1\fnil\fcharset204 Tahoma;}} {\colortbl; \red128\green0\blue0;} \viewkind4\uc1\pard\cf1\lang1033\f0\fs20  Dim \cf0\lang1049\f1 }"
Count = RichTextBox1.SelStart
J = Count
If Count < 6 Then J = 6
Char = Mid(RichTextBox1.Text, J - 5, 6)
RichTextBox1.Text = Replace(RichTextBox1.Text, Char, Char)
RichTextBox1.SelStart = Count

Poisc = InStr(1, RichTextBox1.Text, "Dim")
If Poisc > 0 Then
   RichTextBox1.TextRTF = Replace(RichTextBox1.TextRTF, " Dim ", Tag)
   RichTextBox1.SelStart = Count
   RichTextBox1.SelLength = 0
   RichTextBox1.SelColor = 128
   RichTextBox1.SelBold = False
End If
End Sub

Ну с наследованием это всё понятно. Возможно ли в VB создать контрол с нуля такого класса, как текстовые поля???
Format Hard Disk Completed

WEB_13
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 06.08.2003 (Ср) 8:02
Откуда: Reutov, Russia

Сообщение WEB_13 » 06.11.2003 (Чт) 16:25

И ещё вопросик!!! :). Вот набацал я TextBox в стиле XP. В процессе растановки свойств оказалось, что свойства ScrollBars и MultiLine имеют статус - только чтение. Но последнее не так важно, а вот первое! Нашёл API-функцию ShowScrollBar, которая включает полосы прокрутки. Такая конструкция добавляет горизонтальный scrollbar: Call ShowScrollBar(Text1.hwnd, 0, 1) - прикольно, что таким способом даже на форму можно полосу прокрутки привинтить :)))! Интересно, как теперь убрать его???
Format Hard Disk Completed


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

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

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

    TopList