当前位置:首页 > 多媒体相关

用C++Builder开发动画DLL



热门问答:
  • 请教关于网络的相关源程序! [详细内容]
  • 为什么IE会自动更改我的IE默认地址? [详细内容]
  • 100分求解vb中调用带参数的存储过程的源代码!明天下午就要交了!急死了!!! [详细内容]
  • 高分:高校学院二级管理问题,共55分!! [详细内容]
  • 为什么更新数据库显示成功但是实际上没有成功? [详细内容]

  • 推荐阅读
      · 从619的“热”度开始……
        摘要:x619入手25天了。总觉得想写点什么东西告诉大家我对这个机器的看法,却找不到一个很好的切入点。今天我找到了,那就是发热。机器卖的好,热,机器工作时间长热! 发热:这个机器的发热量高的惊人,用过的人都会明白,这个热量由多夸张,会烫手的。起初以为是个别,后来听说是普遍问题,那肯定是设计缺陷了,不知道e250......
      · 交叉火力有intel版!rd400北桥初曝光新闻新品
        摘要:  atiraedonxpress200crossfireinteledition的北桥芯片rd400真身,芯片的大小要比rd480更大一些,这主要是因为芯片集成了了内存控制器,支持最高ddr2800主板内存,拥有pci-expressx8+x8的绘图接……·美丽接触海畅span芯r280靓图欣赏·入门用户必看!酷睿双核配置推荐·最低79911款x1650xt全面阻击76gt·难得一见 精英高端板ka3现身市场·“日光魔盒”......

    正文
      我们在windows98环境下执行拷贝文件、查找文件等计算机耗时较长的操作时,windows会显示一个小小的动画,指示正在进行的操作,与死板的静止图像相比增色不少。那么我们自己开发软件时,能否也显示一个这样的动画提示呢?笔者开发了一个能够在pb下调用的动画dll,由于采用多线程编程,pb调用的dll函数能够及时将控制权交还给pb,不影响应用系统的运转。

      一、代码与编译选项

      在c++builder中创建一个空白的dll项目。

      创建一个空白的form,修改它的属性为: borderstyle=bsdialog


      在form上添加一个win32下的animate控件animate1,修改它的属性为 align=altop 在form上添加一个standard下的button控件button_cancel,再添加system下的timer控件timer1,设置定时interval时间位250,较快响应用户的取消请求。

    ----因为pb应用系统与动画窗体代码分别属于两个线程,不能采用pb线程直接关闭动画窗体线程的窗口,否则会引起系统运行不正常,因此采用pb线程设置关闭标志,而动画线程采用timer控件定时检查标志,一旦检测到关闭标志,就关闭窗口,清除线程标志,结束动画线程。

      5.下面给出编码及编码原理:

    ----(1)dll主体代码: /*dll主体代码

     *定义dll公用变量

    *g_commonavi 对animate控件

    动画类型索引

     *gi_canceled button_cancel

    按钮是否被选择过

     *gi_avitype 要显示的动画类型,

    由dll输出函数做为参数输入

     *gi_requestclose 请求动画线程关闭标志

     *gi_windowactive 动画窗口所处的状态

     *lpswintitle 动画窗体的标题,

    由dll输出函数做为参数输入


    /*动画线程执行代码, 动画窗体的定时器控件会关闭它,

    清除窗体存在标志后结束线程的运行


      6.设置编译选项:打开project options对话框,清除linker属性页中的use dynamic rtl标志,清除packages属性页中的build with runtime packages。这样只要单个dll就可以运行了,而不必安装一些动态连接运行时间库。

      二、使用动画dll

      1.定义:

    讨论区

    Login