GuiControlGet

GUI 창에 있는 콘트롤에 관하여 다양한 유형의 정보를 열람합니다.

GuiControlGet, OutputVar [, Sub-command, ControlID, Param4]
선택

매개변수

OutputVar

결과를 저장할 변수의 이름. 명령어를 완료하지 못하면 (아래 ErrorLevel 참조), 이 변수는 비워집니다.

Sub-command

아래 리스트 참조.

ControlID

비어 있거냐 생략되면, 마치 출력 변수의 이름이 지정되어 있는 듯이 행위합니다. 예를 들어, GuiControlGet, MyEditGuiControlGet, MyEdit,, MyEdit과 같습니다.

목표 콘트롤에 연관 배열이 있으면, 그 변수의 이름을 ControlID로 지정하십시오 (이 방법은 다음이 기술한 방법보다 우선 순위가 높습니다). 이런 이유로, 보통 나중에 GuiControl 또는 GuiControlGet를 통하여 접근할 콘트롤에 변수를 할당하는 것이 제일 좋습니다. 심지어 그 콘트롤이 입력이 가능하지 않더라도 상관이 없습니다 (GroupBox 또는 Text).

그렇지 않으면, ControlID는 ClassNN (콘트롤의 클래스이름과 실체 번호) 또는 그 콘트롤의 텍스트일 수 있습니다. 둘 모두 Window Spy를 통하여 알아낼 수 있습니다. 텍스트를 사용할 때, 부합 행위는 SetTitleMatchMode에 의하여 결정됩니다. 주의: 그림 콘트롤의 파일 이름이 (그 콘트롤이 생성되는 순간에 지정된 대로 ) 그의 ControlID로 사용될 수도 있씁니다.

[v1.1.04+]: ControlID는 콘트롤의 HWND일 수 있습니다. 다른 ControlID와 마찬가지로, Sub-command기본 창이 아닐 경우 그 GUI의 이름과 번호도 포함할 수 있습니다. 예를 들어, GuiControlGet Value, 2:, %Hwnd%.

Param4

이 매개변수는 생략됩니다. 단, 아래 부-명령어 리스트에서 고지한 경우는 예외입니다.

ErrorLevel

[v1.1.04+] 이 명령어는 실패시 예외를 던질 수 있습니다. 더 자세한 정보는 실행시간 에러를 참조하십시오.

ErrorLevel은 지정된 창/콘트롤이 존재하지 않거나 또는 다른 어떤 문제 때문에 명령어가 작동하지 못하면 1이 설정됩니다. 그렇지 않으면 0이 설정됩니다.

Sub-commands

(Blank): Sub-command를 비워 두면 콘트롤의 내용을 열람할 수 있습니다. 모든 콘트롤 유형은 이름 자체로 설명이 됩니다. 하지만 다음은 예외입니다:

Picture: 콘트롤이 생성될 때 지정되어 있는, 그림 파일의 원래 이름을 열람합니다. 이 이름은 새 그림 파일 이름을 지정하더라도 바뀌지 않습니다.

