Страница: 1 |
Вопрос: VB и массив текстбоксов | Добавлено: 02.05.07 22:40 |
Автор вопроса: ![]() |
Собственно возникла проблема с удалением текстбоксов. Написал программу добавления / удаления столбцов и строчек. Вроде как добавляет, но после удалеия столбца происходят странные вещи)) - текстбоксы добавляются черт знает как и т.д. Есть подозрения что все дело в номерах текстбоксов в массиве, они же удаляются не по порядку..
Если есть хороший примерчик по сабжу дайте пожалуйста, или я не тем методом это делаю... Private Sub Command1_Click() For i = 0 To Text1.Count-1 On Error Resume Next If Text1(i).Left = 2000 + 1000 * G Then Unload Text1(i) Text1(Text1.Count).Refresh Next i G = G - 1 Exit Sub 1: End Sub Private Sub Command2_Click() On Error GoTo 1 For i = 0 To 250 On Error Resume Next If Text1(i).Top = 500 + 300 * V Then Unload Text1(i) Text1(Text1.Count).Refresh Next i V = V - 1 Exit Sub 1: End Sub Private Sub Command3_Click() For i = 0 To Text1.Count - 1 On Error Resume Next If Text1(i).Top = 500 + 300 * V Then Load Text1(Text1.Count) Text1(Text1.Count - 1) = Text1(i).Index Text1(Text1.Count - 1).Top = Text1(i).Top + 300 Text1(Text1.Count - 1).Left = Text1(i).Left Text1(Text1.Count - 1).Visible = True Picture1.Height = Text1(Text1.Count - 1).Top + 400 VScroll1.LargeChange = Text1.Count * 100 End If Next i V = V + 1 End Sub Private Sub Command4_Click() For i = 0 To Text1.Count - 1 If Text1(i).Left = 2000 + 1000 * G Then On Error Resume Next Load Text1(Text1.Count) Text1(Text1.Count - 1) = "" Text1(Text1.Count - 1).Left = Text1(i).Left + 1000 Text1(Text1.Count - 1).Top = Text1(i).Top Text1(Text1.Count - 1).Visible = True Picture1.Width = Text1(Text1.Count - 1).Top + 40000 HScroll1.LargeChange = Text1.Count * 100 End If Next i G = G + 1 'MsgBox Text1.Count End Sub |
Ответы | Всего ответов: 2 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #1 | Добавлено: 03.05.07 02:13 |
такое кол-во textbox - садомазохизм.
сетки пишутся не так. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #2 | Добавлено: 03.05.07 02:37 |
написание сетки на VB, краткий курс:
создать USERCONTROL добавить методы: кол-ва строк и столбцов,текущей строки и столбца,первой видимой стр. и т.д. в событии UserControl_Paint графическими функциями (LineTo) нарисовать разделители строк и столбцов, для видимых ячеек (DrawTextEx) вывести данные из массива. убрать-добавить скролбар (SetWindowLong GWL_STYLE WS_VSCROLL). Для редактирования ячейки поместить скрытый TextBox и отображать его на нужных координатах |
Страница: 1 |
|