2013년 6월 1일 토요일

ARMA 커맨드 그룹 GUI Control

GUI Control 부분은 Dialog처럼 Display와 그 내부의 Control을 활용하는 방법에 대한 부분을 다룬다.

앞서 설명한 Description.ext의 Dialog에 대한 부분과 GUI Editor에 대한 것들에 대한 이해가 필요할 것으로 보인다.

잘 사용되지 않는부분이나 다른 것으로 대처되는 부분에 대해서 누락이 있을 수 있다.

기본적으로 알아둬야 할 것은 Dialog의 경우 그 Dialog를 총괄하는 일련번호인 idd와 그 Dialog 내부에 실질적인 역할을 하는 버튼등의 것들인 Control들이 개별적인 일련번호인 idc를 갖고 있고, 이는 이론적으로 Display를 다루는 것과 같다고 한다.

http://community.bistudio.com/wiki/Category:Command_Group:_GUI_Control




findDisplay

display의 idd로 해당 디스플레이를 호출한다.
Display = findDisplay idd




displayCtrl

해당 디스플레이에 속해있는 하위 컨트롤을 호출한다.
Control = display displayCtrl idc


(findDisplay 12) displayCtrl 1020



createDisplay

해당 디스플레이에 속하는 디스플레이를 생성한다.
parent createDisplay resourceName
  • resourceName : 이 링크의 Rsc로 시작되는 굵은 글씨의 것들이다.

  • closeDisplay
    해당 디스플레이를 닫는다.

    display closeDisplay exitcode
_display createDisplay "RscDisplayMainMap"



createDialog

다이얼로그를 생성한다.
Boolean = createDialog dialogName
createDialog "gui1"
  • closeDialog
    해당 다이얼로그를 닫는다.

    closeDialog idc




  • dialog
    해당 다이얼로그의 현재상태를 리턴한다.

    Boolean = dialog
    • true = open
    • false = closed




buttonSetAction

버튼을 클릭할때의 실행내용을 설정한다.
buttonSetAction [idc, action]

  • buttonAction
    해당 버튼을 클릭할때 실행되는 내용을 리턴한다.

    String = buttonAction (idc or control)

createDialog "gui1";
findDisplay 1000 displayCtrl 1600 buttonSetAction "cursorTarget setDammage 1";
hint buttonAction 1600



sliderSetPosition

최상위에 출력되고 있는 다이얼로그의 슬라이더상의 현재 위치를 지정한다.
sliderSetPosition [idc, pos]
control sliderSetPosition pos

  • sliderPosition
    최상위에 출력되고 있는 슬라이더가 현재 가리키고 있는 값을 리턴한다.
    Number = sliderPosition idc





sliderSetRange

최상위에 출력되고 있는 다이얼로그의 슬라이더가 갖는 범위를 지정한다.
sliderSetRange [idc, min, max]
control sliderSetRange [min, max]

  • sliderRange
    최상위에 출력되고 있는 다이얼로그상의 해당 슬라이더의 최소, 최대 범위를 Array형태로 리턴받는다.

    Array = sliderRange (idc or control)





sliderSetSpeed

최상위에 출력되고 있는 다이얼로그의 슬라이더의 움직이는 속도를 지정한다.
외곽의 양 화살표가 line값이고, 눈금위를 클릭했을때 page만큼 움직인다.
sliderSetSpeed [idc,line,page]
control sliderSetSpeed [line, page]


  • sliderSpeed
    최상위에 출력되고 있는 다이얼로그의 이동속도를 Array형태로 리턴한다.

    Array = sliderSpeed (idc or control)

createDialog "slider2";
sliderSetRange [1900,0,100];
sliderSetSpeed[1900,5,10];
[] spawn {
while{alive player} do {
ctrlSetText [1000,str (sliderPosition 1900)];
sleep 0.1;
};};



createMissionDisplay

해당 디스플레이 하단에 싱글 미션 디스플레이를 하위 디스플레이로 생성한다.이 미션 다이얼로그는 해당루트의 하단에 지정된 문구의 디렉토리를 설정하게 된다.
Display = display createMissionDisplay string

