




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、牛牛安裝包界面控件使用說明本說明文檔旨在對nsNiuniuSkin.dll控件的使用進(jìn)行說明,指導(dǎo)調(diào)用者順利的將牛捉安裝包界面控件控件集成進(jìn)安裝包中,使第三方產(chǎn)品也能擁有完美的安裝包的UI體驗功能。官方網(wǎng)址: HYPERLINK / / 牛牛安裝包界面控件是一個可集成于NSIS的插件,采用Duilib開發(fā),在使用時,安裝包制作者只需要做如下兩件事情:1. 通過配置Duilib的資源,設(shè)計好界面顯示的元素2. 在NSIS的腳本中,通過NSIS腳本調(diào)用nsNiuniuSkin.dll的相關(guān)接口,集成UI及安裝包的業(yè)務(wù)功能 在控件的資源中,采用的是通過TAB控件來實現(xiàn)不同階段的安裝界面,比如:選擇路
2、徑、許可協(xié)議、安裝進(jìn)度、完成、卸載等,在實際使用中,通過NSIS腳本來設(shè)置當(dāng)前需要顯示的TAB頁,即可完美的呈現(xiàn)出需要的界面UI了。 在我們的示例中,提供了兩份安裝的界面如下:注意,最新版本的控件已經(jīng)將可用的NSIS及7z的相關(guān)文件包含在示例包中,可以通過一鍵打包批處理腳本進(jìn)行打包了,具體如下:1). 將要打包的文件復(fù)制到FilesToInstall目錄下,可以包含文件及若干層的目錄2). 修改相關(guān)項目下的skin目錄下的資源文件及xml腳本來配置UI3). 添加相關(guān)(或者在我原來的示例上修改,這樣更快)的NSIS腳本文件,并與UI相匹配4). 指定好相關(guān)的ICO、licence等信息 5).
3、 執(zhí)行build.bat腳本,一鍵打包,build腳本會做三件事:將FilesToInstall目錄下的文件打包成app.7z;將skin目錄下的文件打包成skin.zip;調(diào)用nsis編譯程序,編譯nsi文件,輸出安裝包。以上描述的build腳本為全自動執(zhí)行,可以輕松集成進(jìn)您現(xiàn)有的軟件發(fā)布流程中,實現(xiàn)自動化打包發(fā)布。牛牛安裝包界面控件包含的接口較多,以下逐一進(jìn)行介紹以下接口調(diào)用及參數(shù)說明按在NSIS腳本中的調(diào)用示例來說明:接口初始化接口 InitSkinPage此接口函數(shù)用于初始化nsNiuniuSkin.dll控件的配置信息.調(diào)用示例:nsNiuniuSkin:InitSkinPage $
4、PLUGINSDIR $INSTALL_LICENCE_FILENAME參數(shù)說明:參數(shù)序號參數(shù)類型參數(shù)說明備注1字符串用于指定NSIS安裝包的插件釋放路徑此路徑的指定非常重要,在腳本中指定的插件以及UI資源包將會釋放至此目錄下,只有正確指定后,界面控件才能調(diào)用資源顯示窗口2字符串許可協(xié)議的文件名這是一個txt文檔,在界面控件加載時,將會加載此文件來顯示許可協(xié)議 重新設(shè)置許可協(xié)議的文件名nsNiuniuSkin:ResetLicenseFile $hInstallDlg newlicensename.rtf設(shè)置后,許可協(xié)議顯示控件將會重新加載許可協(xié)議文件,這個比較適合用于多語言版本的不同許可協(xié)議
5、加載顯示。設(shè)置安裝包標(biāo)題SetWindowTile此接口函數(shù)用于指定安裝包的標(biāo)題。調(diào)用示例:nsNiuniuSkin:SetWindowTile $hInstallDlg $PRODUCT_NAME安裝程序參數(shù)說明:參數(shù)序號參數(shù)類型參數(shù)說明備注1整型用于指定要設(shè)置標(biāo)題的窗口句柄調(diào)用init時返回 (可傳遞子窗口彈窗口的句柄)2字符串用于指定安裝包的標(biāo)題設(shè)置當(dāng)前顯示的TAB頁nsNiuniuSkin:ShowPageItem $hInstallDlg wizardTab $INSTALL_PAGE_CONFIG參數(shù)序號參數(shù)類型參數(shù)說明備注1整型用于指定要設(shè)置標(biāo)題的窗口句柄調(diào)用init時返回 (可
6、傳遞子窗口彈窗口的句柄)2字符串指定的TAB控件的name3int需要顯示的tab頁序號以0為初始值 路徑選擇相關(guān)接口4.1 通知接口來瀏覽安裝路徑nsNiuniuSkin:SelectInstallDirPop $0通知界面控件來瀏覽安裝路徑,并且將路徑獲取到變量中。再調(diào)用此接口后,應(yīng)該再調(diào)用SetControlAttribute接口來將安裝的路徑設(shè)置到控件界面上。4.2 通知接口來瀏覽安裝路徑擴展接口nsNiuniuSkin:SelectInstallDirEx $hInstallDlg 請選擇安裝路徑Pop $0此接口是SelectInstallDir的擴展接口,在SelectInsta
7、llDir的基礎(chǔ)上,支持設(shè)置文件選擇框的標(biāo)題。顯示界面控件nsNiuniuSkin:ShowPage 0當(dāng)界面綁定事件完成后,通過此接口來調(diào)用顯示控件,此接口將會阻塞運行。參數(shù)序號參數(shù)類型參數(shù)說明備注1整型用于指定顯示前要回調(diào)的NSIS函數(shù)如果為0,則表示不回調(diào)彈出提示框接口1) 以下代碼用于初始化子窗口彈窗,同時返回其句柄:nsNiuniuSkin:InitSkinSubPage msgBox.xml btnOK btnCancel,btnClosepop $hInstallSubDlg參數(shù)序號參數(shù)類型參數(shù)說明備注1字符串指定彈窗要用到的UI配置xml文件2字符串指定點擊后彈窗退出時返回ID
8、OK的按鈕ID號如果使用BindCallBack綁定了此按鈕回調(diào)的NSIS函數(shù),則此設(shè)置失效3字符串指定點擊后彈窗退出時返回IDCANCEL的按鈕ID號如果使用BindCallBack綁定了此按鈕回調(diào)的NSIS函數(shù),則此設(shè)置失效2) 以下代碼用于根據(jù)彈窗窗口的句柄設(shè)置其UI控件的屬性,控制顯示變化:nsNiuniuSkin:SetControlAttribute $hInstallSubDlg lblTitle text 提示3) 以下代碼將彈窗顯示出來:nsNiuniuSkin:ShowSkinSubPage 0參數(shù)說明:參數(shù)序號參數(shù)類型參數(shù)說明備注1整型指定顯示彈窗前要回調(diào)的NSIS函數(shù)地
9、址如果為0表示不回調(diào); 指定界面上指定控件的屬性nsNiuniuSkin:SetControlAttribute $hInstallDlg btnClose enabled falsensNiuniuSkin:SetControlAttribute $hInstallDlg lblInstalling text 正在卸載.此接口用于指定界面的指定元素的指定屬性,比如:是否可用、是否可見、是否選中、文字、背景圖等等參數(shù)說明:參數(shù)序號參數(shù)類型參數(shù)說明備注1整型用于指定要設(shè)置標(biāo)題的窗口句柄調(diào)用init時返回 (可傳遞子窗口彈窗口的句柄)2字符串控件的name 3字符串 控件的屬性名4字符串控件的屬性
10、值注:可以通過此接口設(shè)置所有的通用屬性;一般可以利用此接口來設(shè)置指定控件的文本、是否可用、是否可見、位置、大小 、背景圖、文本顏色等;比如可以用于設(shè)置復(fù)選框是否選中等等。通用的屬性列表項可以參照下圖:設(shè)置示例如下: 獲取控件的通用屬性nsNiuniuSkin:GetControlAttribute $hInstallDlg editDir text Pop $2此接口用于獲取界面的指定元素的指定屬性,比如:是否可用、是否可見,文本等等參數(shù)說明:參數(shù)序號參數(shù)類型參數(shù)說明備注1整型用于指定要設(shè)置標(biāo)題的窗口句柄調(diào)用init時返回 (可傳遞子窗口彈窗口的句柄)2字符串控件的name 3字符串 控件的屬
11、性名注:通用的屬性列表項可以參照下圖:綁定UI上控件的相關(guān)事件GetFunctionAddress $0 OnExitDUISetupnsNiuniuSkin:BindCallBack $hInstallDlg btnClose $0此接口用于綁定一個按鈕點擊的回調(diào)函數(shù)或一個RichEdit控件的文字變化時的回調(diào)函數(shù)。參數(shù)說明:參數(shù)序號參數(shù)類型參數(shù)說明備注1整型用于指定要設(shè)置標(biāo)題的窗口句柄調(diào)用init時返回 (可傳遞子窗口彈窗口的句柄)2字符串UI界面中按鈕或richedit控件的name3LONG要綁定的NSIS函數(shù)的地址當(dāng)指定名稱的按鈕被點擊或者指定的richedit的內(nèi)容變化時,綁定的函
12、數(shù)將會被觸發(fā)注:1). 當(dāng)綁定的控件是一個RichEdit控件時,其中的文本內(nèi)容變化時就會觸發(fā)綁定的函數(shù);可以通過綁定路徑的控件,同時在綁定的函數(shù)中獲取路徑,做否合法的判斷。2). 為了能夠?qū)⑼ㄟ^Ctrl+F4關(guān)閉窗口,以及通過在任務(wù)欄關(guān)閉窗口的事件通知到NSIS中,此處需要綁定一個特殊的名稱,這個特殊的名稱是:syscommandclose,如下:結(jié)束安裝nsNiuniuSkin:ExitDUISetup此接口被調(diào)用時,將會退出安裝進(jìn)程字符串處理輔助接口nsNiuniuSkin:StringHelper c:testtest trimright; 如果源字符串的最后一個字符是,則將其去掉po
13、p $0nsNiuniuSkin:StringHelper c:AAAdst AAA bbb replace ;將源碼中的AAA替換成bbbpop $0nsNiuniuSkin:StringHelper c:AAAdst getrightbychar ;將源碼中的以分隔的最后一段返回,此例中返回dstpop $0這是一個為了簡化在NSIS腳本中的字符串處理而提供的輔助函數(shù),有需要者可以使用。參數(shù)序號參數(shù)類型參數(shù)說明備注1字符串等待處理的字符串2字符串指定在源碼處理時,需要用來進(jìn)行輔助查詢的參數(shù)值 3字符串要被替換成的目標(biāo)字符串僅當(dāng)指令為replace時有效4字符串用于指定要對字符串處理的操作類型replace:在源串中將第二個參數(shù)的值替換成第三個參數(shù)的值,再返回trimright:將源串中的最后一個字符去掉(如果等于第二個參數(shù))getrightbychar:從源串中,取根據(jù)第二個參數(shù)分割的最后一段值其他信息具體的NSIS腳本及DUILIB的配置文件可以參看DEMO,有如下幾個注意事項:1). DUILIB資源必需打包成zip壓縮包,且名稱必需是skin.zip2). 在NSIS腳本中,安裝與卸載界面中按如下方式指定:此處將插件釋放目錄指定為duilib資源包及許可協(xié)議文件的釋放路徑。3). 在實際的安裝過程中,為了讓進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TY/T 3501.2-2024高山滑雪板性能測定第2部分:質(zhì)量和極慣性矩
- NB/T 11524-2024礦用噴水滅火機器人通用技術(shù)要求
- 課題申報書全部
- 法治思維課題申報書
- Unit 3 Keep Fit section B 2a-2c 同步課時講練(含答案)七年級英語下冊(人教版2024)
- 廣州 社科 課題申報書
- 合同范本模板不能復(fù)制
- 不讓停車協(xié)議合同范本
- 體育和音樂課題申報書
- 醫(yī)療會議服務(wù)合同范例
- DB5101-T 71-2020 成都市電動汽車充電設(shè)施 安全管理規(guī)范
- 2025年七臺河職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 監(jiān)理人員安全培訓(xùn)考試試卷(答案)
- 2025年北京電子科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- xxx項目財務(wù)評價報告
- 2024年山東交通職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 團隊賦能培訓(xùn)
- 2025年廣東廣州市黃埔區(qū)第二次招聘社區(qū)專職工作人員高頻重點提升(共500題)附帶答案詳解
- 第一單元第2課《人工智能應(yīng)用》說課稿 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)八年級下冊
- 2025年寫人要抓住特點
- 萬兆小區(qū)方案及實施路徑
評論
0/150
提交評論