AutoHotKey(오토핫키) 설명서 Gui,Add,Tab

Posted by 발전소장
2014. 8. 14. 01:00 AutoHotKey/Commands

Gui,Add,Tab

GUI윈도우에 탭 변환 컨트롤을 추가한다

Gui, Add, Tab [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
V그리고 변수명을 지정했을 경우, 「GUI,Submit」(이)나GuiControlGet커멘드로 선택되고 있는 페이지명을 취득할 수 있다.
고유의 옵션에 대해서는, 아래와 같이 참조.
Text 「|」(으)로 단락지어 선택 가능 항목을 열거한다.
항목의 뒤의 「|」(을)를 두 개로 하면, 그 항목이 초기 상태로 선택된 상태가 된다.(례:「Default||aaa|bbb」 「aaa|bbb|Default||」)

고유의Option

Wrap
탭이1행에 들어가지 않을 때, 복수행으로 표시한다.(디폴트)
「-Wrap」라고 지정하면, 복수행으로 하지 않고, 화살표 버튼으로 스크롤 시키는 형식이 된다.
Buttons
탭을 버튼형으로 표시한다.
탭 페이지 부분의 입체적인 테두리는 표시되지 않게 된다.
탭이 복수행 때, 위의 행의 탭을 선택해도, 행이 바뀌지 않는다.
Left
Right
Bottom
탭을 탭 페이지의 다음이 아니고, 왼쪽/우/아래에 표시한다.
좌/오른쪽으로 표시하는 경우, 「-Wrap」(은)는 사용할 수 없다.또, 커스텀 배경색을 사용하고 있다고 문자가 정상적으로 묘화 되지 않기 때문에, 「-BackGround」등에서 무효로 해 줄 필요가 있다.
AltSubmit
Gui,Submit(이)나GuiControlGet그리고 취득되는 정보를 변경한다.
통상은, 선택된 페이지의 캡션이 취득되지만, 이 옵션을 지정하면, 선택된 페이지의 번호가 취득된다.(1번째가 「1」, 미선택시는 공문자열)
ChooseN
N에 최초로 선택되는 항목의 번호를 지정한다.

Remarks

탭 콘트롤에서는,Ctrl+PageDown/Ctrl+PageUp(이)나Ctrl+Tab/Ctrl+Chift+Tab그리고 탭 페이지를 교체된다.

Tab컨트롤을 배치하면, 그 탭 페이지상에 컨트롤을 배치할 수 있게 된다.
Gui, Tab서브 커멘드로 배치처를 변경할 수 있다.
각 탭 페이지에 최초의 컨트롤을 배치할 때,X,Y옵션에 의한 좌표 지정을 생략 하면, 탭 페이지의 좌상에 배치된다.
또,X+n/Y+n옵션으로 상대 좌표를 지정하면, 탭 페이지의 좌상으로부터의 상대 좌표가 된다.

탭 페이지상의 컨트롤은, 탭 페이지에서는 봐 내 배치하는 일도 가능.
초과하고 있는 컨트롤은, 배치된 탭 페이지가 액티브한 때 마셔 표시된다.

각 윈도우에 배치할 수 있다Tab컨트롤수의 상한은255, 각Tab컨트롤의 페이지수의 상한은256페이지.

Related

GUI, Gui,Tab, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,StatusBar

Posted by 발전소장
2014. 8. 14. 01:00 AutoHotKey/Commands

Gui,Add,StatusBar

GUI윈도우에 상태 바를 추가한다

Gui, Add, StatusBar [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
반드시 윈도우의 하단에 배치된다고 하는 특성상, 위치나 사이즈에 관한 옵션은 의미를 만들어내지 않는다.
G그리고 라벨명을 지정하면, 상태 바를 클릭했을 때에 써브루틴이 실행되도록 할 수 있다.
Text 최초로 표시되는 텍스트를 지정한다.

고유의 옵션

0x800
마우스 커서로 포인트 했을 때에 툴 팁 텍스트를 표시한다.
0x100
우단에 윈도우를 리사이즈하기 위한 안주를 표시한다.
상태 바를 추가하기 전에 「Gui,+Resize」(으)로 리사이즈 가능하게 해 두면, 자동적으로 이 스타일이 추가된다.

상태 바 조작 함수

상태 바의 텍스트나 아이콘을 변경하려면 , 이하의 함수를 사용한다.
이러한 함수에서는,디폴트GUI윈도우위의 상태 바가 조작된다.

SB_SetParts([Width1, Width2, ... Width255])
상태 바를 복수의 파트에 분할한다.
각 인수에는, 각 파트의 폭을 지정한다.
인수의 수+1의 파트가 만들어진다.마지막 파트에는, 우측의 나머지 스페이스 모두가 사용된다 .
인수를 아무것도 지정하지 않으면 파트는 하나만으로 된다.
성공하면 상태 바의 윈도우 핸들이, 실패하면0하지만 돌려주어진다.
SB_SetText(NewText [, PartNumber, Style])
표시하는 텍스트를 변경한다.
텍스트를2개의Tab문자로3개로 나누면, 각각 파트안의 좌단, 중앙, 우단에 표시된다.
NewText에 새롭게 표시되는 텍스트를 지정한다.
PartNumber(으)로 텍스트를 변경하는 파트의 번호(왼쪽에서1,2,3...)(을)를 지정한다.(생략시는1)
Style(을)를1(으)로 하면, 테두리가 평면적으로 된다.
Style(을)를2(으)로 하면, 테두리가 앞으로 밀어낸 것 같은 표시가 된다.
Style(을)를0(으)로 하면, 통상이 움푹 들어간 것 같은 테두리가 된다.(디폴트)
성공하면1하지만, 실패하면0하지만 돌려주어진다.
SB_SetIcon(Filename [, IconNumber, PartNumber])
표시되는 아이콘을 변경한다.
FileName에 아이콘을 포함한 파일을 지정한다.
EXE(이)나DLL등 복수의 아이콘을 포함한 파일에서는,IconNumber에 아이콘의 번호를 지정한다.(생략시는1)
PartNumber(으)로 아이콘을 변경하는 파트의 번호(왼쪽에서1,2,3...)(을)를 지정한다.(생략시는1)
성공시는 아이콘의 핸들이, 실패시는0하지만 돌려주어진다.
덧붙여 설정된 아이콘이 다른 아이콘으로 변경될 때,AutoHotkey에 의해서 낡은 아이콘의 핸들은 해방된다.(SB_SETICON메세지(0x40F)(을)를 보내 직접 변경했을 경우는 해방되지 않는다)

이벤트

「G」옵션으로 라벨명을 지정해 있으면, 아래와 같은 이벤트가 발생할 때마다 써브루틴이 실행된다.
이 때,A_GuiEvent변수에 이벤트명이,A_EventInfo변수에 조작된 파트의 번호가 격납된다.

Normal
왼쪽 클릭되었다
RightClick
오른쪽 클릭되었다
DoubleClick
더블 클릭 되었다
R
오른쪽 더블 클릭 되었다

Remarks

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,Slider

Posted by 발전소장
2014. 8. 14. 00:59 AutoHotKey/Commands

Gui,Add,Slider

GUI윈도우에 슬라이드 바를 추가한다

Gui, Add, Slider [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
V그리고 변수명을 지정하면, 현재의 위치를 수치로 취득할 수 있다.
G그리고 라벨명을 지정하면, 슬라이더의 이동을 완료했을 때(키나 mouse button를 떼어 놓았을 때)에 써브루틴이 실행되도록 할 수 있다.
써브루틴이 실행될 때는, 자동적으로V그리고 지정한 변수에 값이 취득된다.
Text 초기치를 수치로 지정한다.
생략시는 「0」(0하지만 범위외의 경우, 상한이나 하한의0에 가까운 편의 값)

고유의Option

AltSubmit
슬라이더가 조금이라도 이동하면G옵션으로 지정한 써브루틴을 실행한다.
이 때,A_GuiControlEvent변수에는 이하의 것이 격납된다.
0
좌/상키로 값을 줄였다
1
우/한 키로 값을 늘렸다
2
PageUp키로 값을 크게 줄였다
3
PageDown키로 값을 크게 늘렸다
4
마우스로의 드러그가 종료했는지, 휠로 값을 변경했다
5
마우스로의 드러그 도중
6
Home키로 최소치로 이동했다
7
End키로 최대치로 이동했다
이것과는 별도로, 값의 변경이 끝났을 때에는A_GuiControlEvent하지만Normal의 이벤트도 실행된다.
Invert
설정·취득되는 값의 대소의 방향을 반대로 한다.
통상은 왼쪽 혹은 위가 작은 측에 되지만,Invert옵션을 지정하면 오른쪽 혹은 아래가 작아진다.
ToolTip옵션으로 표시되는 툴 팁의 값은, 역전되지 않는다.
Vertical
수직 슬라이드 바로 한다.
위 쪽이 작은 값이 된다.
RangeL-H
최소치와 최대치를 설정한다.디폴트는 「0-100」
L에 최소치를,H에 최대치를 지정.(례:「Range0-100」)
부의 값을 지정하는 일도 가능(례:「Range-100--50」)
반드시L보다H쪽이 크지 않으면 안 된다.
바의 좌단이L, 우단이H에 상당하게 된다.
LineN
N에 커서 키를 눌렀을 때에 변경되는 값의 양을 지정한다.(례:「Line10」)
지정이 없었던 경우는,1두개증감한다.
PageN
N에PageUp/PageDown(을)를 눌렀을 때에 변경되는 값의 양을 지정한다.(례:「Page20」)
지정이 없었던 경우는,Range그리고 지정한 범위의1/5.
Center
슬라이더아래를 화살표와 같이 날카롭게 할 수 없다.
Left
슬라이더아래/오른쪽이 아니고, 위/왼쪽을 날카롭게 할 수 있다.
TickIntervalN
N에 눈금의 간격을 지정한다.(례:「TickInterval10」)
지정하지 않았던 경우, 최대치와 최소치의 부분 밖에 눈금은 표시되지 않는다.
NoTicks
눈금을 표시하지 않는다
ThickN
N에 슬라이더의 크기를 지정한다.(례:「Thick20」)
ToolTip
ToolTipRight
ToolTipBottom
슬라이더를 드러그 하고 있을 때 현재의 값을 툴 팁 표시한다
Right/Bottom(을)를 붙이면, 표시 위치를 변경할 수 있다.
Right(은)는 수직 슬라이드 바용,Bottom(은)는 수평 슬라이드 바용.
Buddy1N
지정한 컨트롤을 슬라이드 바의 좌단/상단에 재배치한다.
N에 다른 컨트롤에V옵션으로 할당할 수 있었던 변수명을 지정한다.
Buddy2N
지정한 컨트롤을 슬라이드 바의 우단/하단에 재배치한다.
N에 다른 컨트롤에V옵션으로 할당할 수 있었던 변수명을 지정한다.

Remarks

슬라이드 바는, 마우스외, 마우스 휠이나 커서 키,PageUp/PageDown/Home/End키에서도 조작할 수 있다.

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,Radio

Posted by 발전소장
2014. 8. 14. 00:59 AutoHotKey/Commands

Gui,Add,Radio

GUI윈도우에 라디오 버튼을 추가한다

Gui, Add, Radio [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
V그리고 변수명을 지정해, 「GUI, Submit」(을)를 실행하는 것으로, 그 라디오 버튼이 체크되고 있는지 어떤지를 취득할 수 있다.체크되어 있지 않으면 「0」, 체크되고 있으면 「1」(이)가 취득된다.
다만, 같은 그룹의Radio 중 하나 밖에 변수가 설정되어 있지 않은 경우, 그 변수에 몇번째의Radio에 체크가 들어가 있을지가 격납된다.
G그리고 써브루틴 라벨명을 지정하는 것으로, 체크 상태를 바꾸었을 때에 실행되는 써브루틴을 설정할 수 있다.
Text 「&A」(와)과 같이&+영숫자를 넣는 것으로, 액세스 키를 설정할 수 있다.
액세스 키는 「A」(와)과 같이 언더라인 첨부의 문자로 표시된다.
Alt+문자 키로, 그 컨트롤에 체크를 넣을 수 있다.

고유의Option

Checked
최초부터 체크된 상태로 한다.
Checked0/Checked1(으)로 하는 것으로, 체크 없음/를 설정할 수도 있다.이것은,GUI, Submit등에서 얻을 수 있는 체크 상태를 변수X에 격납해 「Checked%X%」(와)과 같이 해 사용한다.
Group
직전의Radio(와)과 같은 그룹이 아니고, 새로운 그룹에 소속시킨다

Remarks

라디오 버튼은 체크 박스를 닮아 있지만, 같은 그룹에 속하는 라디오 버튼 중 하나 밖에 체크를 할 수 없다.
Radio의 그룹의 어떤 것인가에 체크를 하면, 같은 그룹에 속하는 것 외의Radio(은)는 모두 체크가 빗나간다.

연속해 추가했다Radio(은)는 자동적으로 하나의 그룹 풍부해 하신다.
도중에 다른 컨트롤을 추가하면, 다음에서는 새로운 그룹이 된다.

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,Progress

Posted by 발전소장
2014. 8. 14. 00:58 AutoHotKey/Commands

Gui,Add,Progress

GUI윈도우에 progress bar를 추가한다

Gui, Add, Progress [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
고유의 옵션은 아래와 같이 참조.
Text 초기치를 수치로 지정한다.
생략시는 「0」(0하지만 범위외의 경우, 상한이나 하한의0에 가까운 편의 값)

고유의Option

Vertical
수직 progress bar로 한다.
Cn
바의 색을 지정.
n에는색의 이름인가RRGGBB형식의16진수치를 지정한다.(례:「CRed」 「CFF0000」)
BackgroundN
배경의 색을 지정.
N에는색의 이름인가RRGGBB형식의16진수치를 지정한다
RangeL-H
최소치와 최대치를 설정한다.디폴트는 「0-100」
L에 최소치를,H에 최대치를 지정.(례:「Range0-100」)
부의 값을 지정하는 일도 가능(례:「Range-100--50」)
반드시L보다H쪽이 크지 않으면 안 된다.
바의 좌단이L, 우단이H에 상당하게 된다.
-Smooth
값을 연속치가 아니고, 네모진 블록의 연속으로 나타낸다.
1블록의 폭은11피크셀로, 그것보다 세세한 값은 절상할 수 있다.

Remarks

Windows(이)나IE의 버젼이 낡으면 일부의 옵션을 이용할 수 없다.

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,Picture

Posted by 발전소장
2014. 8. 14. 00:58 AutoHotKey/Commands

Gui,Add,Picture

GUI윈도우에 화상을 표시하는 컨트롤을 추가한다

Gui, Add, Picture [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
W(와)과H(을)를 지정하지 않으면 화상의 실제의 사이즈로 표시된다.종횡의 비율을 유지해 확대/축소하려면 ,W인가H의 다른 한쪽을 보통으로 설정해, 이제(벌써) 다른 한쪽을 「h-1」(이)나 「w-1」(와)과 같이 지정한다.
G그리고 써브루틴 라벨명을 지정하는 것으로, 화상을 클릭했을 때에 실행되는 써브루틴을 설정할 수 있다.
고유의 옵션은 없다.
Text 화상 파일명을 지정한다.상대 패스로 지정했을 경우, 상대 패스로 지정했을 경우는,%A_WorkingDir%(을)를 기준으로 한 패스가 된다.

고유의Option

IconN
N에 아이콘 번호를 지정.실행 파일이나DLL파일에 복수의 아이콘이 포함되는 경우,2번째 이후의 아이콘을 표시한다.
이 기능을 사용했을 경우,AltSubmit옵션은 사용할 수 없다.
AltSubmit
GDIPlus.dll(을)를 사용하고 묘화를 실시한다.
화상의 투과색이 유효하게 되어,BackgroundTrans옵션을 모두 지정하면 아래의 컨트롤을 투과 표시할 수 있게 된다.
복수 사이즈의 화상을 가지는 아이콘 파일의 경우, 통상은32*32의 이미지가 우선되지만,AltSubmit(을)를 사용하면16*16의 이미지가 우선된다.
BackgroundTrans
투과 이로베분을 투과 해, 아래에 배치된 컨트롤이 보이도록(듯이) 한다.
나중에 해제하는데는,GuiControl그리고 「+Background」(을)를 설정한다.
지정하지 않았던 경우, 투과 이로베분은 컨트롤의 배경색이 된다.

Remarks

아이콘(*.ico), 커서(*.cur), 애니메이션 커서(*.ani), 실행 파일이나DLL파일내의 아이콘을 표시할 수 있다.
실행 파일이나DLL파일내의 아이콘으로, 복수의 사이즈의 이미지를 포함한 경우, 항상 최대의 이미지가 로드 된다.
실행 파일이나DLL파일내의 아이콘은,BackgroundTrans에 의한 배후 컨트롤 투과는 유효하게 안 된다.

BMP/JPEG/GIF/PNG/TIF/ICO, 그 외 ,OS의GDI+엔진이 서포트하고 있는 형식의 화상을 표시할 수 있다.

다른 컨트롤의 뒤로 배경으로서 표시하고 싶은 경우는,Picture컨트롤을 최초로 배치하면 좋다.
다만,Picture컨트롤에G옵션으로 써브루틴을 할당할 수 있고 있는 경우, 위에 배치된 컨트롤을 클릭했을 때에도 그 써브루틴이 실행되어 버린다.
이것을 회피하려면 ,Picture컨트롤을 다른 컨트롤보다 후에 배치해,Option에 「0x4000000」(WS_CLIPSIBLINGS)(을)를 설정한다.

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,MonthCal

Posted by 발전소장
2014. 8. 14. 00:58 AutoHotKey/Commands

Gui,Add,MonthCal

GUI윈도우에 캘린더 컨트롤을 추가한다

Gui, Add, MonthCal [, Options, SelectedDay]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
공통의 옵션에 대해서는,Gui,Add의 항참조.
고유의 옵션에 대해서는 후술.
V그리고 변수명을 지정해, 「GUI, Submit」(을)를 실행하는 것으로, 현재의 값을YYYYMMDDHH24MISS의 서식그리고 취득할 수 있다.
G그리고 써브루틴명을 지정하면, 일자 시각이 조작에 의해서 변경될 때 마다 그 써브루틴이 실행된다.
SelectedDay 최초로 선택되고 있는 일자를YYYYMMDDHH24MISS의 서식그리고 지정한다.
미지정시는 현재의 일자가 된다.
「20050101-20050107」(와)과 같이2개의 일자를 하이픈으로 단락지어 지정하면, 그 범위가 선택된 상태가 된다.이 때, 자동적으로Multi옵션이 유효하게 된다.

고유의Option

Rn
n에 행수를 지정한다(례:「R3」)
이 수만큼 세로에 복수 월분의 캘린더가 표시된다.
W-n
n에 옆의 수를 지정한다(례:「W-4」)
이 수만큼 옆에 복수 월분의 캘린더가 표시된다.
AltSubmit
값이 변경되는 마다 만이 아니고, mouse button에 의한 조작을 할 때 마다도G옵션으로 지정한 써브루틴이 실행되도록(듯이) 한다.
이 때,A_GuiEvent변수에는 이하의 것이 격납된다.
Normal
선택 일자가 변경되었다
1
일자 부분이 클릭되었다
2
컨트롤의 어딘가가 클릭되었다
일자의 클릭에 의해서 선택이 변경되었을 경우, 「2」 「Normal」 「1」의 순서로3회써브루틴이 실행된다.
벌써 선택된 일자를 클릭했을 경우, 「2」 「1」의 순서로2회실행된다.
RangeMin-Max
Min(와)과Max에 선택 가능한 범위의 하한과 상한을YYYYMMDDHH24MISS의 서식그리고 설정한다.(례:「Range20050101-20051231」)
상한이나 하한의 다른 한쪽만을 지정할 수도 있다(례:「Range20050101」 「Range-20051231」)
지정되지 않았던 경우, 상한은9999년12월31일, 하한은1601년1월1일이 된다.
Multi
복수가 연속한 일자를 선택 가능하게 한다.
클릭하면서 드러그 하는지,Shift+클릭으로 범위 선택을 할 수 있다.
Multi옵션이 지정되어 있는 경우,V옵션으로 지정된 변수에는, 「20050101-20050107」(와)과 같이 선택 개시 일자와 선택 종료 일자를 하이픈으로 단락지은 문자열이 격납된다.
선택되고 있는 일자가1일 뿐이어도, 「20050101-20050101」(와)과 같이 하이픈으로 단락지어져 격납된다.
4
행의 왼쪽으로 그 해에 있어서의 주의 번호를 표시한다.
1월4일을 포함한 주가 주번호1(이)가 된다.
8
현재의 일자를 붉은 선으로 둘러싸는 것을 없앤다
16
하부의 「오늘」의 표시를 없앤다

Remarks

「w」옵션이나 「h」옵션을 지정하지 않으면 컨트롤은 캘린더 하나가 막 들어가는 크기가 된다.
폭이나 높이를 크게 하면, 자동적으로 복수의 달이 표시된다.
표시되는 달의 최대수는, 현재의 해의1달부터12달까지의12개월이다. 「R」옵션이나 「W-」옵션으로 세로나 가로에 임의의 월수를 표시시킬 수 있다.

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,ListView

Posted by 발전소장
2014. 8. 14. 00:57 AutoHotKey/Commands

Gui,Add,ListView

GUI윈도우에 리스트뷰콘트로르를 추가한다.열이나 항목의 조작을 실시하는 편입 함수도 준비되어 있다.

Gui, Add, ListView [, Options, ColumnTitles]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
공통의 옵션에 대해서는,Gui,Add의 항참조.
고유의 옵션은 후술.
「V」옵션으로 변수를 관련지어도, 변수에 정보가 격납될 것은 없다.다만,GuiControl등의 커멘드로 컨트롤을 지정하기 위해서 이용할 수 있다.
G그리고 라벨명을 지정하면, 각종의 조작을 할 때 마다 써브루틴이 실행된다.자세한 것은이벤트시에를 참조.
ColumnTitles 상세 표시의 열의 표제를 「|」(으)로 단락지어 열거한다.(례:「이름|사이즈|갱신 일시」)
Gui,+Delimiter`n」(와)과 같이 하면, 단락 문자를 「|」이외의 것(이 예에서는 개행)(으)로 변경할 수 있다.
각 렬의 폭의 초기 상태는, 텍스트가 들어가는 폭이 된다.

고유의Option

Report
표시 스타일을 상세 표시로 한다.
디폴트이며,Gui,Add그럼 사용하지 않는다.
다른 스타일로부터 변경하고 싶을 때에 「GuiControl,+Report,List」등으로 해서 사용한다.
Icon
표시 스타일을 큰 아이콘 표시로 한다.
IconSmall
표시 스타일을 작은 아이콘 표시로 한다
Tile
표시 스타일을 큰 일람표시로 한다(XP이후 마셔 유효)
List
표시 스타일을 일람표시로 한다
AltSubmit
「G」옵션으로 지정된 써브루틴이 불려 간다이벤트의 수를 확장한다.
자세한 것은 후술.
cCOLOR
COLOR에 문자색을 지정한다.(례:「cFF9900」 「cRed」 「cDefault」)
RRGGBB형식의 칼라 코드나색의 이름, 「Default」(을)를 지정할 수 있다.
BackgroundCOLOR
COLOR에 배경색을 지정한다.(례:「BackgroundFF9900」 「BackgroundRed」 「BackgroundDefault」)
RRGGBB형식의 칼라 코드나색의 이름, 「Default」(을)를 지정할 수 있다.
이 옵션이 없는 경우,Gui,Color의 지정에 의존한다.
Checked
리스트 항목에 체크 박스를 붙인다.
CountROWS
ROWS에 예측되는 항목수를 지정한다(예:「Count1000」)
항목이 추가될 때, 이 수치에 따라서 정리해 메모리를 확보한다.
너무 적으면 대량의 항목을 추가할 때에 시간이 걸려 버리지만, 너무 많이 하면 메모리 소비가 쓸데 없게 증가한다.
Grid
상세 표시시에 행·렬을 단락짓는 선을 표시한다
Hdr
상세 표시시에 열의 표제를 표시한다.
디폴트로 유효하게 되어 있다.
「-Hdr」(으)로 표제를 비표시로 할 수 있다.
LVXXXXXXXX
리스트뷰의 확장 스타일(LVS_EX_*)(을)를 설정한다. XXXXXXXX에 확장 스타일의 번호를 지정한다.(례:「LV0x100」=LVS_EX_FLATSB)
LV0x10
상세 표시시에 열표제의 부분을 드러그 하고 열을 바꿔 넣는 것을 가능하게 한다.
디폴트로 유효하게 되어 있다.
「-LV0x10」(으)로 열교체 금지로 할 수 있다.
열을 바꿔 넣어도, 리스트뷰 조작 함수등에서 취급하는 열번호는 변하지 않다.
LV0x20
상세 표시시에, 행의 어디를 클릭해도 항목을 선택할 수 있는 행 선택으로 한다.
디폴트로 유효하게 되어 있다.
「-LV0x20」(으)로1번째의 텍스트를 클릭하지 않으면 선택할 수 없게 한다.
Multi
복수 선택을 가능하게 한다.
디폴트로 유효하게 되어 있다.
「-Multi」(으)로 하나 밖에 선택할 수 없게 할 수 있다.
NoSortHdr
열의 표제를 클릭하고, 그 열의 내용으로 나란해져 바꾸는 기능을 무효로 한다.
표제 부분은 평탄한 표시가 되어, 클릭해도 「G」옵션으로 지정한 써브루틴은 불려 가지 않게 된다.
이 옵션은,GuiControl커멘드로 나중에 변경할 수 없다.
NoSort
열의 표제를 클릭하고, 그 열의 내용으로 나란해져 바꾸는 기능을 무효로 한다.
표제 부분의 표시는 그대로, 클릭되면 「G」옵션으로 지정한 써브루틴이 불려 간다.
ReadOnly
텍스트를 변경 금지로 한다.
디폴트로 유효하게 되어 있다.
「-ReadOnly」라고 하면,1번째의 부분을 클릭하거나F2키를 누르는 것으로 내용을 편집할 수 있게 된다.
편집을 하면, 「G」옵션으로 지정한 써브루틴이 불려 간다.
WantF2
「-ReadOnly」(이)가 설정되어 있을 때,F2키로 텍스트를 편집할 수 있도록 한다.
디폴트로 유효하게 되어 있다.
「-WantF2」라고 하면,F2키가 밀려도 편집 상태가 되지 않게 할 수 있다.
Rn
n에 행수를 수치로 지정한다(례:「R10」)
컨트롤의 높이는, 이 행수가 들어가는 높이가 된다.
Icon표시로 했을 경우 등은, 항목이 세로에 이 수만큼 들어가는 높이가 된다.
Sort
항목이 추가될 때1번째의 내용으로 자동적으로 승순 소트 되도록(듯이) 한다.
명시적으로 다른 열로 소트를 실시하면, 줄 순서가 이상해진다.
SortDesc
항목이 추가될 때1번째의 내용으로 자동적으로 내림차순 소트 되도록(듯이) 한다.
명시적으로 다른 열로 소트를 실시하면, 줄 순서가 이상해진다.

ListView조작용 편입 함수

리스트뷰를 조작하기 위해서, 다수의 기능이 함수로서 준비되어 있다.
LV계의 함수가 조작 대상으로 하는 리스트뷰는,디폴트GUI윈도우위의 카렌트리스트뷰이다.
카렌트리스트뷰는, 통상은 마지막에 항목을 추가한 리스트뷰이지만, 「Gui,ListView,LVName」(와)과 같이 해 변경할 수 있다.
GUI윈도우가 존재하지 않거나, 디폴트GUI윈도우상에 리스트뷰콘트로르가 존재하지 않았던 경우,LV계 함수는 「0」(을)를 돌려준다.

이러한 함수로 사용되는 「항목 번호」는, 맨 위가 「1」(이)가 된다.

이미지 리스트

리스트 등에 표시하는 아이콘은, 이미지 리스트에 등록해 둔다.
IL_Create그리고 이미지 리스트를 작성해,LV_SetImageList그리고 리스트뷰에 할당할 필요가 있다.
큰 아이콘과 작은 아이콘은 다른 이미지 리스트 로 유지한다.

IL_Create([InitialCount, GrowCount, IsLargeIcons])
이미지 리스트를 신규 작성한다.
InitialCount그리고 최초로 메모리를 확보해 두는 아이콘의 수를,GrowCount그리고 메모리를 확보되어 있는 아이콘수를 넘었을 때에 새롭게 확보하는 수를 지정할 수 있다.디폴트는 각각2(와)과5이다.
IsLargeIcons(을)를 「1」(으)로 하면, 작은 아이콘은 아니고 큰 아이콘을 보관 유지하는 이미지 리스트를 작성한다.
작성에 성공하면, 고유의 번호를 할당할 수 있어 그 번호가 돌려주어진다.다른 함수로ImageListID인수에 사용하므로, 반드시 변수에 대입해 둘 필요가 있다.작성에 실패했을 경우는0하지만 돌려주어진다.
LV_SetImageList(ImageListID [,Type])
리스트뷰에ImageListID그리고 지정한 이미지 리스트를 할당한다.
Type에 「0」(을)를 지정하면 큰 아이콘에, 「1」(을)를 지정하면 작은 아이콘에 할당할 수 있다.또, 「2」(을)를 지정하면 상태 아이콘에 할당할 수 있지만, 상태 아이콘에 관한 함수는 현재 준비되어 있지 않다.
Type(을)를 생략 했을 경우는,IL_Create의IsLargeIcons(으)로의 지정에 따라 큰 아이콘인가 작은 아이콘에 할당할 수 있다.
돌아가 값은 그것까지 리스트뷰에 할당할 수 있고 있던 이미지 리스트의ID(이)가 된다.(없으면 「0」)
IL_Add(ImageListID, Filename [, IconNumber, ResizeNonIcon])
ImageListID그리고 지정한 이미지 리스트에Filename그리고 지정한 파일을 추가한다.
추가할 수 있는 파일 타입은,ICO/CUR/ANI/EXE/DLL/BMP/GIF/JPG/PNG/TIF/EXIF/WMF/EMF이다.
EXE/DLL그럼,IconNumber에 아이콘 그룹의 번호를 지정한다.생략시는1번째가 된다.
BMP/GIF/JPG/PNG/TIF/EXIF/WMF/EMF의 화상 파일에서는,IconNumber에 투과색으로 지정하는 색을16진수로 지정한다(례:「0xFFCC99」).
PNG등의 투과색·알파 채널 정보를 포함한 파일에서는 지정할 필요는 없다.
ResizeNonIcon(을)를1(으)로 하면, 화상을 아이콘의 사이즈에 리사이즈 한다.생략시나 「0」(으)로 했을 경우는, 화상의 좌상으로부터 아이콘의 사이즈 만큼만이 잘라진다.
추가에 성공하면, 아이콘을 지정할 경우에 사용하는 아이콘 번호가 돌려주어진다.실패시는 「0」(이)가 돌려주어진다.
IL_Destroy(ImageListID)
ImageListID그리고 지정한 이미지 리스트를 파기한다.

열조작

LV_ModifyCol([ColumnNumber, Options, ColumnTitle])
ColmnNumber번째의 열의 옵션을Options에, 표제 텍스트를ColmunTitle(으)로 변경한다.
Options에는 후술의 옵션을 반각 스페이스 혹은Tab문자로 단락짓고 문자열로서 준다.
ColmunTitle(을)를 생략 하면, 옵션만이 변경된다.
ColumunNumber만을 지정하면, 그 열의 폭을 모든 항목의 텍스트가 표시 다 할 수 있도록(듯이) 조절한다.
모든 인수를 생략 하면, 모든 열의 폭을 조절한다.
실패하면 「0」(이)가, 성공하면 「1」(이)가 돌아간다.
LV_InsertCol(ColumnNumber [, Options, ColumnTitle])
새로운 열을ColumnNumber번째에 삽입한다.
ColumnNumber하지만 존재하는 렬수보다 컸던 경우, 제일 마지막에 추가된다.
Options에는 후술의 옵션을,ColumnTitle에는 열의 표제를 지정한다.
새롭게 추가된 열은, 각 항목의 텍스트는 비운다.
다만,ColumnNumber하지만1의 경우는, 전의1번째의 내용이 계승되어야 본전1번째였던 열이 비운다.
실패하면 「0」(이)가, 성공하면 추가된 열의 번호가 돌아간다.
LV_DeleteCol(ColumnNumber)
ColumnNumber번째의 열을 삭제한다.
이후,ColumnNumber번째 이후의 열의 열번호는 하나씩 전에 늦추어진다.
실패하면 「0」(이)가, 성공하면 「1」(이)가 돌아간다.
WindowsXP미만의OS그럼,1번째의 열은 삭제할 수 없다.

열조작으로 사용되는 옵션

LV_ModifyCol,LV_InsertCol의Options인수로 지정할 수 있는 옵션에는 이하의 것이 있다.

정수치
「100」 등 정수치를 지정하면, 그 열의 폭을 설정할 수 있다.
Integer
그 열로 소트 할 경우에, 문자열로서가 아니고 정수치로서 소트 한다.
문자열의 경우, 「100」(은)는 「12」보다 작아져 버린다.
선두에 숫자열이 붙어 있는 문자열은, 그 숫자열의 수치로서 다루어지지만, 선두가 숫자가 아닌 문자열은 「0」로서 다루어진다.
취급할 수 있는 수치의 범위는-2147483648(으)로부터2147483647까지이다.
Float
그 열을 소트 할 때, 소수치로서 소트 한다.
Text
그 열을 소트 할 때, 문자열로서 소트 한다.
디폴트로 이 상태이다.
Uni
열표제를2회클릭해 역순에 소트 하는 것을 금지한다.
-Uni
「-Uni」의 지정을 해제한다
Desc
승순 소트는 아니고 내림차순 소트로 한다.
Uni하지만 지정되어 있지 않은 경우,2회표제를 클릭하면 승순 소트가 된다.
-Desc
「-Desc」의 지정을 해제한다
Case
소트 방법이Text때, 대문자 소문자를 구별한다.
-Case
「-Case」의 지정을 해제한다
-CaseLocale
현재의 유저의 로케일 설정에 따라서 대문자 소문자의 차이를 무시한다.
일본어 환경의 경우, 전각의 알파벳등도 대상이 된다.
Logical
소트때, 문자열의 도중에 포함되어 있는 숫자열도 수치로서 비교한다.
NoSort
열의 표제를 클릭하고, 그 열의 내용으로 나란해져 바꾸는 기능을 무효로 한다.
표제 부분의 표시는 그대로, 클릭되면 「G」옵션으로 지정한 써브루틴이 불려 간다.
-NoSort
「-NoSort」의 지정을 해제한다
Sort
그 열로 승순 소트 시킨다.
다음에 다른 열표제가 클릭되면, 그 열로 소트 된다.
SortDesc
그 열로 내림차순 소트 시킨다.
다음에 다른 열표제가 클릭되면, 그 열로 소트 된다.
Right
텍스트를 오른쪽 갖추어로 한다.
Integer(이)나Float(을)를 지정하면, 디폴트로 이 상태가 된다.
Center
텍스트를 중앙 갖추어로 한다.
Left
텍스트를 왼쪽 갖추어로 한다.
Integer(이)나Float하지만 지정되어 있지 않은 경우의 디폴트는 이 상태이다.
Auto
그 열의 폭을 모든 항목의 텍스트가 표시 다 할 수 있도록(듯이) 조절한다.
AutoHdr
그 열의 폭을 열의 표제와 모든 항목의 텍스트가 표시 다 할 수 있도록(듯이) 조절한다.
마지막 열로 이것을 지정했을 경우, 리스트뷰의 우단까지 열을 넓힐 수 있다.
IconN
열의 찾아내에 아이콘을 표시한다.
N에 아이콘 번호를 지정한다.
IconRight
IconN그리고 아이콘을 표시할 때, 왼쪽은 아니고 오른쪽으로 표시한다.
-Icon
열표제에 아이콘을 표시하지 않게 한다

항목 조작

LV_Add([Options, Col1, ...ColN])
리스트의 마지막에 항목을 추가한다.
Options에는 후술의 옵션을 반각 스페이스 혹은Tab문자로 단락짓고 문자열로서 준다.
Col1...ColN에는, 각 렬에 표시하는 텍스트를 문자열 혹은 수치로 지정한다.
Col1...ColN에 공문자열이 지정되었을 경우나 생략 되었을 경우는, 표시는 비운다.
추가에 성공하면, 추가된 항목의 항목 번호가 돌려주어진다.추가에 실패했을 경우는, 「0」(이)가 돌려주어진다.
LV_Insert(RowNumber [, Options, Col1, ...ColN])
RowNumber그리고 지정한 위치에 항목을 삽입한다.
그 이외의 인수는LV_Add(와)과 같다.
현재의 항목수보다 큰 값을 지정했을 경우는, 제일 마지막에 삽입된다.
추가에 성공하면, 추가된 항목의 항목 번호가 돌려주어진다.추가에 실패했을 경우는, 「0」(이)가 돌려주어진다.
LV_Modify(RowNumber, Options [, Col1, ...ColN])
RowNumber그리고 지정한 항목의 옵션이나 열텍스트를 변경한다.
RowNumber에 「0」(을)를 지정하면, 모든 항목의 옵션을 정리해 변경할 수 있다.
Col1...ColN에 공문자열이 지정되었을 경우나 생략 되었을 경우는, 그 열의 텍스트는 변경되지 않는다.
변경에 실패한 항목이 있으면 「0」(이)가, 모두 성공하면 「1」(이)가 돌아간다.
LV_Delete([RowNumber])
RowNumber그리고 지정한 항목을 삭제한다.
RowNumber(을)를 생략 했을 경우, 모든 항목이 삭제된다.
삭제에 실패하면 「0」(이)가, 성공하면 「1」(이)가 돌아간다.

항목 조작으로 사용되는 옵션

항목 조작계의 함수의Options인수로 지정할 수 있는 옵션에는 이하의 것이 있다.

Vis
스크롤 바가 표시되고 있는 상태로, 해당 항목이 화면외에 있을 때, 해당 항목이 표시되도록(듯이) 스크롤 시킨다.
LV_Modify()함수에서만 유효.
Select
Select1
항목을 선택 상태로 한다.
-Select
Select0
항목을 비선택 상태로 한다.
Focus
Focus1
키보드 포커스를 그 항목에 맞춘다
-Focus
Focus0
키보드 포커스가 그 항목에 합쳐지지 않은 상태로 한다
Check
Check1
체크 박스의 체크를On(으)로 한다.
-Check
Check0
체크 박스의 체크를Off(으)로 한다.
IconN
N에 아이콘 번호를 지정한다.(례:「Icon1」)
후술의이미지 리스트 조작 함수그리고 이미지 리스트에 등록한 번호를 지정한다.
이 옵션이 지정되지 않았던 경우는, 이미지 리스트의 최초의 아이콘이 사용된다.
「Icon1000」 등, 이미지 리스트에 등록되어 있는 수보다 큰 값을 지정하면, 공백이 표시된다.
이미지 리스트에 아이콘이 등록되지 않으면 아무것도 표시되지 않고 아이콘을 표시해야할 영역은 채울 수 있다.
ColN
N에 열번호를 지정한다.1번째는 「1」이다.(례:「Col2」)
인수의Col1...ColN그리고 대상이 되는 열의 개시 위치를 변경한다.
예를 들어, 「LV_Modify(1,"Col2","aaa","bbb"」라고 하면,1손톱의 항목의2번째를 「aaa」,3번째를 「bbb」(으)로 변경한다.

정보 취득

LV_GetCount([Type])
리스트뷰의 항목수를 돌려준다.
Type에 「"S"」(을)를 지정하면, 선택 항목의 수가 돌려주어진다.
Type에 「"Col"」(을)를 지정하면, 열의 수를 돌려준다.
LV_GetNext([StartingRowNumber, [Type])
StartingRowNumber번째 이후의 항목으로 최초의 선택되고 있는 항목의 항목 번호를 돌려준다.
StartingRowNumber하지만 생략 되었을 경우는, 맨 위의 선택되고 있는 항목을 돌려준다.
Type에 「C」(을)를 지정하면, 체크되고 있는 항목의 번호를 돌려준다.
Type에 「F」(을)를 지정하면, 포커스가 있는 항목의 번호를 돌려준다(덧붙여 포커스는 하나 밖에 없다).
해당 항목이 없는 경우는 「0」(을)를 돌려준다.
LV_GetText(OutputVar, RowNumber [, ColumnNumber])
RowNumber번째의 항목의ColumnNumber번째의 텍스트를 취득해OutputVar에 격납한다.
ColumnNumber하지만 생략 되었을 경우,1번째의 열의 텍스트가 취득된다.
RowNumber(을)를 「0」(으)로 하면, 열의 표제의 텍스트가 취득된다.
텍스트가8191아르바이트 이상 있는 경우는, 최초의8191아르바이트만이 취득된다.
실패하면 「0」(이)가, 성공하면 「1」(이)가 돌아간다.

이벤트

「G」옵션으로 라벨명을 지정해 있으면, 아래와 같은 이벤트가 발생할 때마다 써브루틴이 실행된다.
이 때,A_GuiEvent변수에 이벤트명이 격납된다.
「E」와「e」 등 대문자와 소문자와 소문자가 다른 이벤트명은 별개이다. 덧붙여 이벤트는 향후도 추가될 가능성이 있다.

DoubleClick
항목이 더블 클릭 되었다.
A_EventInfo변수에는 더블 클릭 된 항목의 항목 번호가 격납된다.
항목 이외의 부분이 클릭되었을 경우는, 포커스가 있는 항목의 번호가 격납된다.
R
항목이 오른쪽 클릭으로 더블 클릭 되었다.
A_EventInfo변수에는 포커스가 있는 항목의 항목 번호가 격납된다.
ColClick
열표제의 버튼이 클릭되었다.
A_EventInfo변수에는 열번호가 격납된다.
열번호는, 유저가 드러그&드롭으로 열의 차례를 바꿔 넣어도 변하지 않다.최초로1번째 선 열은,2번째에 이동되어도 열번호는1인 채이다.
「NoSort」옵션으로 찾아내 클릭에 의한 소트를 무효로 하고, 자기 부담으로 소트를 실시하고 싶을 때 등에 사용한다.
e
「-ReadOnly」(으)로1번째의 텍스트를 편집 가능하게 되어 있을 때, 텍스트를 다 편집했을 때에 실행된다.
A_EventInfo변수에는 편집된 행의 번호가 격납된다.
D
항목을 드러그 개시했을 때에 실행된다.
현재, 항목의 드러그&드롭에 관한 기능은 준비되어 있지 않다.
A_EventInfo변수에는 포커스가 있는 항목의 항목 번호가 격납된다.
d
항목을 오른쪽 클릭으로 드러그 개시했을 때에 실행된다.
현재, 항목의 드러그&드롭에 관한 기능은 준비되어 있지 않다.
A_EventInfo변수에는 포커스가 있는 항목의 항목 번호가 격납된다.

확장 이벤트

AltSubmit옵션을 지정하면, 상기의 이벤트에 가세해 아래와 같은 이벤트시에도 써브루틴이 불려 간다.

Normal
항목이 왼쪽 클릭되었다.
A_EventInfo변수에는 포커스가 있는 항목의 항목 번호(포커스가 없으면 「0」)하지만 격납된다.
RightClick
항목이 오른쪽 클릭되었다.
항목이 오른쪽 클릭으로 더블 클릭 되었다.
A_EventInfo변수에는 포커스가 있는 항목의 항목 번호가 격납된다.
Apps키등의 대체 context menu 호출 조작에서는 실행되지 않는다.
A
항목이 액티브화 되었다.
통상은DoubleClick이벤트의 뒤에 발생한다.
A_EventInfo변수에는 액티브화 된 항목의 항목 번호가 격납된다.
C
mouse button가 눌러 내릴 수 있거나 떼어 놓아졌을 때에 발생한다.
E
「-ReadOnly」(으)로1번째의 텍스트를 편집 가능하게 되어 있을 때, 텍스트를 편집하기 시작했을 때에 실행된다.
A_EventInfo변수에는 편집되는 행의 번호가 격납된다.
F
리스트뷰콘트로르가 포커스를 받았을 때에 실행된다.
f
리스트뷰콘트로르가 포커스를 잃었을 때에 실행된다.
I
리스트뷰의 선택 상태가 변화했을 때에 실행된다.
A_EventInfo변수에는 상태가 변화한 행의 번호가 격납된다.
이 이벤트가 불려 갔을 때,ErrorLevel(은)는 이하의 문자를 연결한 쓸모 있게 된다.
InStr(ErrorLevel, "S", true)(와)과 같이 하고, 어느 변화가 일어났는지를 판별할 수 있다.
S
선택되었다
s
선택 해제되었다
F
포커스를 받았다
f
포커스를 잃었다
C
체크되었다
c
체크가 떼어졌다
선택행이 변했을 때에는, 선택 해제 이벤트와 새로운 행의 선택 이벤트가 별개에 발생한다.
K
리스트뷰에 포커스가 있을 때 키보드의 키가 밀렸다.
A_EventInfo변수에는, 밀린 키의 가상 키코드가 격납된다.
키를 누르고 있을 뿐으로 하면, 키 반복이 일해 이벤트가 반복해 발생한다.
M
마우스에 의한 범위 선택을 개시했다.
이 후, 선택 상태가 변화할 때마다 「I」이벤트가 발생해, 마우스가 이야기해지면 「C」이벤트가 발생한다.
S
스크롤 바로의 스크롤을 개시했을 때에 실행된다.
s
스크롤 바로의 스크롤을 종료했을 때에 실행된다.

이러한 이벤트의 동작을 확인하려면 , 이하의 샘플 스크립트를 이용하면 좋다.

Gui,Add,ListView,h600 -ReadOnly AltSubmit gLV R10,A_GuiEvent|A_EventInfo|일시
Gui,Add,Button,gClear,&Clear

Gui,Show
return

LV:
FormatTime,t,%A_Now%,yyyy/MM/dd hh:mm:ss
Lv_Add("",A_GuiEvent,A_EventInfo,t)
return

Clear:
Lv_Delete()
return

Remarks

항목의 각 렬에 표시 가능한 텍스트의 상한은260아르바이트이다.
LV_GetText그리고 취득할 수 있는 것은8191아르바이트까지이다.
실제로 격납할 수 있는 텍스트장에는 상한은 없다.

열표제의 클릭이나 「LV_ModifyCol(1, "Sort") 」(와)과 같은 함수에 의한 소트는, 그 시점에서 소트 될 뿐으로, 나중에 추가되는 항목에는 영향을 주지 않는다.
ListView컨트롤의 옵션의 「Sort」와「SortDesc」(은)는, 항목이 추가될 때 동작한다.
다만, 벌써 존재하는 항목은 소트 되지 않기 때문에, 미리 항목이 소트 되어 있지 않으면 올바른 위치에 삽입되지 않는다.

리스트뷰에 포커스가 있을 때 키보드로 문자열을 입력하거나IME그리고 변환 문자열을 확정시키면,1번째의 텍스트가 그 내용으로 시작되는 항목에 포커스가 이동한다.

리스트뷰콘트로르에서는,Shift+클릭으로 최종 선택 위치로부터 클릭 위치까지를 선택,Shift+커서 키로 범위 선택,Ctrl+커서 키의 상하로 포커스만을 이동,Ctrl+Space그리고 포커스가 있는 항목의 선택 상태를 반전할 수 있다.

리스트뷰콘트로르는Enter키가 밀린 것을 알 수 없다.
Enter키가 밀렸을 때에 특정의 동작을 시키고 싶을 때는, 아래와 같은 예의 같게 윈도우에 디폴트 버튼을 설정한다.
디폴트 버튼은 비표시로 하는 것도 가능하다.

Gui,Add,ListView,gLVEvent,col1|col2
Gui,Add,Button,gOnEnter Hidden Default
;그 외의 초기화 동작
return

OnEnter:
	GuiControlGet, FocusedControl, Focus
	if FocusedControl = SysListView321
		Selected(LV_GetNext(1,"F"))
return

LVEvent:
	if A_GuiEvent = DoubleClick
		Selected(A_EventInfo)
return

Selected(row)
{
	;항목 결정시의 동작
}

Related

GUI, Gui,Add

; Create the ListView with two columns, Name and Size:
Gui, Add, ListView, r20 w700 gMyListView, Name|Size (KB)

; Gather a list of file names from a folder and put them into the ListView:
Loop, %A_MyDocuments%\*.*
	LV_Add("", A_LoopFileName, A_LoopFileSizeKB)

LV_ModifyCol()  ; Auto-size each column to fit its contents.
LV_ModifyCol(2, "Integer")  ; For sorting purposes, indicate that column 2 is an integer.

; Display the window and return. The script will be notified whenever the user double clicks a row.
Gui, Show
return

MyListView:
if A_GuiEvent = DoubleClick
{
	LV_GetText(RowText, A_EventInfo)  ; Get the row's first-column text.
	MsgBox You double-clicked row number %A_EventInfo%. Text: "%RowText%"
}
return

GuiClose:  ; Indicate that the script should exit automatically when the window is closed.
ExitApp
; Select or de-select all rows by specifying 0 as the row number:
LV_Modify(0, "Select")   ; Select all.
LV_Modify(0, "-Select")  ; De-select all.

; Auto-size all columns to fit their contents:
LV_ModifyCol()  ; There are no parameters in this mode.

; MAIN EXAMPLE
; The following is a working script that is more elaborate than the one near the top of this page.
; It displays the files in a folder chosen by the user, with each file assigned the icon associated with
; its type. The user can double-click a file, or right-click one or more files to display a context menu.

; Allow the user to maximize or drag-resize the window:
Gui +Resize

; Create some buttons:
Gui, Add, Button, Default gButtonLoadFolder, Load a folder
Gui, Add, Button, x+20 gButtonClear, Clear List
Gui, Add, Button, x+20, Switch View

; Create the ListView and its columns:
Gui, Add, ListView, xm r20 w700 vMyListView gMyListView, Name|In Folder|Size (KB)|Type
LV_ModifyCol(3, "Integer")  ; For sorting, indicate that the Size column is an integer.

; Create an ImageList so that the ListView can display some icons:
ImageListID1 := IL_Create(10)
ImageListID2 := IL_Create(10, 10, true)  ; A list of large icons to go with the small ones.

; Attach the ImageLists to the ListView so that it can later display the icons:
LV_SetImageList(ImageListID1)
LV_SetImageList(ImageListID2)

; Create a popup menu to be used as the context menu:
Menu, MyContextMenu, Add, Open, ContextOpenFile
Menu, MyContextMenu, Add, Properties, ContextProperties
Menu, MyContextMenu, Add, Clear from ListView, ContextClearRows
Menu, MyContextMenu, Default, Open  ; Make "Open" a bold font to indicate that double-click does the same thing.

; Display the window and return. The OS will notify the script whenever the user
; performs an eligible action:
Gui, Show
return


ButtonLoadFolder:
Gui +OwnDialogs  ; Forces user to dismiss the following dialog before using main window.
FileSelectFolder, Folder,, 3, Select a folder to read:
if not Folder  ; The user canceled the dialog.
	return

; Check if the last character of the folder name is a backslash, which happens for root
; directories such as C:\. If it is, remove it to prevent a double-backslash later on.
StringRight, LastChar, Folder, 1
if LastChar = \
	StringTrimRight, Folder, Folder, 1  ; Remove the trailing backslash.

; Ensure the variable has enough capacity to hold the longest file path. This is done
; because ExtractAssociatedIconA() needs to be able to store a new filename in it.
VarSetCapacity(Filename, 260)

; Gather a list of file names from the selected folder and append them to the ListView:
Loop %Folder%\*.*
{
	FileName := A_LoopFileFullPath  ; Must save it to a writable variable for use below.

	; Build a unique extension ID to avoid characters that are illegal in variable names,
	; such as dashes.  This unique ID method also performs better because finding an item
	; in the array does not require search-loop.
	SplitPath, FileName,,, FileExt  ; Get the file's extension.
	if FileExt = EXE
	{
		ExtID = EXE  ; Special ID as a placeholder.
		IconNumber = 0  ; Flag it as not found so that EXEs can each have a unique icon.
	}
	else  ; Non-EXE, so calculate this extension's unique ID.
	{
		ExtID = 0  ; Initializize to handle extensions that are shorter than others.
		Loop 7     ; Limit the extension to 7 characters so that it fits in a 64-bit value.
		{
			StringMid, ExtChar, FileExt, A_Index, 1
			if not ExtChar  ; No more characters.
				break
			; Derive a Unique ID by assigning a different bit position to each character:
			ExtID := ExtID | (Asc(ExtChar) << (8 * (A_Index - 1)))
		}
		; Check if this file extension already has an icon in the ImageLists. If it does,
		; several calls can be avoided and loading performance is greatly improved,
		; especially for a folder containing hundreds of files:
		IconNumber := IconArray%ExtID%
	}
	if not IconNumber  ; There is not yet any icon for this extension, so load it.
	{
		; Get the icon associated with this file extension:
		hIcon := DllCall("Shell32\ExtractAssociatedIconA", UInt, 0, Str, FileName, UShortP, iIndex)
		if not hIcon  ; Failed to load/find icon.
			IconNumber = 9999999  ; Set it out of bounds to display a blank icon.
		else
		{
			; Add the HICON directly to the small-icon and large-icon lists.
			; Below uses +1 to convert the returned index from zero-based to one-based:
			IconNumber := DllCall("ImageList_ReplaceIcon", UInt, ImageListID1, Int, -1, UInt, hIcon) + 1
			DllCall("ImageList_ReplaceIcon", UInt, ImageListID2, Int, -1, UInt, hIcon)
			; Now that it's been copied into the ImageLists, the original should be destroyed:
			DllCall("DestroyIcon", Uint, hIcon)
			; Cache the icon to save memory and improve loading performance:
			IconArray%ExtID% := IconNumber
		}
	}

	; Create the new row in the ListView and assign it the icon number determined above:
	LV_Add("Icon" . IconNumber, A_LoopFileName, A_LoopFileDir, A_LoopFileSizeKB, FileExt)
}
LV_ModifyCol()  ; Auto-size each column to fit its contents.
LV_ModifyCol(3, 60) ; Make the Size column at little wider to reveal its header.
return


ButtonClear:
LV_Delete()  ; Clear the ListView, but keep icon cache intact for simplicity.
return

ButtonSwitchView:
if not IconView
	GuiControl, +Icon, MyListView    ; Switch to icon view.
else
	GuiControl, +Report, MyListView  ; Switch back to details view.
IconView := not IconView             ; Invert in preparation for next time.
return

MyListView:
if A_GuiEvent = DoubleClick  ; There are many other possible values the script can check.
{
	LV_GetText(FileName, A_EventInfo, 1) ; Get the text of the first field.
	LV_GetText(FileDir, A_EventInfo, 2)  ; Get the text of the second field.
	Run %FileDir%\%FileName%,, UseErrorLevel
	if ErrorLevel
		MsgBox Could not open "%FileDir%\%FileName%".
}
return

GuiContextMenu:  ; Launched in response to a right-click or press of the Apps key.
if A_GuiControl <> MyListView  ; Display the menu only for clicks inside the ListView.
	return
; Show the menu at the provided coordinates, A_GuiX and A_GuiY.  These should be used
; because they provide correct coordinates even if the user pressed the Apps key:
Menu, MyContextMenu, Show, %A_GuiX%, %A_GuiY%
return

ContextOpenFile:  ; The user selected "Open" in the context menu.
ContextProperties:  ; The user selected "Properties" in the context menu.
; For simplicitly, operate upon only the focused row rather than all selected rows:
FocusedRowNumber := LV_GetNext(0, "F")  ; Find the focused row.
if not FocusedRowNumber  ; No row is focused.
	return
LV_GetText(FileName, FocusedRowNumber, 1) ; Get the text of the first field.
LV_GetText(FileDir, FocusedRowNumber, 2)  ; Get the text of the second field.
IfInString A_ThisMenuItem, Open  ; User selected "Open" from the context menu.
	Run %FileDir%\%FileName%,, UseErrorLevel
else  ; User selected "Properties" from the context menu.
	Run Properties "%FileDir%\%FileName%",, UseErrorLevel
if ErrorLevel
	MsgBox Could not perform requested action on "%FileDir%\%FileName%".
return

ContextClearRows:  ; The user selected "Clear" in the context menu.
RowNumber = 0  ; This causes the first iteration to start the search at the top.
Loop
{
	; Since deleting a row reduces the RowNumber of all other rows beneath it,
	; subtract 1 so that the search includes the same row number that was previously
	; found (in case adjacent rows are selected):
	RowNumber := LV_GetNext(RowNumber - 1)
	if not RowNumber  ; The above returned zero, so there are no more selected rows.
		break
	LV_Delete(RowNumber)  ; Clear the row from the ListView.
}
return

GuiSize:  ; Allows the ListView to grow or shrink in response user's resizing of window.
if A_EventInfo = 1  ; The window has been minimized.  No action needed.
	return
; Otherwise, the window has been resized or maximized. Resize the ListView to match.
GuiControl, Move, MyListView, % "W" . (A_GuiWidth - 20) . " H" . (A_GuiHeight - 40)
return

GuiClose:  ; When the window is closed, exit the script automatically:
ExitApp


AutoHotKey(오토핫키) 설명서 Gui,Add,ListBox

Posted by 발전소장
2014. 8. 14. 00:55 AutoHotKey/Commands

Gui,Add,ListBox

GUI윈도우에 리스트 박스를 추가한다

Gui, Add, ListBox [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
V그리고 변수명을 지정했을 경우, 「GUI,Submit」(이)나GuiControlGet커멘드로 선택되고 있는 항목명을 취득할 수 있다.미선택시는 공문자열이 된다
G그리고 써브루틴명을 지정했을 경우, 선택이 바뀔 때마다 그 써브루틴이 실행된다.
고유의 옵션에 대해서는, 아래와 같이 참조.
Text 「|」(으)로 단락지어 선택 가능 항목을 열거한다.
항목의 뒤의 「|」(을)를 두 개로 하면, 그 항목이 초기 상태로 선택된 상태가 된다.(례:「Default||aaa|bbb」 「aaa|bbb|Default||」)
Gui,+Delimiter`n」(와)과 같이 하면, 단락 문자를 「|」이외의 것(이 예에서는 개행)(으)로 변경할 수 있다.

고유의Option

Sort
항목을 항목명 순서에 줄서 바꾸어 표시한다
반각 문자를 타이프 치면 선두가 일치하는 항목으로 이동하는 「인크리멘탈 서치」의 기능도 유효하게 된다.
ReadOnly
선택 항목이 반전 표시되지 않게 된다.
V옵션으로 지정한 변수에서는, 포커스가 합쳐져 있는 항목이 취득된다.
Multi옵션과의 병용은 할 수 없다.
AltSubmit
Gui,Submit(이)나GuiControlGet그리고 취득되는 정보를 변경한다.
통상은, 선택된 항목의 텍스트가 취득되지만, 이 옵션을 지정하면, 선택된 항목의 번호가 취득된다.(1번째가 「1」, 미선택시는 공문자열)
Multi
Shift(을)를 누르면서 선택하는 것으로, 복수 선택이 가능하게 된다.Ctrl(을)를 누르면서 클릭하면, 연속하지 않은 항목도 선택 가능.
이 옵션을 지정했을 경우,V옵션으로 지정한 변수에는, 선택 항목(통상은 항목의 문자열,AltSubmit하지만 모두 지정되었을 경우는 항목의 번호)하지만 「|」(으)로 단락지어 취득된다.
단락 문자는 「Gui,+Delimiter`n」(와)과 같이 해 변경할 수 있다.
Loop, parse, MyListBox, |」라고 하는 것으로, 각 선택 항목에 대해서 처리를 실시할 수 있다.
Tn
탭 위치를 지정한다.
n에는 수치를 지정.n×2피크셀 정도의 폭이 된다.
디폴트는32.
「t8 t16 t8」(와)과 같이 복수를 지정하면, 탭 위치를 개별적으로 지정할 수 있게 된다.
지정한 개수 이후의 탭 위치는, 마지막에 지정한 폭으로 새겨진다.
최대50개까지 지정할 수 있다.
ChooseN
N에 최초로 선택되는 항목의 번호를 지정한다.

Remarks

Multi옵션으로 복수 선택가능으로 하고 있는 경우, 아래와 같이 해 모든 항목을 선택·선택 해제할 수 있다.

Gui +LastFound  ; Avoids the need to specify WinTitle below.
If(V)
	PostMessage, 0x185, 1, -1, ListBox1  ; Select all items. 0x185 is LB_SETSEL.
else
	PostMessage, 0x185, 0, -1, ListBox1  ; Deselect all items.

Related

GUI, Gui,Add


AutoHotKey(오토핫키) 설명서 Gui,Add,Hotkey

Posted by 발전소장
2014. 8. 14. 00:54 AutoHotKey/Commands

Gui,Add,Hotkey

GUI윈도우에 키보드 쇼트 컷의 편성을 입력하기 위한 컨트롤을 추가한다

Gui, Add, Hotkey [, Options, Text]

Parameters

인수명설명
Options 옵션을 반각 스페이스 단락으로 열거.
Gui,Add의 항참조.
G그리고 써브루틴 라벨을 설정하면, 입력된 hot key가 변경될 때마다 실행된다.
입력 내용이 수식 키만 상태에서도 실행된다.(다만, 수식 키를 떼어 놓아 버리면 「없이 」로 돌아와 버리기 위해, 취직 키만의 hot key가 입력된 상태대로 할 수 없다)
이 때, 새롭게 키가 눌러 내릴 수 있어 내용이 변화했을 때에는 써브루틴이 실행되지만, 키가 떼어 놓아지는 것에 의해서 내용이 변화했을 때에는 실행되지 않는다.
고유의 옵션으로서Limit하지만 있다.
Text 초기 상태로 입력되고 있는 키를 지정한다.

고유의Option

LimitN
Hotkey그리고 입력 금지로 할 수 있는 수식 키의 조를 설정한다.금지되고 있는 조를 입력하려고 하면, 대신에Ctrl+Alt의 조가 부가된다.
N에는 이하의 수의 화를 설정한다.
1
수식 키 없음을 금지(례:A)
2
Shift키만의 수식 키를 금지(례:Shift+A)
4
Ctrl키만의 수식 키를 금지(례:Ctrl+A)
8
Alt키만의 수식 키를 금지(례:Alt+A)
16
Ctrl+Shift의 수식 키를 금지(례:Ctrl+Shift+A)
32
Alt+Shift의 수식 키를 금지(례:Alt+Shift+A)
128
Ctrl+Alt+Shift의 수식 키를 금지(례:Ctrl+Alt+Shift+A)

Remarks

포커스를 대면시키면서 키를 누르면, 키와 수식 키가 입력된다.
컨트롤에는 「Ctrl + C」(와)과 같이 표시되지만,Text인수로 설정하는 디폴트치나GUI,Submit커멘드등에서 취득되는 값은,Hotkey커멘드나hot key 라벨그리고 사용되는 것과 같은 서식.(례:「^!C」 「^Home」 「^NumpadHome」)수식 키는Ctrl(^),Alt(!),Shift(+)마셔 사용 가능.

Related

GUI, Gui,Add