OLE(二)

     虽然OLE令人振奋,但它也只不过是动态数据交换(Dynamic Data Exchange (DDE))的扩展。当然这里所说的OLE,如果按照版本号来说是指OLE1。
可是既然有OLE1,那么自然就有OLE2,但这是后话,这里就不多说了。 所以要了解OLE,还得了解DDE,而DDE又是以Windows消息机制为基础的,所以我们还得要知道Windows消息机制是怎么回事。这个消息机制在后来的
OLE2也是占有一席之地的。 所谓消息,实际上就是一个数字,并用它来表示发生在系统里的某个事件。比如我们用"WM_LBUTTONDOWN"来表示鼠标左键按下事件,它的值是0x0201。
在所有的Windows图形应用程序中,都是以消息来驱动的,并且也都有一个消息循环:
     这个消息循环就不断的从程序里的一个消息队列里取得消息,然后把消息传送到一个叫做窗口过程(Window Procedures)的函数里。程序员就可以在这个
窗口过程里做一些自己感兴趣的东西。 操作系统Windows总是默默的监视着所有设备。一旦某个设备有动作发生,那么系统就有反应。我们再比如:当我们按下鼠标左键,系统就可以捕获这个动作,
并转换成一个数字0x0201插入到指定程序的队列里。当然这个程序不是随便的指定,而是鼠标指针下的窗口所在的程序。应用程序的消息循环是个死是循环,除非它
接到一个叫做退出的消息(WM_QUIT),否则它永远的循环下去,这样就可以保证程序一直是运行着的。一般来说,当我们关闭窗口的时候系统就会自动发送WM_QUIT
消息,于是就可以中止消息循环,这样程序就退出了。最后系统再做一些清理工作。
posted @ 2011-10-02 18:08  OnTimer  阅读(248)  评论(0编辑  收藏  举报