|
Локализация пункта элемента ListBoxDate: 2015-10-07; view: 342. Функция Search() предназначена для локализации (определения места) заданного пункта в списке. Элемент ListBox не предоставляет для этого каких-либо специфических методов, но позволяет определить, существует ли указанный пункт в списке, и узнать его индекс (если он существует). Для этого требуется установить свойству Text элемента нужное значение. Свойство Text элемента ListBox можно также установить из кода равным заданному пункту списка, то пункт будет автоматически выбран, и свойство ListIndex установится равным значению его индекса. Ниже представлен код функции Search(). Фрагмент программы. Функция Search() Function Search(KeyField) As Integer List1.Text = KeyField Search = List1.ListIndex End Function Для локализации пункта списка элемента ListBox можно предоставить пользователю элемент TextBox в поле которого можно ввести искомую строку. В событие Change элемента TeхtBoх вставьте код, определяющий вызовом функции Search() местонахождение пункта, ключ которого введен в поле элемента TextBox. Для программирования обработчика события Change элемента TextBox, содержащего ISBN, используйте следующий код. Фрагмент программи. Обработчик события Change элемента TextBox с кодом ISBN Private Sub txtISBN_Change() position = Search(Trim$(txtISBN.Text)) If position > -1 Then List1.ListIndex = position ShowRecord Else txtPublisher.Text = "" txtAuthor.Text = "" txtTitle.Text = "" End If End Sub Пользователь может находить пункт в списке с помощью мыши либо вводя его ключ в поле ISBN. Однако разработанное приложение имеет недостаток - оно не устанавливает частичного совпадения ключей. Другими словами если значение ISBN не имеет точного соответствия с записью в списке, то пункт не будет выбран. Предположим, что ключ равен 1984-2030-3. Тогда для значений ISBN, равных 1984-2030 или 1984-20, не будет найдена соответствующая запись.
|