在Lalel上单击,然后在Label下文出现下拉框(popupmenu),怎样让下拉框紧挨着Label下方出现。

解决方案 »

  1.   

    procedure TForm1.Label1Click(Sender: TObject);
    var
      lPoint: TPoint;
    begin
      lPoint.X := TLabel(Sender).Left;
      lPoint.Y := TLabel(Sender).Top + TLabel(Sender).Height;
      lPoint:=ClientToScreen(lPoint);
      PopupMenu1.Popup(lPoint.X, lPoint.Y);
    end;
      

  2.   

    procedure TForm1.Label1Click(Sender: TObject);
    begin
      PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
    end;
      

  3.   

    就是个定位的问题。取得Lable的左上角的坐标(x,y),以及label的高度(这个也是像素级的,直接与y相加就可以了)h,菜单弹出的位置就是(x, y+h);