易语言界面库的实现消息预处理 和窗口生存周期。

Posted bywayboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了易语言界面库的实现消息预处理 和窗口生存周期。相关的知识,希望对你有一定的参考价值。

      在窗口过程里面能处理所有的消息? 答案是 NO!

 

    isdialogmessage 和 TranslateMessage 干啥吃的? 它把原始消息都给弄了一下。我拿不到原汁原味的东西。

 

    如果说封装库。会有这个损失。那肯定是最大的损失!要让你的窗口类能够有机会处理最原始的消息。那必须在消息分发之前。也就是说 GetMessage 之后就直接处理。这才叫原汁原味。当然,对于非队列消息。也就只能能在窗口过程里处理。这完全足够了。

 

    到现在为止。易语言的类里面有了两个最基本的虚方法。"消息过程" 和 “消息预处理”。这两个方法都是被系统调用。你要处理自己的。你要自己处理这些事? 继承覆盖。就可以了。

 

     关于事件表。

 

每个类都有自己的 事件表。用哈希+链表来管理,虽然内存大了点。但速度整体还行。特别是写大型界面的时候。不会损失太多消息映射效率。

 

     关于窗口生存周期、

 

又一次用到了以语言的虚方法和汇编了。在窗口过程的 WM_NCDESTROY 事件里面。调用对象的 “清理对象” 方法。这样在窗口关闭的时候。对象能有机会回收资源。 你继承的窗口类也是如此。覆盖这个方法。自己在里面回收就是了。要注意的是。你必须在你的类里面显式调用基类的同名方法。否则基类的资源会无法回收。

 

 

以上是关于易语言界面库的实现消息预处理 和窗口生存周期。的主要内容,如果未能解决你的问题,请参考以下文章

易语云模块-易语言邮件发送模块下载(含命令详解)

易语言界面库的实现

易语言利用窗口消息实现无边框调整和移动窗口

易语言修改系统时间如何实现

易语言怎么通过窗口句柄实现关闭该窗口或发送东西

谁帮我把这段易语言代码写成C#代码?