Inno Setup中TNewComboBox控件在[Code]段是否支持Item Data?
关于Inno Setup中TNewComboBox控件使用Item Data的问题
我曾在Inno Setup新闻组提出过相关问题,但未收到任何回复。
请问是否可以在Inno Setup的[Code]段中为TNewComboBox控件使用Item Data,就像其他编程语言那样?我尝试查找相关信息,但一无所获。
当前预处理器脚本(脚本顶部)
; Language values #define MDB_ENG "0" #define MDB_ESP "1" #define MDB_DEU "2" #define MDB_ITA "3" #define MDB_NLD "4" #define MDB_TRK "5" #define MDB_PTB "6" #define MDB_SVE "7" #define MDB_DAN "8" #define MDB_RUS "9" #define MDB_FIN "10" #define MDB_AFK "11" #define MDB_CHS "12" #define MDB_SQI "13" #define MDB_FRA "14" #define MDB_BGR "15" #define MDB_TWI "16" #define MDB_FPO "17" #define MDB_SWK "18" #define MDB_ELL "19" #define MDB_UKR "20" #define MDB_KHM "21" #define MDB_ROM "22" #define MDB_SMO "23" #define MDB_IND "24" #define MDB_VIT "25" #define MDB_ARA "26" #define MDB_PLK "27" #define MDB_SRN "28" #define MDB_JPN "29" #define MDB_LIN "30" #define DatabaseFiles() \ DatabaseFile('English', 'English') + \ DatabaseFile('Spanish', 'Español') + \ DatabaseFile('German', 'Deutsch') + \ DatabaseFile('Italian', 'Italiano') + \ DatabaseFile('Dutch', 'Nederlands') + \ DatabaseFile('Turkish', 'Türkçe') + \ DatabaseFile('Portuguese', 'Português') + \ DatabaseFile('Swedish', 'Svenska') + \ DatabaseFile('Danish', 'Dansk') + \ DatabaseFile('Russian', 'Русский') + \ DatabaseFile('Finnish', 'Suomi') + \ DatabaseFile('Afrikaans', 'Afrikaans') + \ DatabaseFile('Chinese Simplified', '汉语(简化字)') + \ DatabaseFile('Albanian', 'Shqip') + \ DatabaseFile('French', 'Française') + \ DatabaseFile('Bulgarian', 'Български') + \ DatabaseFile('Twi', 'Akan') + \ DatabaseFile('Tagalog', 'Tagalog') + \ DatabaseFile('Swahili', 'Kiswahili') + \ DatabaseFile('Greek', 'Ελληνική') + \ DatabaseFile('Ukrainian', 'Українська') + \ DatabaseFile('Cambodian', 'Cambodian') + \ DatabaseFile('Romanian', 'Română') + \ DatabaseFile('Samoan', 'Faa-Sāmoa') + \ DatabaseFile('Indonesian', 'Indonesia') + \ DatabaseFile('Vietnamese', 'Vietnamese') + \ DatabaseFile('Arabic', 'العربية') + \ DatabaseFile('Polish', 'Polski') + \ DatabaseFile('Sranantongo', 'Sranantongo') + \ DatabaseFile('Japanese', '日本語') + \ DatabaseFile('Lingala', 'Lingala')
[Code]段中的下拉框创建代码
// cbDatabase cbDatabase := TNewComboBox.Create(Page); with cbDatabase do begin #define DatabaseFile(Name, Text) \ 'Items.Add(''' + Text + ''');' + NewLine + \ 'if ActiveLanguage = ''' + Name + ''' then ItemIndex := Items.Count - 1;' + NewLine Parent := Page.Surface; Left := ScaleX(8); Top := ScaleY(128); Width := ScaleX(177); Height := ScaleY(21); Style := csDropDownList; TabOrder := 3; // Languages {#DatabaseFiles} end;
我需要将这段代码升级,采用Objects方法来实现Item Data功能,同时还要添加排序功能。我清楚其他代码会因此受到影响,但这里暂不展开说明。
内容的提问来源于stack exchange,提问作者Andrew Truckle
相关产品推荐
相关产品推荐

