unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TForm1 = class(TForm)
UsedThread: TBitBtn;
NoUsedThread: TBitBtn;
Button1: TButton;
Edit1: TEdit;
procedure UsedThreadClick(Sender: TObject);
procedure NoUsedThreadClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;implementation
var
hThread:Thandle;//定义一个句柄
ThreadID:DWord;{$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));
**edit1.text:=s;
end;
ReleaseDC(Form1.Handle,DC);
end;
procedure TForm1.UsedThreadClick(Sender: TObject);
begin
hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID); if hThread=0 then
begin
messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
end
else
showmessage(intToStr(hthread));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TerminateThread(hthread,ThreadID);
end;end.
如果我想在**的位置调用EDIT控件,程序该怎么改?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TForm1 = class(TForm)
UsedThread: TBitBtn;
NoUsedThread: TBitBtn;
Button1: TButton;
Edit1: TEdit;
procedure UsedThreadClick(Sender: TObject);
procedure NoUsedThreadClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;implementation
var
hThread:Thandle;//定义一个句柄
ThreadID:DWord;{$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));
**edit1.text:=s;
end;
ReleaseDC(Form1.Handle,DC);
end;
procedure TForm1.UsedThreadClick(Sender: TObject);
begin
hthread:=CreateThread(nil,0,@MyThreadfunc,nil,0,ThreadID); if hThread=0 then
begin
messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
end
else
showmessage(intToStr(hthread));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
TerminateThread(hthread,ThreadID);
end;end.
如果我想在**的位置调用EDIT控件,程序该怎么改?
解决方案 »
- 如何利用Ras,代码实现创建一个adsl连接
- ??? 如何让鼠标在DBGrid内部不同列移动时,显示当前单元格Hint值 ???
- 请问一下如何获取Canvas上的图像呢?
- 当保存数据时,提示: 应用程序正常初始化(OXC0000005)失败
- 如何获得操作系统的位数?是32位的还是64位的。
- 问一个不太相关的问题,让标题栏弹出菜单的快捷键是什么?
- sql语句求救!!!!!!!!!!!!!!!!!!!! 急!!!!!!!!!!!!!!
- 一个关于ListView组件的问题
- 我的三个问题怎么没人回答?
- BCB怎样定义类型(class)?
- 一个关于DBGrid的问题,急等,新手~~~
- 本人从BCB转Delphi,现欲以一本很新的《BCB6彻底研究》换《Delphi6彻底研究》
因为 线程执行函数不是TForm1的member function 所以不能直接访问 TForm的data member
没有Self这个冬冬<是一个类似C++的this,不过不知道是不是指针> 所以要通过全局变量Form1进行访问
你试试.