Edit: 내용을 열람합니다. 그러나 텍스트 안의 줄 넘김 문자는 평범한 라인피드 문자(`n)로 표현됩니다. 전통적인 CR+LF (`r`n)로 표시되지 않습니다. 이 줄 끝 모드는ControlGetText 그리고 ControlSetText와 같은 비-GUI 명령어들이 사용합니다. .

Hotkey: 콘트롤에 핫키가 없으면 빈 값이 열람됩니다. 그렇지 않으면 수식키와 키 이름을 열람합니다. 예제: ^!C, ^Home, +^NumpadHome.

Checkbox/Radio: 콘트롤에 체크가 있으면 1이 열람됩니다. 체크 표식이 없으면 0이 열람됩니다. 또는 회색 체크 표식이 있으면 -1이 열람됩니다. 대신에 콘트롤의 텍스트/캡션을 열람하려면, 단어 Text를 Param4에 지정하십시오. 주의: Gui Submit 명령어와 다르게, 라디오 버튼은 언제나 개별적으로 열람됩니다. 라디오 그룹 안에 있든 없든 상관이 없습니다.

UpDown/Slider/Progress: 콘트롤의 현재 위치를 열람합니다.

Tab/DropDownList/ComboBox/ListBox: 현재 선택된 항목/탭의 텍스트를 열람합니다 (또는 콘트롤에 AltSubmit 특성이 있다면 그의 위치를 열람합니다). ComboBox에 대하여, 선택된 항목이 없으면, 콘트롤의 편집 필드에 있는 텍스트가 대신 열람됩니다. 다중-선택 ListBox에 대하여, 그 창의 현재 구분자를 사용하여 출력됩니다.

ListView 그리고 TreeView: 이들은 Sub-command가 비어 있으면 지원되지 않습니다. 대신에 내장 ListView 함수TreeView 함수를 사용하십시오.

StatusBar: 텍스트의 앞 부부만 열람합니다.

ActiveX: 콘트롤의 ActiveX 콤포넌트에 대하여 새 포장 객체를 열람합니다.

주의: 콘트롤에서 그의 내용이 아니라 텍스트/캡션을 무조건 열람하려면, 단어 Text를 Param4에 지정하십시오.

 

GuiControlGet, OutputVar, Pos: 콘트롤의 위치와 크기를 열람합니다. 위치는 GUI 창의 클라이언트 구역에 상대적입니다. 클라이언트 구역에서 제목 바, 메뉴 바, 그리고 테두리는 제외됩니다. 정보는 네 개의 변수 안에 저장됩니다. 네 변수의 이름은 모두 OutputVar로 시작합니다. 예를 들어:

GuiControlGet, MyEdit, Pos
MsgBox The X coordinate is %MyEditX%. The Y coordinate is %MyEditY%. The width is %MyEditW%. The height is %MyEditH%.
선택 | 내려받기

함수 안에서, 지역 변수 대신에 전역 변수 집합을 생성하려면, 이 명령어를 사용하기 전에 OutputVar전역 변수로 선언하십시오 (전역-간주 함수들에 대하여 그 반대도 마찬가지입니다). 그렇지만, 흔한 혼란의 근원 때문에, 종종 각 변수를 집합 안에 선언하는 것이 필요하기도 합니다.

 

GuiControlGet, OutputVar, Focus: 현재 키보드 초점이 있는 콘트롤의 식별자를 열람합니다 (ClassNN). 지정된 GUI 창이 활성화되어 있어야 그의 콘트롤들이 초점을 가질 수 있기 때문에, OutputVar는 창이 활성화되어 있지 않으면 비워집니다. 예를 들어: GuiControlGet, focused_control, focus.

GuiControlGet, OutputVar, FocusV [v1.0.43.06+]: (위의) Focus와 같습니다. 단, 초점이 있는 콘트롤의 연관 변수의 이름을 열람합니다. 그 콘트돌에 연관 변수가 없으면, 콘트돌의 텍스트/캡션의 앞쪽 63 글자가 대신 열람됩니다 (이것은 각 버튼에 변수 이름을 부여하는 것을 피하기 위해 아주 자주 사용됩니다).

GuiControlGet, OutputVar, Enabled: 콘트롤이 켜져 있으면 1이 열람되고 꺼져 있으면 0이 열람됩니다.

GuiControlGet, OutputVar, Visible: 콘트롤이 보이면 1을 열람하고 보이지 않으면 0을 열람합니다.

GuiControlGet, OutputVar, Hwnd [v1.0.46.16+]: 콘트롤의 창 핸들(HWND)을 열람합니다. 콘트롤의 HWND는 종종 PostMessage, SendMessage, 그리고 DllCall과 함께 사용됩니다. 주의: HwndOutputVar가 보통 HWND를 얻는 더 간결한 방법입니다.

GuiControlGet, OutputVar, Name [v1.1.03+]: 콘트롤에 연관된 변수의 이름을 열람합니다. 실패하면 OutputVar는 비워집니다.

논평

기본 창이 아닌 창을 처리하려면 (아래 참조), 그의 이름 또는 번호 그리고 쌍점 다음에 부-명령어를 다음 예제와 같이 포함시키십시오:

GuiControlGet, MyEdit, MyGui:
GuiControlGet, MyEdit, MyGui:Pos
GuiControlGet, Outputvar, MyGui:Focus
선택 | 내려받기

이것은 ControlID가 콘트롤의 연관 변수 또는 HWND일지라도 필수입니다.

GUI 쓰레드는 GUI 행위의 결과로 기동된 쓰레드로 정의됩니다. GUI 행위에는 GUI 창이 메뉴 바로부터 항목을 선태하는 것, 또는 그의 g-labels중 하나를 (버튼을 눌러서) 촉발 시키는 것이 포함됩니다.

GUI 쓰레드에 대하여 기본 창 이름은 그 쓰레드를 기동한 창의 이름입니다. 비-GUI 쓰레드는 1을 기본값으로 사용합니다.

관련 항목

Gui, GuiControl, ControlGet

예제

GuiControlGet, MyEdit
GuiControlGet, CtrlContents,, MyEdit  ; 위와 같습니다. 단, 기본-아닌 출력 변수를 사용합니다.
GuiControlGet, MyCheckbox1 ; 체크되어 있으면 1, 체크가 없으면 0을 열람합니다.
GuiControlGet, MyCheckbox1,,, Text  ; 체크박스의 캡션/텍스트를 열람합니다.
GuiControlGet, Pic, Pos, Static4  ; 위치/크기는 PicX, PicY, PicW, 그리고 PicH에 저장됩니다.
선택 | 내려받기