cmbjc:array of tcombobox;
 plcx:array of Tpanel;procedure Tfr_retailPrice.keyno(Sender: TObject; var Key: Char);
begin
 if not (key in[#13]) then
key:=#0;
end;
procedure Tfr_retailPrice.MsDwn( Shift:TShiftState;X, Y: Integer);
begin
  dx:=X;
  dy:=y;
end;
procedure Tfr_retailPrice.getbtcpt;
var
  I: Integer;
begin
  setlength(cmbjc,5);
  setlength(plcx,5);
   cmbjc[0]:=cmbjqcx0;  
  cmbjc[1]:=cmbjqcx1;
  cmbjc[2]:=cmbjqcx2;   
  plcx[0]:=pl0; 
  plcx[1]:=pl1;
  plcx[2]:=pl2;
  for I := 0 to high(cmbjc) do cmbjc[i].OnKeyPress:= keyno;
  for I := 0 to high(cmbjc) do plcx[i].OnMouseDown:=MsDwn;
end;
帮我看看同样的事件onkeypress事件可以通过,onmousedown事件不可以呢?

解决方案 »

  1.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    beginend;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    beginend;
    你看看红字就明白了
      

  2.   

    procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    beginend;
    你的MsDwn( Shift:TShiftState;X, Y: Integer);定义的方式不对,必须与 上面的方式一样
      

  3.   

    MsDwn(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer);