Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Компонент TComboBox с пошаговым поиском в списке

Delphi , Компоненты и Классы , Списки

Компонент TComboBox с пошаговым поиском в списке

Оформил: DeeCo

Автор: Роман Журавлев

Мне понадобился компонент TComboBox с пошаговым поиском в списке.
Несколько модифицированный стандартный TComboBox компонент с возможностью инкрементального поиска нашел на lithops.mastak.com. Для Borland C++ Builder.
Переписал его на Delphi, может кому пригодится. Всю критику по коду приму по мылу.

Here's the translation of the Delphi code into Russian:

Единица ComboSearch;

интерфейс

uses Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs;

тип TComboSearch = класс (TComboBox) private FSearching: Boolean; procedure DoSearch(Param: integer); protected procedure DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); override; public constructor Create(AOwner: TComponent); override; end;

var ComboSearchClass: TComboSearch;

implementation

uses ComCtrls, Edit;

constructor TComboSearch.Create(AOwner: TComponent); begin inherited Create(AOwner); FSearching := False; end;

procedure TComboSearch.DoSearch(Param: integer); begin if FSearching then SearchEdit.Text := SearchEdit.Text + Chr(Param); end;

procedure TComboSearch.DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var Str: string; StartPos: integer; begin if FSearching then begin Str := Items.Strings[Index]; StartPos := SearchEdit.TextLength + 1; if Pos(UpCase(SearchEdit.Text), UpCase(Str)) > StartPos then Rect.Left := Rect.Left - (Rect.Right - Rect.Left) * (StartPos / Length(Str)); end; inherited DrawItem(Control, Index, Rect, State); end;

end.

Автор статьи Роман Журавлев создал модифицированный компонент TComboBox с пошаговым поиском в списке, который он переписал из версии для Borland C++ Builder на Delphi и предоставил его для использования.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Списки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-08 18:58:16/0.0032780170440674/0