1.在“ User Interface ”-“ Dialogs ”下,在All Dialogs右擊“ New Dialogs …”創建自己的Dialogs。
2.在“ Behavior and Logic ”-“ InstallScript ”下,在Files右擊“ New Script File ”創建相應函數
SdMakeName
if(MODE = SILENTMODE) then
????? SdMakeName(szAppKey, DLG_ENTERLOGIN, "", nDlgEnterLogin);
????? SilentReadData(szAppKey, "Result", DATA_NUMBER, szNil, nId);
????? if((nId != BACK) && (nId != CANCEL)) then
????????? SilentReadData( szAppKey, "szUser", DATA_STRING, svUser, nNil );
????????? SilentReadData( szAppKey, "szPass", DATA_STRING, svPassword, nNil );
????? endif;
????? return nId;
? endif;SdMakeName ( svSection, szDlg, szUnused, nvDlgName );
svSection :Specifies the section name (for example, "MyDlg-0"). InstallShield places a value into this variable using the variables szDlg and nvDlgName. This value is used by SilentReadData and SilentWriteData.
svSection :指定這個名字是為了SilentReadData和SilentWriteData使用。
szDlg : Specifies the name of the custom dialog (for example, "MyDlg") for which to create a section name.
szDlg :變量的名字是自己創建的Dialog的名字。
szUnused :This parameter is not used; pass a null string ("") in this parameter.
szUnused :沒有實質的作用,傳入空字符就可以。
nvDlgName : Specifies the counter that records the number of times SdMakeName is called for the dialog named in szDlg. InstallShield automatically increments this counter.
For sections to be properly named, you must use a unique variable name in this parameter for each different custom dialog. A simple way to do this is to use the dialog name in szDlg to name the variable. For example, when szDlg is "MyDlgOne," name the variable in this parameter nvMyDlgOne, and when szDlg is "MyDlgTwo," name the variable nvMyDlgTwo.
nvDlgName :傳入一個唯一的名字。(其實不太清楚)
Return Values
None.
SilentReadData
SilentReadData (szAppKey, "Result", DATA_NUMBER, szNil, nId);
//-----------------------------------我是注釋,你不懂哥的寂寞------------------------------------------
SilentReadData (szSection, szValName, nValType, svVal, nvVal);
//個人認為第一次寫這個是默認的,第二次是自己定義的。
szSection :
Specifies the name of the dialog data section in the .iss file. Do not include the square brackets ( [ ] ). The parameter szSection takes the form <functionname>-<number>, where <functionname> is the name of the dialog function as it is used in the script, and <number> is the number of the occurrence of that dialog in the script, beginning with 0 (zero). For example, the first occurrence of the MyDialog function dialog would have a value of "MyDialog-0" in szSection, the second occurrence "MyDialog-1," the third "MyDialog-2," and so on.
szSection :同SdMakeName中的第一個參數。
szValName :
Specifies the value name that appears in the dialog data section of the .iss file. Every dialog has at least one value for szValName—"Result"—which identifies the value returned by the dialog button controls (BACK, NEXT, OK, or CANCEL). Other value names are used to identify values and data associated with the other dialog controls.
szValName :指定在文件.iss中出現的內容。
nValType :
- DATA_STRING—The value assigned to the value name in szValName is of type STRING. Its value will be stored in svVal.
- DATA_NUMBER—The value assigned to the value name in szValName is of type NUMBER. Its value will be stored in nvVal.
- DATA_COMPONENT—The value assigned to the value name in szValName is the name of a component It will be stored in svVal.
- DATA_LIST—The value assigned to the value name in szValName is the list ID for an InstallScript list. It will be stored in nvVal.
nValType :
svVal :Specifies the value assigned to the value name in szValName when nValType is DATA_STRING or DATA_COMPONENT.
svVal :當nValType是DATA_STRING和DATA_COMPONENT時,把值保存在svVal中。
nvVal :Specifies the value assigned to the value name in szValName when nValType is DATA_NUMBER or DATA_LIST.
nvVal :當nValType是DATA_NUMBER和DATA_LIST時,把值保存在nvVal中。
CtrlSetText
#define RES_PBUT_BACK??????? 12?? // ID of Back button
#define RES_EDITNAME??????? 301?? // ID of edit box
#define RES_EDITCOMPANY???? 302?? // ID of edit box
CtrlSetText (szDialogName, RES_EDITNAME, "Your name");
CtrlSetText (szDialogName, RES_EDITCOMPANY, "Your company");
CtrlSetText (szDialogName, nControlID, szText);
參數:?????
????? szDialogName指定一個對話框的名稱。
nControlID指定其中的文本要被設置的單行編輯區,靜態文本區或按扭控件的資源ID。
szText指定放到控件中的文本。返回值:
0:CtrlSetText成功設置控件中的文本。
< 0:CtrlSetText未能設置控件中的文本。
CtrlGetText
今天到這里,明天繼續。。。。。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
