zoukankan      html  css  js  c++  java
  • Inno Setup进阶之窗口初始化(一)

    初始化窗口

    1. 隐藏默认

      WizardForm.OuterNotebook.hide;  // 隐藏默认的导向内容
      WizardForm.Bevel.hide;          // 隐藏分隔线
      WizardForm.BorderStyle:=bsnone;  // 边界隐藏
    

    2. 设置窗口大小

      WizardForm.Position:=poScreenCenter; // 位置屏幕居中
      WizardForm.Width:=630;               // 宽
      WizardForm.Height:=408;             // 高
      WizardForm.Color:=$00fd9804;        // 背景颜色
    

    3. 定义窗口拖拽

      WizardForm.OnMouseDown:=@WizardMouseDown       //拖拽
    
      procedure WizardMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
      begin
        ReleaseCapture
        SendMessage(WizardForm.Handle, $0112, $F012, 0)
      end;
    

    4. 自定义页面图标添加事件

      ExtractTemporaryFile('btn_close.png');
      ExtractTemporaryFile('btn_min.png');
    
      // 取消安装
      CancelBtn:=BtnCreate(WizardForm.Handle,607,8,17,15,ExpandConstant('{tmp}tn_close.png'),2,False)
      BtnSetEvent(CancelBtn,BtnClickEventID,WrapBtnCallback(@CancelBtnOnClick,1));
    	
      // 最小化窗口	
      MinBtn:=BtnCreate(WizardForm.Handle,587,4,17,15,ExpandConstant('{tmp}tn_min.png'),1,False)
      BtnSetEvent(MinBtn,BtnClickEventID,WrapBtnCallback(@MinBtnOnClick,1));
    

    5. 背景

      // 背景颜色
      WizardForm.Color:=$00fd9804; // $00bgr
    
      // 背景图片
      ExtractTemporaryFile('xy.png');
      BGimg:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}xy.png'),0,0,650,408,false,false);
      ImgApplyChanges(WizardForm.Handle);
    

    6. 向导页处理逻辑

      procedure CurPageChanged(CurPageID: Integer);
      begin
      
        WizardForm.NextButton.Visible:=false;
        WizardForm.CancelButton.Height:=0;
        WizardForm.BackButton.Height:=0;
      
        if CurPageID = wpWelcome then
      	WizardForm.NextButton.OnClick(WizardForm);
      end;
    

    完整代码

    [code]
    #include  'dll.iss'
    
    var CancelBtn, MinBtn:HWND;
    
    // 取消按钮
    procedure CancelBtnOnClick(hBtn:HWND);
    begin
     WizardForm.CancelButton.Click;
    end;
    
    // 最小化按钮
    procedure MinBtnOnClick(hBtn:HWND);
    begin
    SendMessage(WizardForm.Handle,WM_SYSCOMMAND,61472,0);
    end;
    
    // 拖拽
    procedure WizardMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      ReleaseCapture
      SendMessage(WizardForm.Handle, $0112, $F012, 0)
    end;
    
    procedure InitializeWizard();
    
    begin
      WizardForm.OuterNotebook.hide;  // 隐藏默认的导向内容
      WizardForm.Bevel.hide;          // 隐藏分隔线
      WizardForm.BorderStyle:=bsnone;  // 边界隐藏
      WizardForm.Position:=poScreenCenter; // 位置屏幕居中
      WizardForm.Width:=630;               // 宽
      WizardForm.Height:=408;             // 高
      WizardForm.Color:=$00fd9804;        // 背景颜色
      WizardForm.NextButton.hide;
      
      WizardForm.OnMouseDown:=@WizardMouseDown       //拖拽
    
      ExtractTemporaryFile('btn_close.png');
      ExtractTemporaryFile('btn_min.png');
    
      CancelBtn:=BtnCreate(WizardForm.Handle,607,8,17,15,ExpandConstant('{tmp}tn_close.png'),2,False)
      BtnSetEvent(CancelBtn,BtnClickEventID,WrapBtnCallback(@CancelBtnOnClick,1));
    
      MinBtn:=BtnCreate(WizardForm.Handle,587,4,17,15,ExpandConstant('{tmp}tn_min.png'),1,False)
      BtnSetEvent(MinBtn,BtnClickEventID,WrapBtnCallback(@MinBtnOnClick,1));
    
    end;
    
    procedure  DeinitializeSetup();
    begin
       gdipShutdown;
    end;
    
    procedure CurPageChanged(CurPageID: Integer);
    begin
    
      WizardForm.NextButton.Visible:=false;
      WizardForm.CancelButton.Height:=0;
      WizardForm.BackButton.Height:=0;
    
      if CurPageID = wpWelcome then
        WizardForm.NextButton.OnClick(WizardForm);
    end;
    
  • 相关阅读:
    37个绝对不容错过的HTML5教程和资源
    Google的自动驾驶汽车无事故成功完成30万英里的驾驶路程
    一个基于jQuery Mobile的移动设备实时幻灯javascript类库 taciónJS
    推荐免费黑色UI工具包下载
    分享一些前端开发人员必备的工具,脚本和资源
    使用HTML5画布实现的超棒javascript动画仪表板:gauge.js
    Google(谷歌)将打算在搜索结果中展示Gmail内容
    免费资源下载:30个用户界面工具栏图标设计
    一张超诡异的HTML图片“松鼠” 是图片同时也是web页面
    带给你设计灵感的30个超棒的暗色系网站设计
  • 原文地址:https://www.cnblogs.com/pengsn/p/13397269.html
Copyright © 2011-2022 走看看