2010-02-28 1 views
2

저는 현재 NSIS InstallOptions 플러그인을 사용하여 설치 프로그램에서 일부 사용자 정의 페이지를 만듭니다. 만들려는 컨트롤의 위치를 ​​설정할 때 해당 컨트롤을 만들 위치의 정확한 좌표를 지정해야합니다. 인스톨러가 정말로 정적 일 때도 괜찮습니다.하지만 인스톨러를 국제화하기위한 움직임을 보이고 있습니다. 따라서 문자열과 언어의 위치와 길이가 언어에 따라 달라질 것입니다.NSIS : 문자열이나 컨트롤의 위치를 ​​서로 참조하도록 설정하는 방법이 있습니까?

문자열/컨트롤의 위치를 ​​서로 참조하도록 설정하는 방법이 있습니까? 문자열 A를 정확한 좌표 집합에 배치하고 문자열 A 다음에 문자열 B를 넣고 싶습니다. "문자열 A 다음에 문자열 B를 넣으십시오". nsDialog 플러그인의 InstallOptions 중 하나를 사용하여이 작업을 수행 할 수 있습니까?

+0

이 또한 내가에 ... –

+0

관심 주제대로 추가 논의에 대한 답 또는 입력을 받아 들일 좋을 것이다 미안해,이 일을 절대 따라하지 않았어. 아래 답변은 불행히도 내 질문에 대답하지 않습니다. 내 질문은 상대적인 레이아웃 위치에 대한 것이며 아래 답변은 절대 위치입니다. 나는 나의 질문에 대한 진정한 대답이 "아니오, 이것을 할 수있는 방법이 없다"고 믿는다. 그러나 나는 그것을 확실히 모른다. – dreadpirateryan

답변

0
당신은 위치를 수정할 수있는 사용자 정의 페이지의 INI 파일에 쓸 수

: 을 그래서 사용자 지정이 같은 페이지를 작성하는 경우 :

Page custom GetUserParameters_Create GetUserParameters_Leave " - User Parameters" 

그리고 GetUserParameters.ini 같은 파일 :

; Ini file generated by the HM NIS Edit IO designer. 
[Settings] 
NumFields=2 

[Field 1] 
Type=Label 
Text=User Name: 
Left=27 
Right=109 
Top=9 
Bottom=20 

[Field 2] 
Type=Text 
Left=27 
Right=170 
Top=20 
Bottom=33 

그리고 내 GetUserParameters_Create 함수는 설치 옵션이 로컬 사용자의 pluginsdir에 대한 ini 파일을 추출하기 때문에 레이아웃을 수정할 수 있습니다. 내가 원하는 수정 사항을 변경 한 후, 나는 다음 INSTALLOPTIONS_DISPLAY으로 INI 파일을로드 :

WriteINIStr "$PLUGINSDIR\GetUserParameters.ini" "Field 2" "Left" "30" 
!insertmacro INSTALLOPTIONS_DISPLAY "GetUserParameters.ini"