Q&A

  • 폼안에 있는것중 어느것이 focus를 갖고 있는지..
폼안에서 어느 콤포넌트가 focus를 갖고 있는지를 알고 싶어요.

그리고 BitBtn을 동적으로 생성합니다.

onMouseDown이벤트가 발생할때 이름을 알기위해서 아래처럼

프로시져를 만들어서 iPanel[iArray].OnMouseDown = iButton_MouseDown;

이라고 했는데 밑에 내용이 맞나요?

고수님들의 조언을 부탁합니다. 꾸뻑



procedure TfStructure.iButton_MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

ShowMessage((Sender As TBitBtn).Name);

end;

2  COMMENTS
  • Profile
    하얀까마귀 2001.05.05 01:53
    TForm.ActiveControl <= 요넘이 폼의 현재 포커스를 가진넘입니다.





    왕초보 wrote:

    > 폼안에서 어느 콤포넌트가 focus를 갖고 있는지를 알고 싶어요.

    > 그리고 BitBtn을 동적으로 생성합니다.

    > onMouseDown이벤트가 발생할때 이름을 알기위해서 아래처럼

    > 프로시져를 만들어서 iPanel[iArray].OnMouseDown = iButton_MouseDown;

    > 이라고 했는데 밑에 내용이 맞나요?

    > 고수님들의 조언을 부탁합니다. 꾸뻑

    >

    > procedure TfStructure.iButton_MouseDown(Sender: TObject;

    > Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

    > begin

    > ShowMessage((Sender As TBitBtn).Name);

    > end;

  • Profile
    허접답변 2001.05.05 00:53
    허접임다.



    폼안에서 focus를 가지고 있는지는 폼의 메서드 중에 activecontrol이라는게 있슴다.

    예를 들면여...Form1.ActiveControl이라는 얘기져.



    글구, 아래에서 하신게 맞는데여....좀더 안정적이고 정확하게 처리할려면

    is 연산자를 사용하고 나서 as연산자를 사용하세염...

    꼭, 이렇게 해라는 법은 없슴다. 그냥 제 스타일이니까여...^^;

    var

    TBB: TBitBtn;

    begin

    if (Sender is TBitBtn) then begin

    TBB:= (Sender as TBitBtn);

    showmessage(TBB.Name);

    end;

    end;



    허접이었음다. ^^;





    왕초보 wrote:

    > 폼안에서 어느 콤포넌트가 focus를 갖고 있는지를 알고 싶어요.

    > 그리고 BitBtn을 동적으로 생성합니다.

    > onMouseDown이벤트가 발생할때 이름을 알기위해서 아래처럼

    > 프로시져를 만들어서 iPanel[iArray].OnMouseDown = iButton_MouseDown;

    > 이라고 했는데 밑에 내용이 맞나요?

    > 고수님들의 조언을 부탁합니다. 꾸뻑

    >

    > procedure TfStructure.iButton_MouseDown(Sender: TObject;

    > Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

    > begin

    > ShowMessage((Sender As TBitBtn).Name);

    > end;