如何在DLL中给主程序(Exe程序)发送窗口关闭消息

劣势 2004-10-28 10:06:58
在DLL中有N个窗体,那么DLL窗体关闭的时候怎么给主程序发消息说我关闭了,并且知道是那个编号的DLL窗体关闭的,用SendMessage的方法好像主程序要有个接收消息的事件,不用事件可以吗?比如广播什么的,举个例子学习一下,重分酬谢!
...全文
210 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
beyondtkl 2004-10-28
  • 打赏
  • 举报
回复
HOOK MESSAGE。。。扑获DLL窗口关闭的消息。。。
劣势 2004-10-28
  • 打赏
  • 举报
回复
to beyondtkl(大龙驹<梦.考古广告人生>)
多谢!是不是要有一个接收消息的事件,比如按钮或开个线程或用定时器;但是这些我都不能用。目前这个程序,大概是这样的(其实我也不想这样做,主要是公司要这样)
主程序有个panel专门是用来当父亲的,所有的DLL窗体都会在这里呈现,但是呢,如果DLL窗体关闭后西药马上切换到上一个显示的窗体上,所以我需要知道这个窗体关闭的时候,这个该怎么写呢?可能不应用消息机制也是可以的,但是实现起来还是有些问题,请赐教
beyondtkl 2004-10-28
  • 打赏
  • 举报
回复
那么DLL窗体关闭的时候怎么给主程序发消息说我关闭了

自定义一个消息就是。。广播的,,没用过。。不太清楚
劣势 2004-10-28
  • 打赏
  • 举报
回复
呵呵,是很麻烦的,就这样的,问题还是解决了,揭帖了
beyondtkl 2004-10-28
  • 打赏
  • 举报
回复
有没有办法让接收消息的句柄有Form的转换为Panel的呀

默认是发给form的 因为form这个容器里面 放着其他所有的控件。。。

如果你想这样的话
1. 查看panel是否已经存在消息处理的函数 可能是没有的
2. 你需要继承TPanel 自己扩充里面的消息处理。。。 比如 TMyPanel = class(TPanel)...
但是 你现在的所有的Panel都需要是从TmyPanel里产生...
劣势 2004-10-28
  • 打赏
  • 举报
回复
做是做出来了,用的就是消息处理的,现在有个问题在问问大家,有没有办法让接收消息的句柄有Form的转换为Panel的呀
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-10-28 10:06
社区公告
暂无公告