我需要在程序中动态创建一些Button,数量较大,我现在用While循环做的。速度不是令人满意。(切换界面明显感到慢)能否用线程动态创建?如何创建。俺是个新手,请大家给点儿方法
解决方案 »
- 请问怎么在AdvStringGrid1统计那边加文字?
- 紧急求助!
- .car 文件格式,用什么软件能打开?
- 郁闷了。最大化一个无标题窗口时。截取WM_GETMINMAXINFO消息,设置窗口的高度。为什么还是会盖住任务栏。还有去掉标题栏后如何调整窗口大
- 请问在多层分布式开发中如何在多台机器上同时编写服务器端应用程序?
- 爆简单,关于传递数组。
- 在使用ADOTable组件时,能否指定按某一字段排序?
- 大家能谈谈delphi中nil的用法吗? 谢谢先!
- 要在WIN2000中做一个自动起动的后台监视程序有什么要点?做成EXE OR DLL 哪种好?
- CSDN离线数据库采用的是那种数据库格式?
- 一个运筹学的问题
- 急!installshield4.0 for delphi做安装程序的怪一现象?
如下procedure CreateButton;
begin
//创建按钮
end;procedure TForm1.Button1Click(Sender: TObject);
var
ThreadID, ThreadHwnd:THandle;
begin
ThreadHwnd := CreateThread(nil, 0, @CreateButton, nil, 1, ThreadID)
end;
剑神,能够详细给说明一下吗?我需要把Button放到Form上,然后根据执行button的事件。
try
//do something;
finally
aButton.Free;
end;
在创建时Create参数应为(nil),如果你在创建时指定一个宿主(如:Create(Self)),会影响创建速度,因为当内部会有个通知机制.
为了加一进度条可以用:
for i:=1 to 300 do
bein
创建按钮;
if i mod 10 =0 then
刷新进度条;
end;
不要每创建一个按钮应刷新一次进度条;刷新一次进度条的占用cpu量要远远大于执行一次条件判断语句的cpu占用量
建议用动态挂接处理函数的方法
这样,你一共就只需要建最初界面上看得到的几个按钮就够了要换功能的话直接把按钮的名字一改,再把OnClick属性一改,就OK了
如果是日常事务,还不如不用button,否则岂不是在用鼠标点键盘一样!!!