Q&A

  • RichEdit에서 Popupmenu를 위한 마우스커서위치...부탁...
고수님들....델파이 왕초보 인사드립니다.



RichEdit를 이용해 메모장을 만드는중인데 마우스 오른버튼클릭시에



마우스가 위치한곳에서 PopupMenu를 띄울려구 하는데.....



제발 자세히 좀 갈쳐주세여~





2  COMMENTS
  • Profile
    최용일 2000.04.12 20:15
    안녕하세요. 최용일입니다.



    대부분 OnMouseUp이벤트(or OnMouseDown)에서 팝업메뉴를 띄우는데 이 이벤트가



    마우스가 눌린 위치를 알려줍니다. 이 좌표는 컨트롤을 중심으로한 지역좌표이니까



    이걸 전역좌표로 바꾼후 팝업메뉴를 부르시면 됩니다.



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

    Shift: TShiftState; X, Y: Integer);

    var

    P: TPoint;

    begin

    if Button = mbRight then // 오른쪽버튼이 눌려졌는가

    begin

    // 지역좌표 (X, Y)를 전역좌표 (P.X, P.Y)로 바꾼다.

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

    // 팝업메뉴를 띄운다.

    PopupMenu1.Popup(P.X, P.Y);

    end;

    end;



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



    풋나기 wrote:

    > 고수님들....델파이 왕초보 인사드립니다.

    >

    > RichEdit를 이용해 메모장을 만드는중인데 마우스 오른버튼클릭시에

    >

    > 마우스가 위치한곳에서 PopupMenu를 띄울려구 하는데.....

    >

    > 제발 자세히 좀 갈쳐주세여~

    >

    >

  • Profile
    초짜 2000.04.12 21:37
    최용일님! 넘 감사합니다. 꾸뻑