Системное автозаполнение для компонентов типа TComboBoxDelphi , Компоненты и Классы , СпискиСистемное автозаполнение для компонентов типа TComboBox
Автор: Евгений Ефимочкин { **** UBPFD *********** by delphibase.endimus.com **** >> Системное автозаполнение для компонентов типа ComboBox'a Вызов функции заставит выпадающие списки работать примерно как в IE в строке адреса или в системном диалоге запуска программы - при вводе текста происходит выпадение списка с вариантами и а втозаполнение наиболее подходящим. Зависимости: ActiveX Автор: Евгений Ефимочкин, jexbox1@fromru.com, ICQ:152575652, Ульяновск Copyright: взято из AS_ShellControls и слегка адаптировано мною Дата: 5 августа 2003 г. ***************************************************** } unit WinAPI_SHAutoComplete; interface uses ActiveX; function SHAutoComplete(hwndEdit: THandle; Flags: Cardinal): HRESULT; stdcall; function EnableAutoComplete(Handle: THandle; FileSystem, URL: Boolean): Boolean; implementation function SHAutoComplete; external 'ShlWApi' name 'SHAutoComplete'; function EnableAutoComplete(Handle: THandle; FileSystem, URL: Boolean): Boolean; const SHACF_FILESYSTEM = $00000001; SHACF_URLHISTORY = $00000002; SHACF_URLMRU = $00000004; SHACF_USETAB = $00000008; const IFileSystem: array[Boolean] of Cardinal = (0, SHACF_FILESYSTEM); IURL: array[Boolean] of Cardinal = (0, SHACF_URLHISTORY or SHACF_URLMRU); var Flags: Cardinal; begin Result := False; Flags := IFileSystem[FileSystem] or IURL[URL]; if Flags <> 0 then begin Flags := Flags or SHACF_USETAB; Result := SHAutoComplete(Handle, Flags) = 0; end; initialization OleInitialize(nil); finalization OleUninitialize; end; end. // Пример использования: // Для комбобокса: EnableAutoComplete(FindWindowEx(ComboBox1.Handle, 0, 'Edit', nil), False, True) // работает в точности как на IE Эта единица Delphi предлагает реализацию функции SHAutoComplete из Windows Shell API. Функция позволяет включить функциональность автодополнения для контролов редактирования (например, TComboBox), аналогично тому, как это работает в Internet Explorer. Единица использует библиотеку ActiveX и определяет две функции: SHAutoComplete, которая является внешней функцией, объявленной для соответствия оригинальной SHAutoComplete-функции, и EnableAutoComplete, которая обертывает вокруг SHAutoComplete и предоставляет более удобный интерфейс. Функция EnableAutoComplete принимает три параметра:
Функция устанавливает переменную Flags на основе параметров входа и вызывает функцию SHAutoComplete с этими флагами. Если вызов успешен, функция возвращает True; иначе - False. В примере использования функция вызывается для включения автодополнения для компонента TComboBox, названного ComboBox1, отключая автодополнение файловой системы, но включая историю URL и список наиболее часто используемых элементов. В целом, эта единица предоставляет удобный способ включить функциональность автодополнения в приложениях Delphi с помощью Windows Shell API. Системное автозаполнение для компонентов типа TComboBox: функция SHAutoComplete позволяет создавать выпадающие списки с вариантами при вводе текста в строке адреса или системном диалоге запуска программы. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |