SendMessage是否可行?(50分)

  • 主题发起人 主题发起人 landina
  • 开始时间 开始时间
L

landina

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在主窗口中加入ToolBar,其中有一个Save按钮,此按钮只负责发送Save事件,另外还有<br>多个Form,每个Form中都有Save过程,请问主窗口Save按钮如何激活其他Form中的Save事件?
 
可以<br>handle
 
能否详细的说明?
 
procedure TForm1.Button1Click(Sender: TObject);<br>const My_ReceiveData = wm_user + 1013;<br>var<br>i:integer;<br>begin<br>&nbsp;for i:=0to &nbsp; &nbsp;Screen.FormCount-1 do<br>&nbsp; Screen.Forms.Perform(My_ReceiveData,0,0);<br>end;<br>
 
&nbsp; &nbsp;procedure MyReceiveData(var Message: TMessage); message My_ReceiveData;<br>
 
同意楼上的!
 
知道窗体的Handle,如何执行其中的函数或过程?
 
你的这个问题涉及了面向对象的包装问题,使用hfghfghfg的方法是最好的。<br>不过对于自己的程序,一般的时候真的没有必要这么复杂,直接调用就可以了。<br>如果真的要做,还是看hfghfghfg的代码吧。他的思路和实现方式完全正确!<br>就不要考虑从Handle了,那样比较复杂,指挥将简单问题复杂化
 
有个更简便的!<br>比如你要save的按钮在form1. &nbsp;form2,form3......也如此的话。<br>主窗口的save按钮click()中:<br>form2.save1click(nil);<br>form3.save1click(nil);<br>form4.save1click(nil);<br>........<br>如此即可<br><br>
 
to yzhshi<br>用<br>var<br>&nbsp; &nbsp;TheWindow: HWND;<br>begin<br>&nbsp; TheWindow:=GetTopWindow(Panel1.Handle); &nbsp;<br>&nbsp; SendMessage(ThWindow,wm_user+1002,0,0);<br>end;<br>能实现我的要求。
 
接受答案了.
 
后退
顶部