Q&A

  • 자동검색 콤보???
콤보박스에 입력했을 때 자동으로 가장 근접한 아이템을

찾아서 콤보에 보여주는 방법 좀 갈켜 주세요.

sendmessage를 이용하면 가능하다든데...

1  COMMENTS
  • Profile
    김영대 1999.12.07 19:46
    장일형 wrote:

    > 콤보박스에 입력했을 때 자동으로 가장 근접한 아이템을

    > 찾아서 콤보에 보여주는 방법 좀 갈켜 주세요.

    > sendmessage를 이용하면 가능하다든데...



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Edit1: TEdit;

    ComboBox1: TComboBox;

    ListBox1: TListBox;

    procedure Edit1Change(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    procedure TForm1.Edit1Change(Sender: TObject);

    var

    S: array[0..255] of Char;

    begin

    StrPCopy(S, Edit1.Text);

    // CB_SELECTSTRING message는 S(Edit1.Text)에 가장 근접한 list item의

    // index를 리턴한다

    with ComboBox1 do

    ItemIndex := Perform(CB_SELECTSTRING, 0, LongInt(@S));



    // LB_SELECTSTRING message는 S(Edit1.Text)에 가장 근접한 list item의

    // index를 리턴한다

    with ListBox1 do

    ItemIndex := Perform(LB_SELECTSTRING, 0, LongInt(@S));

    end;



    end.