我按一个钮打开一个窗口,输入一些东西到textbox中,然后,按下
bkok按钮,在主父窗口中如何取得在子窗口中输入的数据?还有,我如何知道我是
按了bko按钮还是bkcancel来关闭本窗口的?
我的代码如下:
var
  tempstr:string;
begin
   if not assigned(lvAddNewProg) then
    begin
      application.CreateForm(TlvAddNewProg,lvAddNewProg);
      try
        lvAddNewProg.ShowModal ;
      finally
        //????如何取得内容????????
        lvAddNewProg.Free ;
        lvAddNewProg:=nil;
      end;
   end
   else
   lvAddNewProg.ShowModal ;

解决方案 »

  1.   

    首先:只要你的窗体不释放,就可以在关闭后访问其中的变量。
    其次:ShowModal有返回值的,返回的就是Mrok,或MrCancel等,具体的请看帮助代码:
    问题1:用如下代码替换你的“//????如何取得内容????????”
        Showmessage(lvAddNewProg.textbox.text);
    问题2:if lvAddNewProg.ShowModal=mrOK then .....
      

  2.   

    同意楼上
    全局变量也可以
    『然后在主窗体里直接调用
    var
      Form2: TForm2;
      sResult : integer;//在按钮click事件中赋值
      stext   : string;//将textbox.text赋于该变量
    implementation{$R *.dfm}
      

  3.   

    想操作那一个窗口就引用这个窗口:
    uses 你想引用值的窗口单元
    你想引用值的窗口单元.edit.text;
      

  4.   

    别人帮助了,就要给分,眼而有信,别人彩绘继续ANSWER,否哈哈!!
    我吗?没出力,给也不要!!!!
      

  5.   

    如果你使用的是show方法运行的窗体 调用close方法就不好取了。最好用hide方法。那样就好取了。如果用的是ShowModal方法就好取了。