object SpinEdit1: TSpinEdit
  Left = 64
  Top = 88
  Width = 121
  Height = 22
  MaxValue = 0
  MinValue = 0
  PopupMenu = PopupMenu1
  TabOrder = 1
  Value = 0
  OnMouseDown = SpinEdit1MouseDown
  OnMouseUp = SpinEdit1MouseUp
end

解决方案 »

  1.   

    PopupMenu = PopupMenu1
    //赋值一个空的右键菜单即可
      

  2.   

    但是Control+v还是可以?能不能直接截获Control+v的消息?是WM_PASTE?
      

  3.   

    const
    { VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }
      VK_0 = $30;  VK_1 = $31;  VK_2 = $32;  VK_3 = $33;  VK_4 = $34;
      VK_5 = $35;  VK_6 = $36;  VK_7 = $37;  VK_8 = $38;  VK_9 = $39;{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }
      VK_A = $41;  VK_B = $42;  VK_C = $43;  VK_D = $44;
      VK_E = $45;  VK_F = $46;  VK_G = $47;  VK_H = $48;
      VK_I = $49;  VK_J = $4A;  VK_K = $4B;  VK_L = $4C;  VK_M = $4D;  VK_N = $4E;
      VK_O = $4F;  VK_P = $50;  VK_Q = $51;  VK_R = $52;  VK_S = $53;  VK_T = $54;
      VK_U = $55;  VK_V = $56;  VK_W = $57;  VK_X = $58;  VK_Y = $59;  VK_Z = $5A ;procedure TForm1.SpinEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (Key = VK_V) and (Shift = [ssCtrl]) then
        SpinEdit1.ReadOnly := True;
    end;procedure TForm1.SpinEdit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      SpinEdit1.ReadOnly := False;
    end;
      

  4.   

    在他的enter事件里,清空剪切板就可以了。