Позиция курсора

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Swarog
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 23.01.2003 (Чт) 5:48
Откуда: от верблюда

Позиция курсора

Сообщение Swarog » 30.08.2003 (Сб) 8:44

Люди, я чей-то не догоняю...
Как сделать так, чтобы при нажатии enter'а в текстбоксе сначала добавлялось определенное слово (напр. <br> ;)), а потом курсор переводился на новую строку. И вообще, как задать (и узнать) положение курсора в тексте (именно мигающей палочки, а не выделения или чего еще)?
А то какая-то чушь получается...

ЗЫ. Кстати! Как узнать номер строки, где находится курсор?
Ух, не люблю я эти тексты...

ehyloz
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 30.08.2003 (Сб) 17:40
Откуда: Литва

Сообщение ehyloz » 31.08.2003 (Вс) 0:55

vbCrLf = vbNewLine = asc(13) & asc(10) = символ новой строки
выберай :)

text1.text = text1.text & "<br>" & vbcrlf
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше...

Swarog
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 23.01.2003 (Чт) 5:48
Откуда: от верблюда

Сообщение Swarog » 31.08.2003 (Вс) 1:17

А еще chr(13)+chr(10).
Так и делал.
Получается, что <br>'ы накапливаются в конце последней строчки;
пустые строки добавляются почему-то в начале. А курсор остается на месте, хотя текст съезжает вниз.
Еще раз сейчас попробую...

ehyloz
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 30.08.2003 (Сб) 17:40
Откуда: Литва

Сообщение ehyloz » 31.08.2003 (Вс) 2:07

ой :oops: . извеняюсь , перепутал.

а чтобы текстбокс опускался нужно :
Код: Выделить всё
Private Sub Text1_Change()
  Text1.SelLength = Len(Text1.Text)
End Sub
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше...

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 31.08.2003 (Вс) 18:22

Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim start As Long
If KeyAscii = 13 Then
   KeyAscii = 0
   start = Text1.selstart
   Text1.Text = Text1.Text & "<br>" & vbCrLf
   Text1.selstart = start + 6 '6=len "<br>"+chr(13)+chr(10)
End If
End Sub

вот так...
тока мне непонятно почему же всем так хочется сделать HTML редактор... неужеле еще не все поняли что лучше Bred'a(ну или на худой конец простой notepad, хотя это почти одно и тоже только что бред удобнее :) ) никаких HTML редакторов нету

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 31.08.2003 (Вс) 18:23

ой блин не подумал о том что если где-нить посредине текста тыркнуть enter то <br> добавиться в конец, ща напишу нормально=)

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 31.08.2003 (Вс) 18:30

Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim start As Long
Dim t1 As String, t2 As String
If KeyAscii = 13 Then
   KeyAscii = 0
   t1 = Left$(Text1.Text, Text1.selstart)
   t2 = Mid$(Text1.Text, Text1.selstart + 1)
   Text1.Text = t1 & "<br>" & vbCrLf & t2
   Text1.selstart = Len(t1) + 6 'len("<br>" & chr(13) & chr(10))=6
End If
t1=""
t1=""
End Sub

вот, после первого теста багов не обнаружено=) о всех багах сообщать на neon@lvs.ru =)

PS хы мне вторую здездочку на форуме дали=)

ehyloz
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 30.08.2003 (Сб) 17:40
Откуда: Литва

Сообщение ehyloz » 31.08.2003 (Вс) 20:16

_NeoN_ писал(а):PS хы мне вторую здездочку на форуме дали=)

не в звёздочках счастье и не в их количестве ...
Если я знаю, что знаю мало, я добьюсь того, чтобы знать больше...

Swarog
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 23.01.2003 (Чт) 5:48
Откуда: от верблюда

Сообщение Swarog » 01.09.2003 (Пн) 6:59

>>почему же всем так хочется сделать HTML редактор...
Во-первых, это не хтмл редактор;
во-вторых, мне казалось, что всем прежде всего хочется сделать подобие MSPaint.

А код работает, спасибо (правда, пять минут помучился, прежде чем вспомнил про multiline).

ЗЫ. А насчет звездлочек - вспомните товарища Брежнева. У него их он скока было - и что? Все равно умер. :)


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

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

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 18

    TopList