Q&A

  • combobox에서 리턴키 눌러지면...
안녕하세요

combobox에서 리턴키 눌러지면 다음 combox2로 이동되도록 하는것은 아래와 같이 하면 되는데...

procedure Tmaster_input2.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
  combobox2.setfocus;
end;
end;

문제점은 combobox가 20개정도 되는데 이런식으로 다 입력 할 수도 없구 좋은 방법이 없나요?

edit경우는 findcomponent로 되던데...combobox에서는 이게 안 먹네요..ㅜㅜ

그래서 생각 한것이 이런식으로 하려구 하는데....어떻게 해야 되는지 모르겠네요.

procedure Tmaster_input2.ComboBox1KeyPress(Sender: TObject; var Key: Char);
var
aaa : integer;
begin
if key = #13 then
begin
  aaa := strtoint(copy(Activecontrol.Name, 9, 2))+1;
  TComboBox(aaa).setfocus;
end;
end;

그럼 좋은 하루되세요...^^
2  COMMENTS
  • Profile
    권대웅 2002.02.22 23:37
    모든 콤보박스의 OnKeyDown 메시지를 아래와 같은 함수에
    연결 해 보세요!

    procedure TFrm1.ComboBoxKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      case Key of
        vk_RETURN, vk_DOWN : SelectNext(Activecontrol as TWinControl,True, True); //다음 인덱스로
        vk_ESCAPE, vk_UP : SelectNext(Activecontrol as TWinControl,False, True); //이전 인덱스로
      end;//case
    end;


  • Profile
    성더기 2002.02.22 22:20

    콤보박스의 Tab Index를 순서대루 정하시구여
    SelectNext 함수를 써보세욤