Unit Unit1;
Interface
Uses
Windows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms,
Dialogs, Stdctrls;
Type
TForm1 = Class (Tform)
Button1:tbutton;
Button2:tbutton;
Button3:tbutton;
Button4:tbutton;
Procedure Button1Click (Sender:tobject);
Procedure Button2click (Sender:tobject);
Procedure Button3click (Sender:tobject);
Procedure Button4click (Sender:tobject);
Private
{Private declarations}
Public
{Public declarations}
hthread:thandle;//definition of a handle
Threadid:dword;
End
Var
Form1:tform1;
Implementation
{$R *.DFM}
function Mythreadfunc (p:pointer): Longint;stdcall;
Var
I:longint;
DC:HDC;
s:string;
Begin
DC:=GETDC (Form1.handle);
For i:=0 to 500000 do begin
S:=inttostr (i);
Textout (Dc,10,10,pchar (s), length (s));
End
ReleaseDC (FORM1.HANDLE,DC);
End
Procedure Tform1.button1click (Sender:tobject);
Begin
Creates a thread, and the thread function is called
Hthread:=createthread (nil,0, @MyThreadfunc, Nil,0,threadid);
End
Procedure Tform1.button2click (Sender:tobject);
Begin
SuspendThread (Hthread); Suspending threads
End
Procedure Tform1.button3click (Sender:tobject);
Begin
ResumeThread (Hthread); Activating threads
End
Procedure Tform1.button4click (Sender:tobject);
Begin
TerminateThread (hthread,0); Terminating a thread
End
End.
http://blog.csdn.net/cmdasm/article/details/10003493
Delphi thread creation, suspend, activate and terminate (experiment with drawing, simple and useful)