Q&A

  • [급질문]ListBox에서....
폼에 리스트박스가 두개와 에디트창이 한개 그리고 버튼한개가 있어요.

두개의 리스트박스 중에서 한개를 먼저 클릭하고 에디트창에 글을 적고 버튼을

리스트박스를 클릭한것에 에드가 되어야하는데, 잘 안됩니다. -.-



리스트박스1를 클릭했다면..... 이라는 문법을 써야 될꺼같은...

전 이렇게 했는데 에러는 뜨지 않는데 전혀 먹히지가 않아요 -.-



procedure TForm3.SpeedButton4Click(Sender: TObject);

begin

keywd := Edit1.Text;

if ListBox1.Focused then

begin

ListBox1.Items.Add(keywd);

end;



if ListBox2.Focused then

begin

ListBox2.Items.Add(keywd);

end;



end;



2  COMMENTS
  • Profile
    s 2001.06.29 01:27
    TForm1 = class(TForm)

    ...

    ...

    LastListBox: TListBox;

    ...

    ...

    end;





    ListBox1.OnExit(= ListBox2.OnExit)

    begin

    LastListBox := TListBox(Sender);

    end;



    Button1.OnClick

    begin

    LastListBox.Items.Add(...);

    end;

  • Profile
    오정이 2001.06.28 10:53
    버튼을 누름과 동시에 포커스는 이미 버튼으로 와있기 때문에

    조건식에 리스트 박스의 포커스를 가지고 비교하는것은 옳지 않습니다.



    음.... 제생각으로는 마지막으로 포커스를 가졌던 리스트 박스를 알기위해서는

    전역변수 ListBoxNo라는 것을 두고 아래와 같이 구현하면 될거라 생각 되네여...



    procedure TForm1.ListBox1Enter(Sender: TObject);

    begin

    ListBoxNo := 1;

    end;



    procedure TForm1.ListBox2Enter(Sender: TObject);

    begin

    ListBoxNo := 2;

    end;



    procedure TForm1.BitBtn2Click(Sender: TObject);

    var

    Keywd : string;

    begin

    keywd := Edit1.Text;



    case ListBoxNo of

    1 : ListBox1.Items.Add(keywd);

    2 : ListBox2.Items.Add(keywd);

    end;

    end;



    즐코 하셔여...



    초짜 wrote:

    > 폼에 리스트박스가 두개와 에디트창이 한개 그리고 버튼한개가 있어요.

    > 두개의 리스트박스 중에서 한개를 먼저 클릭하고 에디트창에 글을 적고 버튼을

    > 리스트박스를 클릭한것에 에드가 되어야하는데, 잘 안됩니다. -.-

    >

    > 리스트박스1를 클릭했다면..... 이라는 문법을 써야 될꺼같은...

    > 전 이렇게 했는데 에러는 뜨지 않는데 전혀 먹히지가 않아요 -.-

    >

    > procedure TForm3.SpeedButton4Click(Sender: TObject);

    > begin

    > keywd := Edit1.Text;

    > if ListBox1.Focused then

    > begin

    > ListBox1.Items.Add(keywd);

    > end;

    >

    > if ListBox2.Focused then

    > begin

    > ListBox2.Items.Add(keywd);

    > end;

    >

    > end;

    >