Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с ListBox 
V
    Опции темы
ProgramerForever
Дата 17.4.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 15.11.2006
Где: Новосибирск

Репутация: 2
Всего: 5



Мне надо удалить запись в ListBox. Делаю так:
Код

Private Sub List1_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = 46 Then 
        If MsgBox("Удалить?", vbYesNo, strProduct) = vbYes Then
            Me.Spool.RemoveItem Me.Spool.ListIndex
        End If
    End If
End Sub

Удаляет. Но выставляет ListIndex=-1. Ещё раз удаляю, соответственно выскакивает ошибка. А значение ListIndex только для чтения. Что делать? (Чтобы можно было жать Del,Del,Del,Del,Del  и не бояться ошибки...)
PM MAIL WWW ICQ   Вверх
Rrader
  Дата 17.4.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 6
Всего: 191



Код

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
   (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
   
Private Sub List1_KeyUp(KeyCode As Integer, Shift As Integer)
    If (KeyCode = 46) And (List1.ListCount <> 0) Then
        If MsgBox("Удалить?", vbYesNo, strProduct) = vbYes Then
            List1.RemoveItem (List1.ListIndex)
            Call SendMessage(List1.hwnd, &H186, List1.ListCount - 1, 0)
        End If
    End If
End Sub



--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
ProgramerForever
Дата 18.4.2008, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 15.11.2006
Где: Новосибирск

Репутация: 2
Всего: 5



Спс. Работает. PS: Из топика скопировал только
Код

  Call SendMessage(List1.hwnd, &H186, List1.ListCount - 1, 0)

И уже пишу ответ: Да, работает. Ещё добавил
Код

If ((KeyCode = 46) And (List1.ListCount > 0)) Then
 
Потом посмотрел, и увидел, что не стоит этого писать, т.к. "всё уже написано до Вас.." smile

Вопрос решён
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0912 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.