我想做成这个效果:
    一个窗口创建出来的,主窗体自动会创建一个按钮,关闭后这个按钮也自动消失,就像 MDI 的窗口菜单那样,

解决方案 »

  1.   

    假设子窗体SubForm,主窗体MainForm,MainForm上有一个ButtonSub 需要和SubForm
    同步工作,那么这样,发送自定义消息:
    你处理SubForm 的窗体关闭消息
    const MY_message = wm_user + 10;
    TSubForm = ....
    ...
    private
      procedure wmsyscommand(var Message: TMessage);message WM_SYSCOMMAND;
    ...
    TSubForm.wmsyscommand(var Message: TMessage);
    begin
      if Message.WParam = SC_CLOSE then
      SendMessage(MainForm.Handle, MY_Message, 0, 0);// 发送这个自定义消息
    end;
    ..........
    在MainForm中响应MY_Message ,显示或者隐藏ButtonSub
    TMainForm = ........
    private
      procedure mymessagse(var message: TMessage);message My_Message;
    ...
    procedure TMainForm.mymessage(var message: TMessage);
    begin
      ButtonSub.Visible := false;
    end;