как во vsflexgrid сделать маску на ввод времени

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

как во vsflexgrid сделать маску на ввод времени

Сообщение s180 » 11.09.2005 (Вс) 23:51

перерыл help, нашёл свойство EditMask, которое не позволяет сделать маску на время. Наметил 2 пути: При click на ячейку выбрасывать dtpicker. Обрабатывать keypress и проверять корректность ввода времени. Подскажите, что легче и как, хотя бы примерно, сделать первое. Неужели ввод времени для vsflexgrid не является стандартом.

s180
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 11.09.2005 (Вс) 23:42

Сообщение s180 » 13.09.2005 (Вт) 15:29

а-а-а! Я победил систему vsflexgrid'а. Надеюсь, что кому-нибудь это пригодится:


VSFlexGrid1.EditMask = "##:##"

Private Sub VSFlexGrid1_ChangeEdit()

If Asc(Left(VSFlexGrid1.EditText, 1)) > 50 And Asc(Left(VSFlexGrid1.EditText, 1)) < 58 Then
VSFlexGrid1.EditText = "_" & Right(VSFlexGrid1.EditText, 4)
VSFlexGrid1.EditSelStart = 0
End If
If Asc(Right(Left(VSFlexGrid1.EditText, 2), 1)) > 51 And Asc(Left(VSFlexGrid1.EditText, 1)) = 50 Then
VSFlexGrid1.EditText = Left(VSFlexGrid1.EditText, 1) & "_" & Right(VSFlexGrid1.EditText, 3)
VSFlexGrid1.EditSelStart = 1
End If
If Asc(Left(Right(VSFlexGrid1.EditText, 2), 1)) > 53 And Asc(Left(Right(VSFlexGrid1.EditText, 2), 1)) < 58 Then
VSFlexGrid1.EditText = Left(VSFlexGrid1.EditText, 3) & "_" & Right(VSFlexGrid1.EditText, 1)
VSFlexGrid1.EditSelStart = 3
End If

End Sub


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 115

    TopList