运行中动态更改组件caption的问题。。。

quickboy19821982 2008-03-11 10:25:56
在窗体中有一个按钮,点击后执行一段程序,在该段程序中有个循环,每次循环中都要更改一个label的caption,可运行的时候,发现无法实时刷新label的caption,直到整个程序段执行完毕,才会显示出最后的那个caption值,不知道怎么才能实现动态的更新,因为该循环可能会等待很久,即使加了进度条也走的很慢,因此想增加一个计数器。
自己试了用多线程,调用函数来修改,可发现还是无法实现动态的更改。
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
quickboy19821982 2008-03-11
  • 打赏
  • 举报
回复
我刚测试了下,可以了,谢谢,我这就结贴
quickboy19821982 2008-03-11
  • 打赏
  • 举报
回复
Application.PostMessage
没有这个函数或过程吧。。。ProcessMessages用了,没效果
禹爸爸 2008-03-11
  • 打赏
  • 举报
回复
在循环中加上一句Application.PostMessage试试呢
AlphaControls是一个具有新特性的标准,将原来的皮肤控件的集合,以增强程序接口,并添加行为,共同控制,并与一些新技术的使用。 一些特点: 专业外观的应用程序! 超过80更换皮肤控件和无形的标准组件+更换皮肤德尔福控制和很多第三方控件 所有元素的控制与绘制 阿尔法通道 使用(控制可能是阿尔法混合,可以有现实边框,阴影或其它精细和独特的效果) 无闪烁 图形功能是提供 实时的 ,因此,效果总是用锐利的色彩方案,并 移动 和 调整大小 在运行时间 每个控制 支持 TsHintManager做出提示,显示Alpha混合,用HTML的格式,你可以从许多方面选择显示 位置和渲染新增Caption属性 鼠标事件将提供极大的possiblities 去皮形式和菜单。 全空间数据基础设施和支持MDI窗体 皮肤支持所有常见的Windows对话框和消息 内置的PNG格式的支持,TsAlphaImageList组件非常方便工作 最简单,功能强大的皮肤引擎,支持 内部和外部的皮肤 ,一个控制类型可以在某些类型的皮肤。 所有图纸(除模式)支持α-口罩 皮肤控制的应用 从一个点 (TsSkinManager组件组件的使用没有皮肤的可能性。 一种是标准控制支持(XP主题使用是可能的) 原 快速 算法的图纸,许多图形和其他包的库函数 在设计时设计的IDE 准备使用的皮肤 外观发展与扩大的可能性和自己。 免费的皮肤编辑工具可用。 动画效果 在某些控件和窗体 去皮Windows外壳控制 Billenium影响 全力支持 没有任何DLL或其他文件须为EXE部署 更改当前皮肤运行时的色调和饱和度 全部标准的 Windows帮助 文件描述的所有属性,事件和对象的方法和相关的组件 可能性在单EXE的文件嵌入的点击几下鼠标外观
AlphaControls最新版本皮肤制作工具 AlphaControls是一个具有新特性的标准,将原来的皮肤控件的集合,以增强程序接口,并添加行为,共同控制,并与一些新技术的使用。 一些特点: 专业外观的应用程序! 超过80更换皮肤控件和无形的标准组件+更换皮肤德尔福控制和很多第三方控件 所有元素的控制与绘制 阿尔法通道 使用(控制可能是阿尔法混合,可以有现实边框,阴影或其它精细和独特的效果) 无闪烁 图形功能是提供 实时的 ,因此,效果总是用锐利的色彩方案,并 移动 和 调整大小 在运行时间 每个控制 支持 TsHintManager做出提示,显示Alpha混合,用HTML的格式,你可以从许多方面选择显示 位置和渲染新增Caption属性 鼠标事件将提供极大的possiblities 去皮形式和菜单。 全空间数据基础设施和支持MDI窗体 皮肤支持所有常见的Windows对话框和消息 内置的PNG格式的支持,TsAlphaImageList组件非常方便工作 最简单,功能强大的皮肤引擎,支持 内部和外部的皮肤 ,一个控制类型可以在某些类型的皮肤。 所有图纸(除模式)支持α-口罩 皮肤控制的应用 从一个点 (TsSkinManager组件组件的使用没有皮肤的可能性。 一种是标准控制支持(XP主题使用是可能的) 原 快速 算法的图纸,许多图形和其他包的库函数 在设计时设计的IDE 准备使用的皮肤 外观发展与扩大的可能性和自己。 免费的皮肤编辑工具可用。 动画效果 在某些控件和窗体 去皮Windows外壳控制 Billenium影响 全力支持 没有任何DLL或其他文件须为EXE部署 更改当前皮肤运行时的色调和饱和度 全部标准的 Windows帮助 文件描述的所有属性,事件和对象的方法和相关的组件 可能性在单EXE的文件嵌入的点击几下鼠标外观 一个额外的有用的和惊人的功能和很多可能性,其名单不断增加 随着AlphaControls,使用新的现代设计方法提高你的应用程序接口,使更具吸引力... 同时增加快乐和有趣的最终用户。
AlphaControls是一个具有新特性的标准,将原来的皮肤控件的集合,以增强程序接口,并添加行为,共同控制,并与一些新技术的使用。 专业外观的应用程序! 超过80更换皮肤控件和无形的标准组件+更换皮肤德尔福控制和很多第三方控件 所有元素的控制与绘制 阿尔法通道 使用(控制可能是阿尔法混合,可以有现实边框,阴影或其它精细和独特的效果) 无闪烁 图形功能是提供 实时的 ,因此,效果总是用锐利的色彩方案,并 移动 和 调整大小 在运行时间 每个控制 支持 TsHintManager做出提示,显示Alpha混合,用HTML的格式,你可以从许多方面选择显示 位置和渲染新增Caption属性 鼠标事件将提供极大的possiblities 去皮形式和菜单。 全空间数据基础设施和支持MDI窗体 皮肤支持所有常见的Windows对话框和消息 内置的PNG格式的支持,TsAlphaImageList组件非常方便工作 最简单,功能强大的皮肤引擎,支持 内部和外部的皮肤 ,一个控制类型可以在某些类型的皮肤。 所有图纸(除模式)支持α-口罩 皮肤控制的应用 从一个点 (TsSkinManager组件组件的使用没有皮肤的可能性。 一种是标准控制支持(XP主题使用是可能的) 原 快速 算法的图纸,许多图形和其他包的库函数 在设计时设计的IDE 准备使用的皮肤 外观发展与扩大的可能性和自己。 免费的皮肤编辑工具可用。 动画效果 在某些控件和窗体 去皮Windows外壳控制 Billenium影响 全力支持 没有任何DLL或其他文件须为EXE部署 更改当前皮肤运行时的色调和饱和度 全部标准的 Windows帮助 文件描述的所有属性,事件和对象的方法和相关的组件 可能性在单EXE的文件嵌入的点击几下鼠标外观 使用方法: 1. 首先,必须把AlphaTools组件页的第一个组件(TsSkinManager)放到Delphi设计窗体上。 2. AlphaTools组件必须设置的属性一:SkinDirectory 将其路径设置为AlphaControls安装目录下的Skins(安装时可能有多个Skin文件夹,如Skins、Skins1...可以把这些文件夹内的文件统一放在Skins文件夹下,因为都是皮肤文件) 3. AlphaTools组件必须设置的属性二:InternalSkins 在此属性弹出的对话框选择需要的皮肤(有预览效果),可以Add多个皮肤,选择多个皮肤就可以通过对SkinName属性的赋值而制作出更换皮肤的功能了。当然多选也会增加程序的大小,请斟酌使用。如果此属性不设置你也可以看到皮肤效果,但在别人的电脑上就不一定了,此属性的功能就是把皮肤文件编译进Delphi最后的可执行文件(.exe),所以此属性还是必须设置的。 4. AlphaTools组件必须设置的属性三:SkinName SkinName属性下拉列表包含了安装目录下Skins文件夹下内的所有皮肤文件,但你应该选择在上一步InternalSkins属性添加过的皮肤才行,不然的话,在别人的电脑上还是看不到皮肤效果的。在SkinName属性下拉列表显示的皮肤,名字后面带有(Internal)的即为在InternalSkins属性添加过的皮肤,选之即可。 通过这样一个组件3个属性的设置就可以有炫丽的皮肤效果了,当然,还有其它一些细节设置,你可以自己去尝试。以上4个步骤是最简单的使用方法了,本人使用一个晚上后总结下来的。俺是菜鸟,刚学Delphi,如有说错,莫要见怪。 另外,AlphaControls还自带了一个皮肤制作程序,在安装目录的ASkinEditor文件夹下,如果现有的皮肤不能满足你的要求,就用这个自己DIY吧,本人还没研究过这个。因为对于我这样一个菜鸟来说,这50多个皮肤早够了,而且本人觉得AlphaControls比Vclskin更好用、更易用、更炫丽。
注意,这个是50套AlphaControls最新版本的皮肤 AlphaControls是一个具有新特性的标准,将原来的皮肤控件的集合,以增强程序接口,并添加行为,共同控制,并与一些新技术的使用。 一些特点: 专业外观的应用程序! 超过80更换皮肤控件和无形的标准组件+更换皮肤德尔福控制和很多第三方控件 所有元素的控制与绘制 阿尔法通道 使用(控制可能是阿尔法混合,可以有现实边框,阴影或其它精细和独特的效果) 无闪烁 图形功能是提供 实时的 ,因此,效果总是用锐利的色彩方案,并 移动 和 调整大小 在运行时间 每个控制 支持 TsHintManager做出提示,显示Alpha混合,用HTML的格式,你可以从许多方面选择显示 位置和渲染新增Caption属性 鼠标事件将提供极大的possiblities 去皮形式和菜单。 全空间数据基础设施和支持MDI窗体 皮肤支持所有常见的Windows对话框和消息 内置的PNG格式的支持,TsAlphaImageList组件非常方便工作 最简单,功能强大的皮肤引擎,支持 内部和外部的皮肤 ,一个控制类型可以在某些类型的皮肤。 所有图纸(除模式)支持α-口罩 皮肤控制的应用 从一个点 (TsSkinManager组件组件的使用没有皮肤的可能性。 一种是标准控制支持(XP主题使用是可能的) 原 快速 算法的图纸,许多图形和其他包的库函数 在设计时设计的IDE 准备使用的皮肤 外观发展与扩大的可能性和自己。 免费的皮肤编辑工具可用。 动画效果 在某些控件和窗体 去皮Windows外壳控制 Billenium影响 全力支持 没有任何DLL或其他文件须为EXE部署 更改当前皮肤运行时的色调和饱和度 全部标准的 Windows帮助 文件描述的所有属性,事件和对象的方法和相关的组件 可能性在单EXE的文件嵌入的点击几下鼠标外观 一个额外的有用的和惊人的功能和很多可能性,其名单不断增加 随着AlphaControls,使用新的现代设计方法提高你的应用程序接口,使更具吸引力... 同时增加快乐和有趣的最终用户。
1、先放bsBusinessSkinForm、bsSkinData、bsStoredSkin各一个到窗体上 2、修改bsBusinessSkinForm的SkinData属性为bsSkinData1 3、修改bsSkinData1的StoredSkin属性为bsStoredSkin1 4、修改bsStoredSkin1的filename属性,指向一个皮肤文件,例如我的55套皮肤包是放在C:\Program Files\Borland\Delphi7\BSF-Skins\Skins文件夹里,我就修改 bsStoredSkin1的filename属性为C:\Program Files\Borland\Delphi7\BSF-Skins\Skins\Animate\skin.ini 5、在delphi设计窗口按下F9 6、爽吧!!!!! 第一步-安装: 1、双击BSFD7.dpk文件,在delphi 7.0打开 2、单击compile按钮,你会发现原来不可用的install按钮可以使用了 3、单击install按钮,会弹出来一个对话框提示你“安装成功!” 4、将所有源文件复制到C:\Program Files\Borland\Delphi7\Lib文件夹(如delphi安装路径不同的话,请各位老兄自行更改) 第二步-最基本的使用方法: 当你安装成功后,你会在delphi的组件面板上发现三个控件组,它们是: businessskinform vcl和businessskinform db vcl和businessskinform vcl dialogs,顾名思义,第一个是常用组件,第二个是数据库组件,第三个是对话框组件。 按照下面的步骤,不用写一行代码,你可以马上做出一个有漂亮界面的程序来 1、先放bsBusinessSkinForm、bsSkinData、bsStoredSkin(在businessskinform vcl控件组)各一个到窗体上 2、修改bsBusinessSkinForm的SkinData属性为bsSkinData1 3、修改bsSkinData1的StoredSkin属性为bsStoredSkin1 4、修改bsStoredSkin1的filename属性,指向一个皮肤文件,例如皮肤包是放在C:\Program Files\Borland\Delphi7\BSF-Skins\Skins文件夹里,我就修改 bsStoredSkin1的filename属性为C:\Program Files\Borland\Delphi7\BSF-Skins\Skins\Animate\skin.ini 5、按下F9键运行。 第三步-换肤: 现在的程序流行换肤功能,你是否也想做出一个可以让使用者换肤的程序来呢?请跟我一步一步来做: 1、请做完第二步的各个步骤 2、添加三个bsSkinSpeedButton到窗体上,name分别是bsSkinSpeedButton1、bsSkinSpeedButton2、bsSkinSpeedButton3,caption分别是皮肤1、皮肤2、皮肤3 3、添加两个bsStoredSkin到窗体上,加上上面已添加的一个,共是三个,name分别是bsStoredSkin2、bsStoredSkin3。 4、将这三个bsStoredSkin的filename属性各指向三个不同的皮肤文件(什么?不知道怎么指?晕!参见第二步的步骤4!) 5、添加代码,如下: procedure TForm1.bsSkinSpeedButton1Click(Sender: TObject); begin bsSkinData1.StoredSkin:=bsStoredSkin1; end; procedure TForm1.bsSkinSpeedButton2Click(Sender: TObject); begin bsSkinData1.StoredSkin:=bsStoredSkin2; end; procedure TForm1.bsSkinSpeedButton3Click(Sender: TObject); begin bsSkinData1.StoredSkin:=bsStoredSkin3; end; 6、按下F9先,分别点三个按钮试试再! 做主菜单要先加上一个bsSkinMainMenuBar控件,然后加上一个bsSkinMainMenu,把 bsSkinMainMenuBar的MainMenu属性为bsSkinMainMenu,再把bsBusinessSkinForm的MainMenuBar属性指为bsSkinMainMenuBar即可! 至于滚动条,需要自己手动加上,然后把它的HScrollBar和VScrollBar属性指向你所加的滚动条!

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