1]新建窗口并调用

2[去除窗体边框,对Login窗口显示最合适

3]标题栏添加按钮,共有25种类型

4]设置标题栏高度和标题的位置

1]新建窗口并调用


 

 

 然后 保存,在这里 重命名窗口

 

//主窗口 调用 
//  NewForm2.UniForm1.Show() ;          //非阻塞
  NewForm2.UniForm1.ShowModal();//阻塞
//子窗口 调用
procedure TUniForm2.UniButton1Click(Sender: TObject);
begin
  self.ModalResult := mrok; //将子窗口的返回值  mrok传回主窗口
  self.Close;   //关闭子窗口
end
//主窗口 调用
procedure TMainForm.UniButton1Click(Sender: TObject);
begin
  newform2.UniForm2.ShowModal(
    procedure(Sender: TComponent; Res: Integer)//主窗口接收子窗口传回的值 Res
    begin
      Case Res of
        mrOk: // 点Ok后执行的语句
          begin
            caption := 'mrOk'
          end;
        mrNo:   // 点No后执行的语句
          begin
            caption := 'mrNo'
          end;
        mrCancel:   // 点Cancel后执行的语句
          begin
            caption := 'Mrcancel'
          end;
      end;
    end
    );

end;

 2[去除窗体边框,对Login窗口显示最合适

1.属性中设置边框BorderStyle =bsNone

2.ClientEvents-UniEvents事件中写代码beforeInit

function window.beforeInit(sender)
{    Ext.apply(    sender,   
           {      border: false,      baseCls: '',              
                  shadow: false,      frame: false,   
             maximizable: false,      resizable: false,   
           }
       );
}


3]标题栏添加按钮,共有25种类型 https://blog.csdn.net/zheng52617/article/details/125158994

https://docs.sencha.com/extjs/6.7.0/classic/Ext.window.Window.html#cfg-tools  原方法说明

https://docs.sencha.com/extjs/6.7.0/classic/Ext.panel.Tool.html#cfg-type  共有25种类型

Form的BorderStyle不能设为bsNone,默认为bsSizeable

function window.beforeInit(sender, config)
{
   Ext.apply (sender, {
      tools: [{ 
         type: 'pin',                              //图标样式
         tooltip: 'tooltip of pin',                //Hint说明 
         handler: function(event, toolEl, panel){
            ajaxRequest(sender, 'tool', [ 'btn=pin' ] );  //发送参数
         }
      },{ 
         type: 'refresh',
         tooltip: 'tooltip of refresh',
         handler: function(event, toolEl, panel){
            ajaxRequest(sender, 'tool', [ 'btn=refresh' ] );
         }
      },{
         type: 'search', 
         tooltip: 'tooltip of search',
         handler: function(event, toolEl, panel){
            ajaxRequest(sender, 'tool', [ 'btn=search' ] );
         }
      },{ 
         type: 'save',
         tooltip: 'tooltip of save',
         handler: function(event, toolEl, panel){
            ajaxRequest(sender, 'tool', [ 'btn=save' ] );
         }
      }]   
   });
}

 在uniForm的AjaxEven事件中:

procedure TMainForm.UniFormAjaxEvent(Sender: TComponent; EventName: string;
  Params: TUniStrings);
begin
  if EventName='tool' then
    ShowMessage('Button '+Params.Values['btn']+' pressed')  //接收参数
end;


 4]设置标题栏高度和标题的位置

.x-window-header-default-top{padding:10px 5px}

 

 总是说我字少. 总是说我字少. 总是说我字少. 总是说我字少. 总是说我字少. 总是说我字少. 总是说我字少.