Q&A

  • 분류먼저 해주시길 부탁드립니다.
콤보박스 컨트롤에서 에티트박스에 글자를 처넣고 있을때 콤보박스 컨트롤의 리스트 에서 비교해서 있는 내용을 시키는 방법좀 알쳐 줘요.....

(예컨데 콤보박스 리스트에 "홍길동","저팔계","삼순이"등의 자료가있다 가정할때 사용자가 콤보박스의 에디트에 "홍"이라고 치기만 해도 비교해서 홍길동이라는 내용이 있는 리스트위치로 이동 반전시키는 것이라 하면 되나.....



질문이 이해되신분은 답변좀 부탁드려요....)

1  COMMENTS
  • Profile
    조규춘 2000.02.25 03:20
    열혈처리 wrote:

    > 콤보박스 컨트롤에서 에티트박스에 글자를 처넣고 있을때 콤보박스 컨트롤의 리스트 에서 비교해서 있는 내용을 시키는 방법좀 알쳐 줘요.....

    > (예컨데 콤보박스 리스트에 "홍길동","저팔계","삼순이"등의 자료가있다 가정할때 사용자가 콤보박스의 에디트에 "홍"이라고 치기만 해도 비교해서 홍길동이라는 내용이 있는 리스트위치로 이동 반전시키는 것이라 하면 되나.....

    >

    > 질문이 이해되신분은 답변좀 부탁드려요....)



    안녕하십니까? 저는 대전에 사는 초보입니다.

    반갑군요! 무슨 말인줄 알아서 해보았는데 영어는 잘되는 돼요!

    한글은 한문자 치고 난다음에 esc 나 방향키를 눌러야 기능이 되더라구요! 이것은 잘 알아서 해보시구요! 추신)혹시 한글 성공하시면 저 한테 연락을 히~*



    이제 부터 소스입니다. 행복하셔요... 인심좋은 대전에서..

    unit Unit1;



    interface



    uses

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

    StdCtrls;



    type

    TForm1 = class(TForm)

    ComboBox1: TComboBox;

    procedure ComboBox1Change(Sender: TObject);

    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    private

    { Private declarations }



    key_ch : word;

    idsave : integer;

    savestr : array [0..9] of string;





    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    begin

    key_ch := key;

    if key = VK_RETURN then begin

    ComboBox1.Items.Add(ComboBox1.Text);

    combobox1.Text := '';

    if (idsave <= 9) then begin

    Inc(idsave);

    savestr[idsave] := ComboBox1.Text;

    end;

    end;



    end;



    procedure TForm1.ComboBox1Change(Sender: TObject);

    var

    index : integer;

    countint : pchar;

    begin

    if ((key_ch <> VK_BACK) and (key_ch <> VK_DELETE)) then

    begin

    countint := pchar(String(ComboBox1.Text));

    index := SendMessage(ComboBox1.Handle, CB_FINDSTRING, -1, Integer(countint));

    combobox1.Refresh;



    if index >= 0 then

    begin

    ComboBox1.Text := ComboBox1.Items[index];

    ComboBox1.SelStart := StrLen(countint);

    ComboBox1.SelLength := StrLen(pchar(ComboBox1.Items[index]));

    combobox1.Refresh;

    end;

    end;

    end;



    end.