VC++开发GIS系统(125)选择点之CALLBACK回调函数

前文《VC++开发GIS系统(124)选择点之SetTimer与KillTimer》中介绍的SetTimer函数中用到了回调函数,回调函数的用法有一些特殊性,这里做一个简单的总结。

用户自定义却由windows系统调用的函数,可称为callback函数。某些API函数要求以callback作为你参数之一。如 SetTimer,LineDDA,EnumObjects。
回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计)

回调函数示例

BOOL CALLBACK Proc(
    HWND hwndDlg, // handle of dialog box
    UINT uMsg, // message
    WPARAM wParam, // first message parameter
    LPARAM lParam // second message parameter
);

几点说明

  1. 回调函数必须有关键词 CALLBACK
  2. 回调函数本身必须是全局函数 或者静态函数,不可定义为某个特定的类的成员函数
  3. 回调函数并不由开发者直接调用执行(只是使用系统接口API函数作为起点)
  4. 回调函数通常作为参数传递给系统API,由该API来调用回调函数可能被系统API调用一次,也可能被循环调用多次

转载:CALLBACK回调函数详解

VC++开发GIS系统(124)选择点之SetTimer与KillTimer VC++开发GIS系统(126)选择点之闪烁原理及实现

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论