GuiControlGet

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

GuiControlGet, OutputVar , SubCommand, ControlID, Value

매개변수

OutputVar
The name of the output variable in which to store the result of SubCommand.
SubCommand, Value
These are dependent upon each other and their usage is described below.
ControlID

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

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

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

주의: 그림 콘트롤의 파일 이름이 (그 콘트롤이 생성되는 순간에 지정된 대로 ) 그의 ControlID로 사용될 수도 있씁니다.

[v1.1.04+]: ControlID는 콘트롤의 HWND일 수 있습니다.

콘트롤이 기본 GUI 위에 있지 않으면, 그 GUI의 이름도 역시 지정해야 합니다 -- 단, [v1.1.20+]에서는 ControlID이 HWND입니다. 각 HWND가 유일하기 때문입니다. 자세한 것은 논평을 참조하십시오.

부-명령어

For SubCommand, specify one of the following:

(Blank)

Retrieves the contents of the control.

GuiControlGet, OutputVar ,, ControlID, Value

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

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

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

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

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

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

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

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

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

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

주의: To unconditionally retrieve the text/caption of a CheckBox, Radio, DropDownList or ComboBox rather than its contents, specify the word Text for Value.

Pos

콘트롤의 위치와 크기를 열람합니다.

GuiControlGet, OutputVar, Pos , ControlID

위치는 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전역 변수로 선언하십시오 (전역-간주 함수들에 대하여 그 반대도 마찬가지입니다). 그렇지만, 흔한 혼란의 근원 때문에, 종종 각 변수를 집합 안에 선언하는 것이 필요하기도 합니다.

Focus

현재 키보드 초점이 있는 콘트롤의 식별자를 열람합니다 (ClassNN).

GuiControlGet, OutputVar, Focus , ControlID

지정된 GUI 창이 활성화되어 있어야 그의 콘트롤들이 초점을 가질 수 있기 때문에, OutputVar는 창이 활성화되어 있지 않으면 비워집니다. 예를 들어: GuiControlGet, focused_control, Focus.

FocusV [v1.0.43.06+]

Retrieves the name of the focused control's associated variable.

GuiControlGet, OutputVar, FocusV , ControlID

See the Focus sub-command (above) for details. 그 콘트돌에 연관 변수가 없으면, 콘트돌의 텍스트/캡션의 앞쪽 63 글자가 대신 열람됩니다 (이것은 각 버튼에 변수 이름을 부여하는 것을 피하기 위해 아주 자주 사용됩니다).

Enabled

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

GuiControlGet, OutputVar, Enabled , ControlID

Visible

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

GuiControlGet, OutputVar, Visible , ControlID

Hwnd [v1.0.46.16+]

콘트롤의 창 핸들(HWND)을 열람합니다.

GuiControlGet, OutputVar, Hwnd , ControlID

콘트롤의 HWND는 종종 PostMessage, SendMessage, 그리고 DllCall에 사용됩니다. 주의: HwndOutputVar가 보통 HWND를 얻는 더 간결한 방법입니다.

Name [v1.1.03+]

Retrieves the name of the control's associated variable.

GuiControlGet, OutputVar, Name , ControlID

If it doesn't have one, OutputVar is made blank.

에러 처리

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

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

논평

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

GuiControlGet, MyEdit, MyGui:
GuiControlGet, MyEdit, MyGui:Pos
GuiControlGet, OutputVar, MyGui:Focus

변수 하나가 여러 GUI 창에 사용될 수 있기 때문에 ControlID가 콘트롤의 연관 배열이라고 할지라도 꼭 이렇게 해야 합니다. [v1.1.20+]에서는 GUI 이름을 생략할 수 있습니다. ControlID가 콘크롤의 HWND일지라도 마찬가지입니다.

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

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

Gui, GuiControl, ControlGet

예제

Retrieves the text of an Edit control and stores it in MyEdit.

GuiControlGet, MyEdit

Same as above but stores the text in CtrlContents.

GuiControlGet, CtrlContents,, MyEdit

Retrieves 1 if a checkbox is checked or 0 if it is unchecked.

GuiControlGet, MyCheckbox1

Retrieves the caption/text of a checkbox.

GuiControlGet, MyCheckbox1,,, Text

Stores the position and size in PicX, PicY, PicW, and PicH.

GuiControlGet, Pic, Pos, Static4