Q&A

  • ComboBox에서...
안녕하세요.

ComboBox가 하나있고 Label이 하나 있습니다.

Item은

111.초등학교

222.중학교

333.고등학교

444.대학교

555.대학원

이렇게 있다고 할때

각 Item을 마우스로 선택하면 코드값(111)은

ComboBox.Text로 들어가고 뒤에 문자열(초등학교)

Label.Caption으로 들어가도록 하였습니다.

그런데 ComboBox.Text에 바로 코드값 111을 입력하면

Label.Caption에 문자열(초등하교)이 들어가

도록 할수는 없을까요?

어떤 이벤트를 써야할까요?

부탁 드립니다.

즐거운 플그밍을 위하여...



2  COMMENTS
  • Profile
    김영로 2000.12.21 01:38
    ComboBox 의 OnChange 이벤트를 이용하세요.

    그 이벤트에서 ComboBox.Text 를 체크해서

    그게 111 이면 ComboBox.Items 에서 앞이 111 인것을 찾아서 그 뒤의

    문자열을 라벨로 보낸다거나 하면 되겠죠.



    정건호 wrote:

    > 안녕하세요.

    > ComboBox가 하나있고 Label이 하나 있습니다.

    > Item은

    > 111.초등학교

    > 222.중학교

    > 333.고등학교

    > 444.대학교

    > 555.대학원

    > 이렇게 있다고 할때

    > 각 Item을 마우스로 선택하면 코드값(111)은

    > ComboBox.Text로 들어가고 뒤에 문자열(초등학교)

    > Label.Caption으로 들어가도록 하였습니다.

    > 그런데 ComboBox.Text에 바로 코드값 111을 입력하면

    > Label.Caption에 문자열(초등하교)이 들어가

    > 도록 할수는 없을까요?

    > 어떤 이벤트를 써야할까요?

    > 부탁 드립니다.

    > 즐거운 플그밍을 위하여...

    >

  • Profile
    권경미 2000.12.21 01:38
    procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);

    var

    i : integer;

    _pos : integer;

    begin



    if key = #13 then

    begin



    key := #0;



    for i := 0 to combobox1.items.count-1 do

    if combobox1.text = copy(combobox1.items[i],1,

    pos('.',combobox1.items[i]) - 1) then

    begin

    label1.caption := copy(combobox1.items[i],

    pos('.',combobox1.items[i])+1,

    length(combobox1.items[i])-pos('.',combobox1.items[i]));

    break;

    end

    else label1.caption := '';



    end;



    end;