这个回调函数如何写 (200分)

  • 主题发起人 主题发起人 china_peng
  • 开始时间 开始时间
C

china_peng

Unregistered / Unconfirmed
GUEST, unregistred user!
程序为MAIN.EXE静态调用MDI.DLL.
1.其中MAIN.EXE中有BUTTON1,BUTTON2,COMBOBOX1.
Button1 CLICK时显示FORM1,
Button2 CLICK时显示FORM2.
2.MDI.DLL中包含Form1,Form2,
Form1,Form2 的FormStyle 均为fsMDIChild.
Form1中有Button1,Form1.Button1 CLICK时显示FORM1.
Form2中有Button1,Form2.Button1 CLICK时显示FORM2.
3.程序中需要实现不管是MAIN.EXE的Button1.CLICK 或是MDI.DLL中的任一Form.Button1.CLICK
当 MDI.DLL中任一窗体显示时MAIN.EXE中COMBOBOX1中ADD 窗体名;
当 MDI.DLL中任一窗体关闭时MAIN.EXE中COMBOBOX1中DELETE窗体名;
查阅以前的帖子都说要用回调函数,但没有具体例子,
请问这个函数怎么写.
 
动态给Form1, Form2的OnCreate和OnClose事件赋值,这两个事件的方法
Main里写不就可以了。
 
不用回调函数也可以实现, 只要通过自定义消息就能达到你的要求。
调用dll时将主form的handle传入。 mdi窗建立时向主form发送一个自定义消息告知主form自己的handle, destroy时发送自定义消息通知主form自己已删除。
mdi中buttonclick时可以向主form发送另一自定义消息告知哪个button click了。 这样所有的调度都由主form来实现, 保持程序的简洁, 以后程序修改也方便
 
TO Pearl.:
能不能贴个DEMO,谢谢。
 
在OnCreate的时候把Form1,form2的句柄传给DLL不就行了嘛.
 
TO begin
Delphi:
麻烦详细点!
TO 所有富翁:
我可将我的源代码发给你们,帮我修改,改好给我行不行。
 
china_peng:上面的同志已经说的好详细拉
 
再次感谢各位大虾!
 
后退
顶部