小弟想做一个屏幕锁定的,想“万象”那样:屏幕上只有一个表单能控制,其他地方被锁定,请问该如何实现这种效果?谢谢!!

解决方案 »

  1.   

    procedure TForm1.FormShow(Sender: TObject);
    Var
    R: TRect;
    begin
    R := form1.BoundsRect;
    ClipCursor(@R); // 限制滑鼠移动区域
    end;
      

  2.   

    form1 全屏/最前/透明
    再锁鼠标
    procedure TForm1.FormShow(Sender: TObject);
    Var
    r: TRect;
    begin
    r.left=300;
    r.top=300;
    r.right=302;(注意,不能为301哦,否则锁不住的)
    r.bottom=302;(注意,不能为301哦,否则锁不住的)
    ClipCursor(@R); // 限制滑鼠移动区域
    end;
      

  3.   

    呵呵, 不妨换个角度想想,        你可以用你“自己的桌面” 替换掉 “原来windows的桌面” 不就ok了!
      

  4.   

    是啊 BCB毕业设计就是这样做 你自己试试 !
      

  5.   

    这是一个小例子。我在D7下试过了。希望能对你有帮助。
    procedure TForm1.limitmouse(con: trect);
    begin
      ClipCursor(@con);
    end;procedure TForm1.releasemouse;
    var
      rtScreen: TRect;
    begin
      rtScreen := Rect(0, 0, Screen.Width, Screen.Height);
      ClipCursor(@rtScreen);
    end;procedure TForm1.FormActivate(Sender: TObject);
    var
      con:trect;
    begin
      con:=form1.BoundsRect;
      con.Left:=left;
      con.Top:=top;
      limitmouse(con);   //限制鼠标
    end;