findDisplay 46 createMissionDisplay "Test"


ctrlActivate

버튼 형태 컨트롤의 액션을 실행시킨다.
ctrlActivate controlName






ctrlEnable

현재 실행중인 유저 다이얼로그상의 컨트롤의 사용가능/불가 여부를 지정한다. 사용할 수 없도록 설정하면 클릭할 수 없다.
ctrlEnable [idc, enable]
controlName ctrlEnable enable


  • ctrlEnabled
    현재 실행중인 다이얼로그 상의 해당 컨트롤의 사용가능여부를 리턴한다. 사용할 수 없는 컨트롤은 포커스가 맞춰지지 않는다.
    Boolean = ctrlEnabled (idc or controlName)


createDialog "slider2";
ctrlEnable [1600,false];



ctrlMapAnimAdd

맵 애니메이션에 다음 프레임을 추가합니다.
map ctrlMapAnimAdd frame
  • map = 기본 맵을 사용할 경우(openMap, forceMap)에 findDisplay 12 displayCtrl 51를 사용하면 된다.
  • frame = [time, zoom, position]
    • zoom : 0~1사이로 1이 되면 줌아웃, 0은 최대한 줌인이 되지만 시간 설정과 상관없이 바로 줌인이 된다.
    • position : Position2D

  • mapAnimAdd
    같은 역할을 합니다. 정확한 디스플레이와 컨트롤을 지정해주지 않아도 되서 사용하기 편하다. 단, forceMap과 함께 인트로와 해당 미션까지만 사용할 수 있고, outro에서는 사용할 수 없다.

    mapAnimAdd [time, zoom, position]

ctrlMapAnimCommit

맵 애니메이션을 재생합니다.
ctrlMapAnimCommit controlName
  • controlName = 기본 맵을 사용할 경우(openMap, forceMap)에 findDisplay 12 displayCtrl 51를 사용하면 된다.

  • mapAnimCommit
    같은 역할을 합니다. 컨트롤 지정을 안해줘도 되기때문에 편하게 살용할 수 있다. 단, forceMap과 함께 인트로와 해당 미션까지만 사용할 수 있고, outro에서는 사용할 수 없다.

    mapAnimCommit
