Q&A

  • 버튼을 누르면 다른 버튼들이 나타나 그중하나를 선택하는 방법을 아시는지요
버튼들이 여러개 있습니다.

버튼1 버튼2 버튼3



그런데 그중 버튼2를 마우스 다운하면



버튼1 버튼2 버튼3

버튼4 버튼5 버튼6



버튼4, 버튼5, 버튼6이 나타납니다. 그리고 버튼2를 마우스를 다운한 상태에서 버튼5로 가서

버튼5에서 마우스를 up하면 버튼5와 관계된 기능을 하고 싶습니다.

이럴때는 어떻게 해야되는지요.



위의 방식대로 프로그래밍했더니 버튼4와 버튼5, 그리고 버튼6 어디에서든지 마우스를 up 시켜도 버튼4,5,6dp 에 관해서는 인식을 하지못합니다. 버튼2에서 마우스를 다운시킨상태에서 버튼6의 위치로 가서 up시켜도 버튼6의 마우스 move 이벤트에서는 아무작동을 하지 않는지요

?

방법이 있다면 가르쳐주세요 .. 부탁드립니다..



1  COMMENTS
  • Profile
    최용일 2001.02.21 07:46
    안녕하세요. 최용일입니다.



    흠~~~ 엄청 희안한 인터페이스네여~~~



    // OnMouseDown 이벤트

    procedure TForm1.Button2MouseDown(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    begin

    Button4.Visible := True;

    Button5.Visible := True;

    Button6.Visible := True;

    end;



    // OnMouseUp이벤트

    procedure TForm1.Button2MouseUp(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    var

    Control: TControl;

    P: TPoint;

    begin

    P := TButton(Sender).ClientToScreen(Point(X, Y));

    P := ScreenToClient(P);

    Control := ControlAtPos(P, False, True);

    if ((Control <> nil) and (Control is TButton)) then

    TButton(Control).Click; // 여기에서 원하는 작업을 하시길... Control이 마우스를 땐 위치의 버튼 컨트롤이 되겠죠...

    end;



    ^^ 항상 즐코하세요...



    윤미영 wrote:

    > 버튼들이 여러개 있습니다.

    > 버튼1 버튼2 버튼3

    >

    > 그런데 그중 버튼2를 마우스 다운하면

    >

    > 버튼1 버튼2 버튼3

    > 버튼4 버튼5 버튼6

    >

    > 버튼4, 버튼5, 버튼6이 나타납니다. 그리고 버튼2를 마우스를 다운한 상태에서 버튼5로 가서

    > 버튼5에서 마우스를 up하면 버튼5와 관계된 기능을 하고 싶습니다.

    > 이럴때는 어떻게 해야되는지요.

    >

    > 위의 방식대로 프로그래밍했더니 버튼4와 버튼5, 그리고 버튼6 어디에서든지 마우스를 up 시켜도 버튼4,5,6dp 에 관해서는 인식을 하지못합니다. 버튼2에서 마우스를 다운시킨상태에서 버튼6의 위치로 가서 up시켜도 버튼6의 마우스 move 이벤트에서는 아무작동을 하지 않는지요

    > ?

    > 방법이 있다면 가르쳐주세요 .. 부탁드립니다..

    >