千
千中元
Unregistered / Unconfirmed
GUEST, unregistred user!
请看下面代码:P107
1)function ThreadFunc(P: Pointer): LongInt
stdcall;
2)var
3) i: Integer;
4) DC: HDC;
5) S: string;
6)begin
7) DC := GetDC(Form1.Handle);
8) SetBkColor(DC, GetSysColor(color_btnface));
9) for i := 0 to 100000 do begin
10) S := IntToStr(i);
11) TextOut(DC, 10, 10, PChar(S), Length(S));
12) end;
13) ReleaseDC(Form1.Handle, DC);
14)end;
15)procedure TForm1.bUseThreadClick(Sender: TObject);
16)var
17) hThread: THandle;
18) ThreadID: DWord;
19)begin
20) hthread := CreateThread(nil, //Security attribute
0, //Initial Stack
@ThreadFunc, //Starting address of thread
nil, // argument of thread
0, // Create flags
ThreadID)
// thread ID
21) if hthread = 0 then
22) MessageBox(Handle, 'No Thread', nil, MB_OK);
end;
23)procedure TForm1.bNoThreadClick(Sender: TObject);
begin
24) ThreadFunc(nil);
end;
问题1:stdcall的作用---别告诉我看帮助,看了两遍不知道说什么:(
问题2:HDC数据类型???
问题3:Form1.Handle
hThread:Thandle
-----Handle 到底是什么?
问题4:Pchar()的作用。
问题5:帮助中:Textout如下:
procedure TextOut(X, Y: Integer
const Text: string);
这里怎么可以用5个参数?(见第11行)
1)function ThreadFunc(P: Pointer): LongInt
stdcall;
2)var
3) i: Integer;
4) DC: HDC;
5) S: string;
6)begin
7) DC := GetDC(Form1.Handle);
8) SetBkColor(DC, GetSysColor(color_btnface));
9) for i := 0 to 100000 do begin
10) S := IntToStr(i);
11) TextOut(DC, 10, 10, PChar(S), Length(S));
12) end;
13) ReleaseDC(Form1.Handle, DC);
14)end;
15)procedure TForm1.bUseThreadClick(Sender: TObject);
16)var
17) hThread: THandle;
18) ThreadID: DWord;
19)begin
20) hthread := CreateThread(nil, //Security attribute
0, //Initial Stack
@ThreadFunc, //Starting address of thread
nil, // argument of thread
0, // Create flags
ThreadID)
// thread ID
21) if hthread = 0 then
22) MessageBox(Handle, 'No Thread', nil, MB_OK);
end;
23)procedure TForm1.bNoThreadClick(Sender: TObject);
begin
24) ThreadFunc(nil);
end;
问题1:stdcall的作用---别告诉我看帮助,看了两遍不知道说什么:(
问题2:HDC数据类型???
问题3:Form1.Handle
hThread:Thandle
-----Handle 到底是什么?
问题4:Pchar()的作用。
问题5:帮助中:Textout如下:
procedure TextOut(X, Y: Integer
const Text: string);
这里怎么可以用5个参数?(见第11行)