我在写一个挂,没有用多线程,导致很卡,而且没有终止键,我现在想用多线程。
我需要一个例子,也就是利用多线程在屏幕中移动3个坐标。用过程,定义3个过程,一个过程一个坐标,然后让多线程移动,要实现挂起。恢复,结束。谢谢了。非常感谢。本人QQ1014604967.怎么做都可以,只要能实现目标就行!~ 太感谢了

解决方案 »

  1.   

    type
      TTestThread = class(Thread)
      private
      protected
      public
      end;
    ...
      

  2.   

    自己看资料,弄三个thread不会,还写挂啊
      

  3.   

    刚查的一段代码,希望对你有帮助,线程的创建,挂起,唤醒
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
      Button1: TButton;
      Button2: TButton;
      Button3: TButton;
      Timer1: TTimer;
      procedure Button1Click(Sender: TObject);
      procedure Button2Click(Sender: TObject);
      procedure Button3Click(Sender: TObject);
      procedure FormCreate(Sender: TObject);
      procedure Timer1Timer(Sender: TObject);
      end;var
      Form1: TForm1;implementation{$R *.dfm}var
      hThread: THandle;
      num: Integer;  {线程入口函数}
    function MyThreadFun(p: Pointer): Integer; stdcall;
    begin
      while True do 
      begin
      num := Random(100);
      end;
      Result := 0;
    end;{建立并挂起线程}
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ID: DWORD;
    begin
      hThread := CreateThread(nil, 0, @MyThreadFun, nil, CREATE_SUSPENDED, ID);
      Button1.Enabled := False;
    end;{唤醒并继续线程}
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      ResumeThread(hThread);
    end;{挂起线程}
    procedure TForm1.Button3Click(Sender: TObject);
    begin
      SuspendThread(hThread);
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Timer1.Interval := 100;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Text := IntToStr(num);
    end;end.