Поддержка / Donate
 

WebMoney

Яндекс.Деньги

SMS.Копилка
Деньги@Mail.ru
Rupay
E-gold
PayPal

 

Благодарю за поддержку!

Лента RSS - Новости сайта Новости сайта
Лента RSS - Новости форума Новости форума
Добавить в закладки и поделиться Bookmark and Share

 

Архив исходников

 


Automatic translation

 
English German French
Italian Spanish Portuguese
Greece Japan Chinese
  Korean  

  

 

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Системное автозаполнение для компонентов типа TComboBox

Автор: Евгений Ефимочкин
WEB-сайт: http://delphibase.endimus.com

{ **** 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 World" © Выпуск 2002 - 2004
Автор проекта: Акулов Николай



   Rambler's Top100             Яндекс цитирования