delphi 当某个edit获得焦点后(把鼠标锁定在这个edit内,鼠标就不能点击其他控件),直到这个edit输入完成按回车进入下一个edit??

解决方案 »

  1.   

    用ClipCursor函数可以锁住鼠标在某个范围。在按车可在Edit的OnKeyDown事件中判断:
    if Key = VK_RETURN then
      OtherEdit.SetFocus;
      

  2.   

    procedure Tbafm.Edit1Exit(Sender: TObject);
    begin
       if edit1.text='' then 
       edit1.SetFocus;
    end;
      

  3.   

    procedure Tbafm.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if Key = VK_RETURN then
      Edit2.SetFocus;
    end;
      

  4.   


    procedure TForm1.FormCreate(Sender: TObject);
    begin
      form1.KeyPreview :=true;
      edit1.TabOrder :=0;
      edit2.TabOrder :=1;
      edit3.TabOrder :=2;
      edit4.TabOrder :=3;  edit1.OnKeyDown := Tab;
      edit2.OnKeyDown := Tab;
      edit3.OnKeyDown := Tab;
      edit4.OnKeyDown := Tab;
    end;procedure TForm1.Tab(Sender: TObject; var Key: Word; Shift: TShiftState);
    begin //自定义过程,须先在private下声明
      if (key=VK_Down) or (key=13) then    SelectNext(ActiveControl,True,True);
      if key=VK_Up then
        SelectNext(ActiveControl,False,True);
        Key:=0;
    end;限制鼠标活动区域的函数ClipCursor具体用法你查一下网络。