如何编写回调函数

        回调函数在日常工作中是比较常用的,但是在校的学生很多接触不到这个被老师“忽略”的技术小点。所以,写点文字,给那些需要的学弟学妹们。
     
        回调函数顾名思义就是开设一个函数让别的应用程序来调用。假设我们现在有这样的一个需求:我们开设了一个线程作为工作线程在该线程内转换100个文件,需要在主线程内显示转换进度。通常我们可以PostMessage给住线程,但是某些情况下,会导致程序crash或者进度显示明显滞后。
        我们还有一种方法,就是开设回调,让工作线程主动的调用我们的回调实现进度的刷新:
        第一步:
        函数原型声明
typedef BOOL ( CALLBACK* SAVEPROC)(INT32 nSavePercent, LPARAM lParam); 
 
        第二步:
        主线程内编写回调函数
              BOOL CALLBACK TranscodingProcess(INT32 nPercent, LPARAM lParam)
{
    return TRUE;
}
        第三步:
        工作线程内使用回调函数
HRESULT GenerateTraceBMP(SAVEPROC lpProc)
{
    if (lpProc)
    {
           lpProc(10, 0);
}
    return NOERROR;
}
 
        代码比较简单,如果还是不会使用的朋友,可以发送mail给我: bicarse@yahoo.com.cn,会转发一份代码给你。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值