2011-03-15 10 views
13

मैं इंस्टॉलर में स्वागत स्क्रीन में पूर्ण संस्करण-स्ट्रिंग प्रदर्शित करने वाला एक लेबल जोड़ना चाहता हूं जिसे मैं एमयूआई 2 के साथ एनएसआईएस का उपयोग कर बना रहा हूं।एनएसआईएस के लिए एमयूआई 2 का उपयोग करते समय मैं MUI_WELCOME_PAGE में टेक्स्ट को कैसे संशोधित कर सकता हूं?

मैंने यह कैसे किया है इस बारे में जानकारी की खोज की है, लेकिन केवल MUI_INSTALLOPTIONS * का उपयोग करने के संदर्भ पाए गए हैं जिन्हें मैंने एमयूआई 2 के लिए हटा दिया है। एक और विकल्प ने एक ही विकल्प के साथ इंस्टाललोप्शन * का उपयोग कर नए संस्करणों को संदर्भित किया, लेकिन मैं इसे काम नहीं कर सका। अंततः मुझे इसके लिए nsDialogs का उपयोग करने का संदर्भ भी मिला - जो मैं अपने कस्टम पृष्ठों के लिए उपयोग कर रहा हूं। हालांकि - मुझे MUI2.nsh के साथ आने वाले मौजूदा पृष्ठों को बदलने के तरीके पर कोई संदर्भ या नमूने नहीं मिला।

मुझे MUI_HEADERTEXT को बदलने का एक तरीका मिला, लेकिन यह स्वागत-स्क्रीन को प्रभावित नहीं करता है। मेरी इच्छा है कि वेलकमेट को बदलने का एक तरीका भी था। हो सकता है कि MUI_WELCOMETITLE और MUI_WELCOMEBODY या इसी तरह का उपयोग करें।

उत्तर

10

वहाँ MUI_WELCOMEPAGE_TEXT है लेकिन यह केवल तभी उपयोगी है जब आप सभी टेक्स्ट बदलना चाहते हैं और न केवल कुछ जोड़ना चाहते हैं।

outfile test.exe 
requestexecutionlevel user 

!include MUI2.nsh 

#!define MUI_WELCOMEPAGE_TEXT "New text goes here" 
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback 
!insertmacro MUI_PAGE_WELCOME 
!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_LANGUAGE "English" 


Function MyWelcomeShowCallback 
SendMessage $mui.WelcomePage.Text ${WM_SETTEXT} 0 "STR:$(MUI_TEXT_WELCOME_INFO_TEXT)$\n$\nVersion: foo.bar" 
FunctionEnd 

Section 
SectionEnd 

एक नया नियंत्रण ..or जोड़ें::

पेज के लिए शो समारोह के दौरान, आप किसी भी नियंत्रण के पाठ को बदल सकते हैं

outfile test.exe 
requestexecutionlevel user 

!include MUI2.nsh 

!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback 
!insertmacro MUI_PAGE_WELCOME 
!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_LANGUAGE "English" 


Function MyWelcomeShowCallback 
${NSD_CreateLabel} 120u 150u 50% 12u "Version: foo.bar" 
Pop $0 
SetCtlColors $0 "" "${MUI_BGCOLOR}" 
FunctionEnd 

Section 
SectionEnd 
+4

मैं दूसरा सुझाव और हेवन 'का इस्तेमाल किया टी पहले की कोशिश की। एक आकर्षण की तरह काम किया, धन्यवाद :) – Spiralis

+1

यहां सुझाए गए दोनों तरीकों से मेरे लिए काम किया गया (एनएसआईएस 3, एमयूआई 2) – CodingWithSpike

+0

पता चला कि 'SendMessage' को' STR: 'को कठोर तरीके से स्ट्रिंग करने के लिए आवश्यक है: http: //nsis.sourceforge .NET/संदर्भ/SendMessage – dothebart

संबंधित मुद्दे

 संबंधित मुद्दे