请问如何实现主窗口与子窗口间的互动。(70分)

  • 主题发起人 主题发起人 四界辰砂
  • 开始时间 开始时间

四界辰砂

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我在子窗口中修改了系统参数,而在点击了应用后,要在主窗口中实时显示修改结果。<br>由于子窗口是有主窗口调用显示的,所以子窗口无法调用主窗口的刷新程序,请各位大虾帮忙解答一下,<br>谢谢!
 
在主窗口中使用计时器,监控参数的改变。
 
up!还请各位帮忙<br>
 
Sendmessage呀,<br>主程序收到该消息后,刷新,
 
为什么子窗体无法调用主窗体的刷新程序?是因为你没有Uses?
 
无论如何,只要你的主窗体有窗体名,你就可以通过Form名来调用!
 
完全可以呀!<br>form1为主窗体,form6为子窗体;<br>一下代码功能是改变主窗体的背景图片。<br>procedure TForm6.BitBtn1Click(Sender: TObject);<br>begin<br>&nbsp; if CheckBox1.Checked then<br>&nbsp; &nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp; &nbsp;Form1.Image1.Center:=True;<br>&nbsp; &nbsp; &nbsp; &nbsp;Form6.WindowState:=wsMinimized;<br>&nbsp; &nbsp; &nbsp;end<br>&nbsp; else<br>&nbsp; &nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp; &nbsp;Form1.Image1.Center:=False;<br>&nbsp; &nbsp; &nbsp; &nbsp;if Image1.Picture.Height=0 then<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ShowMessage('请选择图片');<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end<br>&nbsp; &nbsp; &nbsp; &nbsp;else<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Form1.Image1.Picture:=Image1.Picture;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Form6.WindowState:=wsMinimized;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end;<br>&nbsp; &nbsp; &nbsp;end;<br>end;
 
如果你使用的是模态窗口,用modalresult得到返回值就可以了<br>最简单的例子:<br>procedure TForm2.execute;<br>begin<br>&nbsp; &nbsp; &nbsp;showmodal;<br>&nbsp; &nbsp; &nbsp;if modalresult=mrOK then <br>&nbsp; &nbsp; &nbsp; &nbsp; form3.execute;<br>end;<br>
 
to :四界辰砂:<br>&nbsp; &nbsp;应该是完全可以进行刷新的。例如你可以在主窗体<br>&nbsp;调用而打开的子窗体上,单击button1,---主窗体.caption :='refresh';<br>&nbsp;只是你需要相互uses 一下,简单方法是Alt +F11,然后在列表中选择。<br>&nbsp;另外对于如何能调用主窗体的方法属性,你可以这样理解:delphi的主窗体单元,<br>&nbsp;相当于C中的main()程序,而子窗体单元,则相当于C中的子程序。而子程序完全可以<br>&nbsp;引用主程序中的变量成员的。<br>&nbsp;
 
只要在子窗体的implementation后uses 主窗体的unit就可以了。
 
后退
顶部