选中数据时显示Menu,点击DBGRID的其他地方不显示

解决方案 »

  1.   

    难道我表达的不够明白?右键点中数据时显示PopupMenu点击DBGRID的其他地方不显示????
    我看DBGRID中有ContextPopup,但不知道怎么写?
      

  2.   

    在DBGRID的COLUMNS中将指定的字段PopupMenu属性,指定你要显示的PopupMenu就行了
      

  3.   

    在OnMouseDown里判断一下鼠标的位置:procedure TForm1.DBGridEh1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var p: TPoint;
    begin
      p:= Point(X, Y);
      if (Button = mbRight) and (PtInRect(DBGridEh1.CellRect(DBGridEh1.Col, DBGridEh1.Row),P )) then
        PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
    end;