player addAction ["openMap",
"openmap true;
mapanimadd [5, 0.1, markerpos 'marker1'];
MapAnimCommit;"];




ctrlMapAnimClear

맵 애니메이션을 모두 지웁니다.
ctrlMapAnimClear controlName

  • mapAnimClear
    같은 역할을 합니다. 단, forceMap과 함께 인트로와 해당 미션까지만 사용할 수 있고, outro에서는 사용할 수 없다.

    mapAnimClear



ctrlMapAnimDone

맵 애니메이션이 종료 되었는지를 확인한다.
Boolean = ctrlMapAnimDone controlName

  • mapAnimDone
    같은 역할을 한다. 단, forceMap과 함께 인트로와 해당 미션까지만 사용할 수 있고, outro에서는 사용할 수 없다.

    Boolean = mapAnimDone




ctrlMapScale

현재 지도의 축척을 리턴한다.
Number = ctrlMapScale controlName
  • controlName = 일반적인 맵을 사용할 경우(openMap,forceMap) findDisplay 12 displayCtrl 51을 사용하면 된다.
  • Number = ctrlMapAnimAdd로 설정한 Zoom값과 같은 값이 출력된다.

openMap true;
((findDisplay 12) displayCtrl 51) ctrlMapAnimAdd [10,0.0001,(position player)];
((findDisplay 12) displayCtrl 51) ctrlMapAnimAdd [10,1,(position player)];
ctrlMapAnimCommit ((findDisplay 12) displayCtrl 51);
[] spawn {
while{alive player} do {
hint str ctrlMapscale ((findDisplay 12) displayCtrl 51); sleep 0.1;};};



ctrlMapScreenToWorld

지도상의 화면 좌표를 인게임 좌표로 전환한다.
map ctrlMapScreenToWorld [x, y]

openMap true;
((findDisplay 12) displayCtrl 51) ctrlSetEventHandler ["mouseMoving","hint str (((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [_this select 1, _this select 2]);"];




ctrlMapWorldToScreen

인게임 좌표를 지도상의 화면 좌표로 전환한다. 
map ctrlMapWorldToScreen position

openMap true; [] spawn {
while{alive player} do {
hint str (((findDisplay 12) displayCtrl 51) ctrlMapWorldToScreen (position player)); sleep 0.1;};};



drawArrow

지도상에 화살표를 그린다. 지도에서 사용할때 미리 그려놓거나하면 초기화되기 때문에 EventHandler를 통해서 draw일때 넣어야 한다.
map drawArrow [position1, position2, color]




drawEllipse

지도상에 타원을 그린다. 예제 링크.
map drawEllipse [center, a, b, angle, color, fill]
  • fill = String, 이미지




drawIcon

자도상에 아이콘을 출력한다.
map drawIcon [texture, color, position, width, height, angle, text, shadow]




drawLine

지도상에 선을 긋는다.
map drawLine [position1, position2, color]




drawLocation

나중에 커맨드 그룹:Locations을 할때 다루면 될 것같다.
control drawLocation location



drawRectangle

지도상에 사각형을 출력한다.
map drawRectangle [center, a, b, angle, color, fill]

((findDisplay 12) displayCtrl 51) ctrlSetEventHandler["draw","((findDisplay 12) displayCtrl 51) drawArrow[getpos target1, getpos target2,[1,0,0,1]];
((findDisplay 12) displayCtrl 51) drawEllipse[getpos target1, 10,20,0,[0,1,0,1],''];
((findDisplay 12) displayCtrl 51)drawRectangle[getpos target2,20,10,0,[0,0,1,1],''];"];




ctrlParent

해당 컨트롤을 포함하고 있는 디스플레이를 리턴한다.
Display = ctrlParent controlName


ctrlCommit

지정된 시간 뒤에 컨트롤 애니메이션을 출력한다.
controlName ctrlCommit time


  • ctrlCommitted
    컨트롤 애니메이션이 완료됐는지를 확인한다.
    Boolean = ctrlCommitted controlName


ctrlSetPosition

해당 컨트롤의 위치와 사이즈를 정한다. 넓이와 높이는 기재하지 않아도 된다.
controlName ctrlSetPosition [x, y, w, h] 

  • ctrlPosition
    현재 컨트롤의 위치좌표를 [x, y, w, h]형태로 리턴한다.
    Array = ctrlPosition controlName

createDialog "slider2";
((findDisplay 1001) displayCtrl 1600) ctrlSetPosition [0,0];
((findDisplay 1001) displayCtrl 1600) ctrlCommit 10;




ctrlSetScale

해당 컨트롤의 크기를 설정한다.
controlName ctrlSetScale scale
  • scale : 1일때 정상크기.

  • ctrlScale
    해당 컨트롤의 현재 스케일을 리턴한다.
    Number = ctrlScale controlName

createDialog "button1";
((findDisplay 1002) displayCtrl 1600) ctrlSetScale 0.05;
((findDisplay 1002) displayCtrl 1600) ctrlCommit 10;




ctrlSetActiveColor

해당 컨트롤이 활성화 되었을때의 색상을 설정한다.
control ctrlSetActiveColor color 




ctrlSetBackgroundColor

해당 컨트롤의 배경색상을 설정한다.
control ctrlSetBackgroundColor color

createDialog "slider2";
((findDisplay 1001) displayCtrl 2200) ctrlSetBackgroundColor [1,1,1,1];


displaySetEventHandler

해당 디스플레이의 이벤트 핸들러를 설정한다. 해당 이벤트에 설정된 기본 코드가 제대로 실행되었는지 여부를 리턴한다.
display displaySetEventHandler [handlerName, function]
  • handlerName
    이 스크립트에서 사용할때는 위 링크에 명시되어있는 이벤트명 앞의 on을 떼고 사용해야한다. (예: onMouseMoving → MouseMoving) on을 붙이는건 config에서 사용할때이다.
    Scope부분을 보고 사용할 수 있는 것을 사용하면 된다.
  • function : 해당 핸들러에서 리턴해주는 내용을 _this를 사용해서 활용할 수 있다.


ctrlSetEventHandler

해당 컨트롤의 이벤트 핸들러를 설정한다.
이 함수는 해당 이벤트가 발동 된 뒤에 해당 코드가 제대로 작동되었는지의 여부에 따라서 true/false값을 리턴한다.
controlName ctrlSetEventHandler [handlerName, function]
  • handlerName
    이 스크립트에서 사용할때는 위 링크에 명시되어있는 이벤트명 앞의 on을 떼고 사용해야한다. (예: onMouseMoving → MouseMoving) on을 붙이는건 config에서 사용할때이다.
    Scope부분을 보고 사용할 수 있는 것을 사용하면 된다.
  • function : 해당 핸들러에서 리턴해주는 내용을 _this를 사용해서 활용할 수 있다.
openMap true;
((findDisplay 12) displayCtrl 51) ctrlSetEventHandler ["mouseMoving","hint str (((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [_this select 1, _this select 2]);"];




inGameUISetEventHandler

인게임 UI의 이벤트 핸들러를 설정한다.
inGameUISetEventHandler [handler name, function]



ctrlSetFade

해당 컨트롤의 투명도를 설정한다.
controlName ctrlSetFade fade

  • ctrlFade
    해당 컨트롤의 현재 Fade Factor값을 리턴한다.

    Number = ctrlFade controlName

createDialog "slider2";
((findDisplay 1001) displayCtrl 2200) ctrlSetFade 1;
((findDisplay 1001) displayCtrl 2200) ctrlCommit 10;


ctrlSetFocus

입력이 이루어지는 컨트롤을 설정한다.
ctrlSetFocus controlName

createDialog "edit1";
ctrlSetfocus ((findDisplay 1003) displayCtrl 1401)



ctrlSetFont

해당 컨트롤에서 사용되는 폰트를 설정한다.
controlName ctrlSetFont fontName

createDialog "edit1";
((findDisplay 1003) displayCtrl 1400) ctrlSetFont "LucidaConsoleB";
((findDisplay 1003) displayCtrl 1401) ctrlSetFont "Zeppelin33"




ctrlSetFontH1

해당 HTML 컨트롤에 H1 폰트를 설정한다.
controlName ctrlSetFontH1 fontName




ctrlSetFontH1B

해당 HTML 컨트롤에 굵은 H1 폰트를 설정한다. 
controlName ctrlSetFontH1B fontName





ctrlSetFontH2

해당 HTML 컨트롤에 H2 폰트를 설정한다. 
controlName ctrlSetFontH2 fontName




ctrlSetFontH2B

해당 HTML 컨트롤에 굵은 H2 폰트를 설정한다.  
controlName ctrlSetFontH2B fontName




ctrlSetFontH3

해당 HTML 컨트롤에 H3 폰트를 설정한다.  
controlName ctrlSetFontH3 fontName




ctrlSetFontH3B

해당 HTML 컨트롤에 굵은 H3 폰트를 설정한다.   
controlName ctrlSetFontH3B fontName




ctrlSetFontH4

해당 HTML 컨트롤에 H4 폰트를 설정한다.   
controlName ctrlSetFontH4 fontName




ctrlSetFontH4B

해당 HTML 컨트롤에 굵은 H4 폰트를 설정한다.    
controlName ctrlSetFontH4B fontName




ctrlSetFontH5

해당 HTML 컨트롤에 H5 폰트를 설정한다.    
controlName ctrlSetFontH5 fontName





ctrlSetFontH5B

해당 HTML 컨트롤에 굵은 H5 폰트를 설정한다.    
controlName ctrlSetFontH5B fontName




ctrlSetFontH6

해당 HTML 컨트롤에 H6 폰트를 설정한다.    
controlName ctrlSetFontH6 fontName




ctrlSetFontH6B

해당 HTML 컨트롤에 굵은 H6 폰트를 설정한다.     
controlName ctrlSetFontH6B fontName




ctrlSetFontHeight

해당 컨트롤의 폰트 크기를 설정한다.
controlName ctrlSetFontHeight height




ctrlSetFontHeightH1

해당 HTML 컨트롤에 H1 폰트 크기를 설정한다.
controlName ctrlSetFontHeightH1 height




ctrlSetFontHeightH2

해당 HTML 컨트롤에 H2 폰트 크기를 설정한다.
controlName ctrlSetFontHeightH2 height




ctrlSetFontHeightH3

해당 HTML 컨트롤에 H3 폰트 크기를 설정한다.
controlName ctrlSetFontHeightH3 height




ctrlSetFontHeightH4

해당 HTML 컨트롤에 H5 폰트 크기를 설정한다.
controlName ctrlSetFontHeightH4 height




ctrlSetFontHeightH5

해당 HTML 컨트롤에 H5 폰트 크기를 설정한다.
controlName ctrlSetFontHeightH5 height




ctrlSetFontHeightH6

해당 HTML 컨트롤에 H6 폰트 크기를 설정한다.
controlName ctrlSetFontHeightH6 height



ctrlSetFontPB

해당 HTML 컨트롤에 굵은 P 폰트를 설정한다.
controlName ctrlSetFontPB fontName




ctrlSetFontP height

해당 HTML 컨트롤에 굵은 P 폰트 크기를 설정한다. 
controlName ctrlSetFontP height




ctrlSetFontP name

해당 HTML 컨트롤에 P 폰트를 설정한다.
controlName ctrlSetFontP fontName

createDialog "html1";
((findDisplay 1003) displayCtrl 1000) ctrlSetFontH1 "LucidaConsoleB";
((findDisplay 1003) displayCtrl 1000) ctrlSetFontH1B "EtelkaNarrowMediumPro";
((findDisplay 1003) displayCtrl 1000) ctrlSetFontP 0.1;



ctrlSetForegroundColor

해당 컨트롤의 전면 색상을 설정한다.
display ctrlSetForegroundColor color
  • color : [ R, G, B, A ]



ctrlSetStructuredText

Strucktured Text 컨트롤을 통해서 출력될 내용을 설정한다.
controlName ctrlSetStructuredText structuredText




ctrlSetText

현재 활성화된 유저 다이얼로그나 디스플레이 상의 컨트롤이 갖고 있는 텍스트를 설정한다. 이 명령은 Static Text나 버튼, 데이트 라인, 이미지의 경로설정용 Active Text같은 곳에 쓰인다.
ctrlSetText [idc, text]
controlName ctrlSetText text

  • ctrlText
    현재 활성화 되어있는 다이얼로그의 컨트롤의 텍스트를 리턴한다. Static Text, 버튼, 에디트 라인, 이미지 경로를 위한 Active Text등에 쓰인다.
    String = ctrlText (idc or controlName)

createDialog "button1";
((findDisplay 1002) displayCtrl 1600) ctrlSetText "ctrlSetText Test"



ctrlSetTextColor

해당 컨트롤의 텍스트 색상을 설정한다.
display ctrlSetTextColor color




ctrlSetTooltip

해당 컨트롤의 툴팁 문구를 설정한다.
control ctrlSetTooltip text




ctrlSetTooltipColorBox

해당 컨트롤의 툴팁 외곽선의 색상을 설정한다.
display ctrlSetTooltipColorBox color




ctrlSetTooltipColorShade

해당 컨트롤의 툴팁 배경색을 설정한다.
display ctrlSetTooltipColorShade color




ctrlSetTooltipColorText

해당 컨트롤의 툴팁 문구의 색상을 설정한다.
display ctrlSetTooltipColorText color

createDialog "button1";
((findDisplay 1002) displayCtrl 1600) ctrlSetTooltip "Tooltip";
((findDisplay 1002) displayCtrl 1600) ctrlSetTooltipColorBox [0,0,0,0.5];
((findDisplay 1002) displayCtrl 1600) ctrlSetTooltipColorShade [1,0,0,1];
((findDisplay 1002) displayCtrl 1600) ctrlSetTooltipColorText[0,1,0,1];



ctrlShow

현재 활성화 되어있는 유저 다이얼로그의 컨트롤의 출력여부를 설정한다.
ctrlShow [idc, show]
controlName ctrlShow show

  • ctrlShown
    해당 컨트롤이 출력되고 있는지 여부를 리턴한다.
    Boolean = ctrlShown controlName

  • ctrlVisible
    현재 활성화되어있는 다이얼로그의 컨트롤이 출력되고 있는지 여부를 출력한다.
    Boolean = ctrlVisible idc



ctrlType

해당 컨트롤의 종류를 리턴한다.
Number = ctrlType controlName




disableUserInput

키보드와 마우스 입력 차단 여부를 설정한다. 일반적으로 화면전환시에 사용한다. 잘못 사용하면 프로그램을 종료해야한다.
disableUserInput state
  • true : 차단
  • false : 차단해제




enableEndDialog

onPlayerKilled.sqs를 통해서 설정된 카메라 움직임을 유저가 죽은 뒤 실행하도록 한다.
enableEndDialog




enableRadio

화면 좌측 하단에 출력되는 라디오 메세지의 출력여부를 설정한다. 
enableRadio state





forceMap

미션중에 맵을 출력시킨다. 현재 출력되고 있는 다른 UI나 Dialog와 상관없이 출력된다. 그냥 지도를 출력할때는 openMap을 사용한다.
forceMap show





lbAdd

최상위 유저 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보박스에 해당 문구를 추가하고추가된 내용이 갖는 일련번호를 리턴한다.
Number = lbAdd [idc, text]
control lbAdd text

  • lbText
    우선 순위가 가장 높은 다이얼로그상의 해당 idc가 갖는 리스트 박스나 콤보 박스상의 해당 일련번호가 갖는, 해당 컨트롤에서 보여지는 내용을 리턴한다.
    String = lbText [idc, index]
    String = control lbText index

createDialog "lb1"; lbAdd[1500,"1"];
lbAdd[1500,"2"];lbAdd[2100,"1"];
lbAdd[2100,"3"];
hint str (lbText[2100,1]);

  • lbClear
    가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 모든 내용을 지운다.
    lbClear idc



  • lbDelete
    가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 해당일련번호가 갖는 내용을 삭제한다.
    lbDelete [idc, index]
    control lbDelete index






lbSetColor

가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 해당 일련번호가 갖는 내용의 색상을 설정한다.
lbSetColor [idc, index, color]
control lbSetColor [index, color]

  • lbColor
    가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 내용중 해당 일련번호 문구 색상을 리턴한다.
    lbColor [idc, index]
    control lbColor index



lbSetCurSel

가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스에서 해당 일련번호의 아이템을 선택한다.
lbSetCurSel [idc, index]
control lbSetCurSel index

  • lbCurSel
    가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스에서 선택된 내용의 일련번호를 리턴한다.
    Number = lbCurSel idc



lbSetData

가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 해당 일련번호에 화면상으로 출력되지 않는 내용을 설정한다.
lbSetData [idc, index, data]
control lbSetData [index, data]

  • lbData
    가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 해당 일련번호에 속하는, 화면에 출력되지 않는 추가적인 내용을 리턴한다.
    String = lbData [idc, index]
    String = control lbData index

createDialog "lb1";
lbAdd[1500,"1"];
lbAdd[1500,"2"];
lbSetColor[1500,0,[1,0,0,1]];
lbSetData[1500,0,"Test1"];
lbsetData[1500,1,"Test2"];
((findDisplay 1005)displayCtrl 1500)ctrlSetEventHandler ["mouseButtonClick",
"ctrlsettext[1000,str (lbData[1500,lbCurSel 1500])];"];



lbSetPicture

가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 해당 일련번호에 그림을 설정한다.
lbSetPicture [idc, index, name]
control lbSetPicture [index, name]
  • name : 사진명.  미션 폴더와 d캠페인의 dtaExt와 하위폴더, 데이터 뱅크나 폴더를 검색한다.

  • lbPicture
    가장 우선순위가 높은 다이얼로그의 해당 idc를 갖는 리스트 박스나 콤보 박스의 해당 일련번호가 갖는 그림 이름을 리턴한다.
    lbPicture [idc, index]
    control lbSetPicture index


lbSetSelected

리스트 박스상에서 선택될 내용들을 설정한다. 복수설정이 가능하다.
control lbSetSelected [index, selected]

  • lbSelection
    리스트박스에서 선택된 내용들의 일련번호들을 리턴한다.
    Array = lbSelection control
  • lbIsSelected
    리스트박스의 해당 내용이 선택되었는지를 확인한다.
    Boolean = control lbIsSelected index




lbSize

우선 순위가 가장 높은 다이얼로그상의 해당 idc를 갖는 리스트박스나 콤보박스가 갖는 내용들의 총 개수를 리턴한다.
number = lbSize idc




lbSort

리스트박스의 내용들을 알파벳 순서대로 정리한다.
lbSort control

createDialog "lb1"; 
lbAdd[1500,"A"];  lbAdd[1500,"C"]; 
lbAdd[1500,"Z"];  lbAdd[1500,"X"];
lbsort ((findDisplay 1005) displayCtrl 1500);



lbSortByValue

리스트 박스를 설정해놓은 우선순위에 맞춰서 정렬한다. 우선순위로 설정한 값이 낮을 수록 위에 표시된다. 같은 값끼리는 랜덤하게 정렬된다.
lbSortByValue control

  • lbSetValue
    우선 순위가 가장 높은 다이얼로그상의 해당 idc를 갖는 리스트박스나 콤보박스 컨트롤에서 해당 일련번호상의 내용에 우선순위를 설정한다.
    lbSetValue [idc, index, value]
    control lbSetValue [index, value]
  • lbValue
    우선 순위가 가장 높은 다이얼로그상의 해당 idc를 갖는 리스트박스나 콤보박스 컨트롤에서 해당 일련번호상의 내용이 갖는 우선순위를 리턴한다.
    Number = lbValue [idc, index]
    Number = control lbValue index

createDialog "lb1"; 
lbAdd[1500,"A"];  lbAdd[1500,"C"]; 
lbAdd[1500,"Z"];  lbAdd[1500,"X"];
lbsetvalue [1500,2,0];lbsetvalue [1500,1,1];
lbsetvalue [1500,3,1];lbsetvalue [1500,0,2];
lbSortByValue ((findDisplay 1005) displayCtrl 1500);



lineBreak

Structured Text상에 줄 바꿈을 넣는다.
Structured Text = lineBreak



lnbAddArray

배열 형태로 리스트에 내용을 추가한다. RscListNBox형태의 컨트롤에 대한 것으로 생각된다.
Number = lnbAddArray [IDC,[[[text,text],[value,..],[data,..]],[[text,text],[value,..],[data,..]],]]




lnbAddColumn

해당 리스트 박스나 콤보 박스에 해당 문구의 내용을 추가하고 일련번호를 리턴한다.
Number = control lnbAddColumn position





lnbClear

2D 리스트 박스의 모든 내용을 삭제한다.
lnbClear idc




lnbDeleteColumn

해당 일련번호의 내용을 삭제한다.
lnbDeleteColumn [idc,index]




lnbDeleteRow

리스트 박스나 콤보 박스에서 해당 열을 지운다.
control lnbDeleteRow row




lnbPicture

2D 리스트 박스 상의 해당 위치에 있는 그림의 이름을 리턴한다.
String = lnbPicture [idc, [row, column]]
String = control lnbPicture [row, column]




lnbSetPicture

2D 리스트 박스상의 해당 위치에 그림을 설정한다. 
lnbSetPicture [idc, [row, column], name]
  • name : 사진명.  미션 폴더와 d캠페인의 dtaExt와 하위폴더, 데이터 뱅크나 폴더를 검색한다.


댓글 없음:

댓글 쓰기