Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
НиколайП
-
- Продвинутый пользователь
-
-
- Сообщения: 125
- Зарегистрирован: 06.12.2005 (Вт) 22:16
НиколайП » 30.01.2006 (Пн) 13:19
ввод готовых данных в ячейку MSFlexGrid можно реализовать так:
- Код: Выделить всё
Debug.Print MSFlexGrid1.Text
MSFlexGrid1.Text = "5"
'или
MSFlexGrid1.Text = Text1.Text
а возможно ли вводить данные в ячейку непосредственно с клавиатуры ? , если возможно тогда хотелось бы узнать как это сделать.
-
Twister
-
- Теоретик
-
-
- Сообщения: 2251
- Зарегистрирован: 28.06.2005 (Вт) 12:32
- Откуда: Алматы
-
Twister » 30.01.2006 (Пн) 15:19
Кажись этот грид не поддерживает редактирование. Юзай другой...
А я все практикую лечение травами...
-
vvs_adm
-
- Гуру
-
-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 30.01.2006 (Пн) 16:00
- Код: Выделить всё
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
MSFlexGrid1.Text = MSFlexGrid1.Text & Chr$(KeyAscii)
End Sub
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!
-
Twister
-
- Теоретик
-
-
- Сообщения: 2251
- Зарегистрирован: 28.06.2005 (Вт) 12:32
- Откуда: Алматы
-
Twister » 30.01.2006 (Пн) 16:10
Ну не знаю насколько рабочий это способ, конечно...
Но метода EditCell там точно нет...
А я все практикую лечение травами...
-
alibek
-
- Большой Человек
-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 30.01.2006 (Пн) 16:11
Эмулируешь поле ввода TextBox-ом, который отображается и активируется при получении гридом фокуса и становится невидимым при потере фокуса.
Lasciate ogni speranza, voi ch'entrate.
-
Twister
-
- Теоретик
-
-
- Сообщения: 2251
- Зарегистрирован: 28.06.2005 (Вт) 12:32
- Откуда: Алматы
-
Twister » 30.01.2006 (Пн) 16:18
alibek писал(а):Эмулируешь поле ввода TextBox-ом, который отображается и активируется при получении гридом фокуса и становится невидимым при потере фокуса.
Да-да. Я так раньше и делал, а потом стал юзать другие гриды...
А я все практикую лечение травами...
-
НиколайП
-
- Продвинутый пользователь
-
-
- Сообщения: 125
- Зарегистрирован: 06.12.2005 (Вт) 22:16
НиколайП » 30.01.2006 (Пн) 16:27
alibek писал(а):Эмулируешь поле ввода TextBox-ом, который отображается и активируется при получении гридом фокуса и становится невидимым при потере фокуса.
такой вариант я и пытаюсь использовать , но думал что есть более практичный способ
...
но всё равно всем спасибо !
-
alibek
-
- Большой Человек
-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 30.01.2006 (Пн) 16:31
НиколайП писал(а):такой вариант я и пытаюсь использовать , но думал что есть более практичный способ
...
Есть -- использовать другие гриды.
Lasciate ogni speranza, voi ch'entrate.
-
НиколайП
-
- Продвинутый пользователь
-
-
- Сообщения: 125
- Зарегистрирован: 06.12.2005 (Вт) 22:16
НиколайП » 02.02.2006 (Чт) 14:35
найден вариант решения задачи: ввод данных в таблицу MSFlexGrid непосредственно с клавиатуры
- Код: Выделить всё
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
MSFlexGrid1.Text = Empty
End If
End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
If Len(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel))) > 0 Then
MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Mid(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel), 1, Len(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)) - 1)
Exit Sub
Else
Exit Sub
End If
ElseIf KeyAscii = 13 Then
If MSFlexGrid1.col <= 2 Then
SendKeys "{right}"
Exit Sub
ElseIf MSFlexGrid1.col = 3 Then
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
SendKeys "{home}" + "{down}"
Exit Sub
End If
Else
If MSFlexGrid1.col = 0 Then
ElseIf MSFlexGrid1.col = 1 Then
ElseIf MSFlexGrid1.col = 2 Then
End If
End If
MSFlexGrid1.Text = MSFlexGrid1.Text + Chr(KeyAscii)
End Sub
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 145