Progress / SplashImage

프로그레스 바나 이미지를 담고 있는 창을 생성하거나 업데이트 합니다.

비추천: 이러한 명령어는 새 스크립트에 사용을 추천하지 않습니다. 대신 Gui 명령을 사용하십시오.

SplashImage, Off
SplashImage , ImageFile, Options, SubText, MainText, WinTitle, FontName

Progress, Off
Progress, ProgressParam1 , SubText, MainText, WinTitle, FontName

매개변수

ImageFile

단어 OFF이면, 창은 파괴됩니다. 단어 SHOW이면, 창이 현재 숨어 있을 경우 보여집니다.

그렇지 않으면, 이것은 보여줄 BMP, GIF, 또는 JPG 이미지의 파일이름입니다 (PNG, TIF, 그리고 ICO와 같이 다른 파일 형식을 보여주려면, Gui 명령어를 사용하여 그림 콘트롤이 들어 있는 창을 생성하는 방법을 고려하십시오).

[AHK_L 59+]: Gui가 지원하는 포맷이면 모두 SplashImage와 사용할 수 있습니다.

ImageFile은 절대 경로를 지정하지 않으면 %A_WorkingDir%에 있다고 간주합니다. ImageFile 그리고 Options이 비어 있고 창이 이미 존재하면, 그의 이미지는 바뀌지 않지만 텍스트는 업데이트되어 SubText, MainText, 그리고 WinTitle에 제공된 새 문자열을 반영합니다.

새로 생성된 창에 대하여, ImageFile이 비어 있거나 이미지를 적재하는데 문제가 있으면, 창은 그림 없이 보여집니다.

[v1.1.23+]: A bitmap or icon handle can be used instead of a filename. 예를 들어, HBITMAP:%handle%.

ProgressParam1

프로그레스 창이 이미 존재하는 경우: Param1이 단어 OFF이면, 창은 파괴됩니다. Param1이 단어 SHOW이면, 창이 현재 숨어 있을 경우 보여집니다.

그렇지 않고, Param1이 순수 숫자이면, 그의 바 위치가 그 값에 맞게 바뀝니다. Param1이 비어 있으면, 그의 바 위치는 바뀌지 않지만 그의 텍스트는 업데이트되어 SubText, MainText, 그리고 WinTitle에 제공된 새 문자열을 반영합니다. 이 두 방법 모두, 창이 아직 존재하지 않으면, 모든 옵션에 대하여 기본 값을 가지고 창이 생성됩니다.

프로그레스 창이 존재하지 않으면: 새 프로그레스 창이 생성됩니다 (예전의 프로그레스 창을 교체합니다), 그리고 Param1은 아래 리스트의 옵션으로 구성된 문자열입니다.

Options

더 아래의 리스트 옵션으로 구성된 문자열.

SubText

이미지나 바 표시자 아래에 보여줄 텍스트. 단어-넘기기가 일어나지만, 새 줄을 명시적으로 시작하려면, 라인피드를 사용하십시오 (`n). 기존 창의 텍스트를 비우려면, %A_Space%를 지정하십시오. 창 높이를 자동 계산하기 위해, 빈 줄은 아래의 MainText와 비슷하게 보존할 수 있습니다.

MainText

이미지나 바 표시자 위에 보여줄 텍스트 (글꼴이 반-볼드체임). 단어-넘기기가 일어나지만, 새 줄을 명시적으로 시작하려면, 라인피드를 사용하십시오 (`n).

비어 있거나 생략하면, MainText에 대하여 창에 스페이스가 보존되지 않습니다. 나중에 한 줄을 추가하기 위해 스페이스를 보존하려면, 또는 기존 창의 텍스트를 비우려면, %A_Space%를 지정하십시오. 첫 줄을 넘어 따로 더 줄을 유지하려면, 라인피드를 더 추가하십시오 (`n).

일단 MainText의 콘트롤 구역의 높이가 설정되면, 창을 다시 만들지 않은 한 바꿀 수 없습니다.

WinTitle

창의 제목. 생략되고 창이 새로 생성되었다면, 창 제목은 (경로 없이) 스크립트의 이름이 기본값이 됩니다. B (borderless) 옵션이 지정되었다면, 제목 바는 보이지 않지만 창은 여전히 WinMove와 같은 명령어에서 이 제목으로 참조할 수 있습니다.

FontName

MainTextSubText에 사용할 글꼴의 이름. 글꼴 테이블에 다양한 윈도우즈 버전에 포함된 글꼴이 나열되어 있습니다. 글꼴이 지정되지 않았거나 찾을 수 없으면, 시스템의 기본 GUI 글꼴이 사용됩니다.

글꼴의 크기와 두께 그리고 색을 변경하는 방법은 아래 옵션 섹션을 참조하십시오.

창 크기, 위치, 그리고 행위

A: 창은 언제나 위에 있지 않습니다.

B: Borderless: 창에 테두리가 없고 제목 바가 없습니다. 테두리는 있지만 제목 바는 필요 없다면, 얇은 테두리에 B1을 사용하고 대화상자 스타일의 테두리에 B2를 사용하십시오.

M: 사용자가 창을 이동할 수 있습니다 (테두리가 없는 경우는 예외). 추가로 (테두리를 끌어서) 창의 크기를 바꾸려면, M1을 지정하십시오. 추가로 시스템 메뉴를 포함하고 제목 바에 최소화/최대화/닫기 버튼 집합을 포함하려면, M2를 지정하십시오.

Pn: 프로그레스 창에 대하여, n에 제목 바의 시작 위치를 지정하십시오 (기본값은 0입니다. 또는 허용되는 범위 안에서 0에 가장 가까운 숫자입니다). 나중에 바의 위치를 바꾸려면, 다음 예제를 따르십시오: Progress, 50.

Rx-y: 프로그레스 창에 대하여, x-y에 바의 범위를 지정하십시오 (R 옵션이 없으면, 기본 값은 0-100입니다). 예를 들어, R0-1000이면 0부터 1000까지이 숫자를 허용합니다; R-50-50이면 -50부터 50까지 허용합ˆ•; 그리고 R-10--5이면 -10부터 -5까지 허용합니다.

T: 창의 태스크 바에 버튼이 하나 주어집니다. 그리고 소유주가 없습니다. 보통, 창은 스크립트의 메인 창에 속하기 때문에 버튼이 없습니다. 이 설정은 또한 GUI 창의 Gui +OwnDialogs 설정이 스플레시 또는 프로그레스 창을 소유하지 못하도록 막습니다.

Hn: n에 창의 클라이언트 구역의 높이를 지정하십시오 (제목 바와 테두리를 제외한 구역입니다). 지정하지 않으면, 창의 텍스트와 이미지/바의 높이에 기반하여 그 높이가 자동으로 계산됩니다.

Wn: n에 창의 클라이언트 구역의 너비를 지정하십시오. 지정하지 않으면, (이미지가 있다면) SplashImage에 대하여 너비가 자동으로 계산됩니다. 그렇지 않으면, 기본값은 300입니다.

Xn: n에 창의 좌상 모서리의 x-좌표를 지정하십시오. 지정하지 않으면, 창은 수평으로 화면 가운데에 놓입니다.

Yn: n에 창의 좌상 모서리의 y-좌표를 지정하십시오. 지정하지 않으면, 창은 수직으로 화면 가운데에 놓입니다.

Hide: 창은 최초에 숨어 있습니다. Progress Show 또는 SplashImage Show를 사용해 나중에 보여줄 수 있습니다.

창에 객체 배치하기

Cxy: Centered: 이 옵션이 없으면, SubText 그리고 MainText 모두 창 한 가운데에 놓입니다. 0을 x에 지정하면 SubText가 왼쪽 정렬됩니다. 1을 지정하면 중앙에 정렬됩니다. y에도 마찬가지입니다. 단, MainText에 적용되는 경우는 예외입니다 (y는 생략할 수 있습니다). 예를 들어: c10.

ZHn: 객체의 높이: 프로그레스 창에 대하여, n에 프로그레스 바의 두께를 지정하십시오 (기본값 20). SplashImage 창에 대하여, n에 이미지를 조절할 높이를 지정하십시오. -1을 지정하면 높이를 ZWn 지정된 너비에 비례하도록 조절할 수 있습니다 (즉, "화면 비율 유지"). 지정하지 않으면, 실제 이미지 높이가 사용됩니다. 어느 경우든, 값을 0으로 지정하면 객체를 완전히 생략할 수 있습니다. 그러면 맞춤 글꼴과 크기 그리고 색으로 오직 텍스트만 보여주는 데 창을 사용할 수 있습니다.

ZWn: 객체의 너비 (SplashImage 창 전용): n에 이미지를 조절할 너비를 지정하시십시오. -1을 지정하면 너비를 ZHn에 지정된 너비에 비례하여 조절할 수 있습니다. (즉, "화면 비율 유지"). 지정하지 않으면, 실제 이미지 너비가 사용됩니다.

ZXn: n에 창의 좌우에 남길 여백의 양을 지정하십시오. 기본 값은 10 픽셀입니다. 단, SplashImage 창은 텍스트가 없고, 기본 값은 0입니다.

ZYn: n에 창의 상하 그리고 콘트롤 사이에 남길 빈 수직 공간의 양을 지정하십시오. 기본 값은 5픽셀입니다. 단, SplashImage 창은 텍스트가 없고, 기본값은 0입니다.

주의: 수직 프로그레스 바를 만들거나 레이아웃을 좀 더 유연하게 제어하려면, 다음 예제와 같이 Gui 명령어를 사용하십시오:

Gui, Add, Progress, Vertical vMyProgress
Gui, Show
return
; ... later...
GuiControl,, MyProgress, +10  ; 바를 위로10 퍼센트 이동시키빈다. +를 생랴갛면 절대 위치를 지정할 수 있습니다.

글꼴 크기와 무게

FMn: MainText에 대한 글꼴 크기를 n에 지정하십시오. 기본값은 0이고, 대부분의 시스템에서 10 포인트가 사용됩니다. 이 기본값은 제어판 > 화면 설정에서 시스템이 선택한 글꼴 크기에 영향을 받지 않습니다.

FSn: SubText에 대한 글꼴 크기를 n에 지정하십시오. 기본값은 0입이고 대부분의 시스템에서 0 포인트가 사용됩니다.

WMn: MainText에 대하여 글꼴 무게를 n에 지정하십시오. 이 두께는 범위가 1부터 1000까지입니다. 지정하지 않으면, 600 (반-볼드체)이 사용됩니다.

WSn: SubText에 대하여 글꼴 무게를 n에 지정하십시오. 두께는 범윅 1부터 1000까지 입니다 (700은 전통적으로 "볼드체"로 간주됩니다). 지정하지않으면, 400 (보통)이 사용됩니다.

객체 색

색은 아래 리스트의 색 이름 중 하나이거나 또는 여섯-자리 십육진 RGB 값입니다. 예를 들어, cw1A00FF를 지정하면 창 배경색이 적색은 1A, 녹색은 00, 그리고 청색은 FF로 설정됩니다.

그 다음에 옵션이 더 있으면 각 컬러 옵션 다음에 스페이스를 추가하십시오. 예를 들어: cbRed ct900000 cwBlue.

CBn: 프로그레스 바의 컬러: n에 16가지 기본 HTML 컬럼 이름 중 하나 또는 6-자리 RGB 컬러 값을 지정하십시오. 지정하지 않으면, 시스템의 기본 바 컬러가 사용됩니다. 단어 Default를 지정하면 시스템이 기본 프로그레스 바 컬러로 되돌아 올 수 있습니다.

CTn: 텍스트 컬러: n에 16가지 기본 HTML 컬럼 이름 중 하나 또는 6-자리 RGB 컬러 값을 지정하십시오. 지정하지 않으면, 시스템의 기본 텍스트 컬러가 사용됩니다 (보통 검정색). 단어 Default를 지정하면 시스템의 기본 텍스트 컬러로 돌아올 수 있습니다.

CWn: 창의 컬러 (배경색): n에 16가지 기본 HTML 컬럼 이름 중 하나 또는 6-자리 RGB 컬러 값을 지정하십시오. 지정하지 않으면, 시스템의 버튼 색이 사용됩니다 (단어 Default 를 지정하면 나중에 이 컬러로 되돌아 올 수 있습니다). 배경색을 투명하게 만들려면, WinSet TransColor를 사용하십시오.

Color name RGB value
Black 000000
Silver C0C0C0
Gray 808080
White FFFFFF
Maroon 800000
Red FF0000
Purple 800080
Fuchsia FF00FF
Green 008000
Lime 00FF00
Olive 808000
Yellow FFFF00
Navy 000080
Blue 0000FF
Teal 008080
Aqua 00FFFF

논평

첫 매개변수가 단어 OFF이면, 그 창은 파괴됩니다.

각 스크립트는 최대 10개의 프로그레스 창 그리고 10 개의 SplashImage 창을 보여줄 수 있습니다. 각 창마다 생성 순간에 할당된 번호가 있습니다. 지정되지 않으면 그 번호는 1 (첫 번째)입니다. 그렇지 않으면, 첫 매개변수 앞에 청 번호와 쌍점을 배치하십시오. 예를 들어, 2:Off로 Progress 명령어를 사용하면 2 번 프로그래스 창이 꺼집니다, 2:75이면 그의 바를 75%로 설정합니다, 2:이면 그의 텍스트 필드가 바뀝니다. 그리고 2:B이면 테투리 없는 새 프로그레스 창이 생성됩니다. 비슷하게, SplashImage 명령어를 2:Off와 함께 사용하면 2 번 SplashImage 창이 꺼지고, 2:이면 그의 텍스트 필드가 바뀝니다. 그리고 2:C:\My Images\Picture1.jpg 이면 새로 2 번 SplashImage 창이 생성됩니다.

생성될 때, 바탕화면보다 큰 창은 자동으로 바탕화면에 맞게 줄어듭니다.

맨 프로그레스 바를 보여 주려면 SubTextMainText도 지정하지 않고, 다음 옵션을 포함하면 됩니다: b zx0 zy0. 맨 이미지를 보여주려면 같은 방식으로 하되 B 옵션이 더 필요합니다.

Windows XP 이후로, 비-클래식 테마가 켜져 있으면, 프로그레스 바의 내부가 부드럽게 이어지는 바가 아니라 딱딱하게 일련 구획으로 보일 수 있습니다. 이를 피하려면, cbBlue와 같이 바 컬러를 명시적으로 지정하십시오.

옵션 기호에 필요할 경우 (십육진수가 아니라) 십진수를 사용하십시오. 단, 따로 고지하는 경우는 예외입니다.

WinSet 그리고 WinMove 같은 명령어를 사용하면 다시 생성할 필요없이 기존 창의 속성을 바꿀 수 있습니다.

GUI 창이 Gui +OwnDialogs 수단을 사용하여 프로그레스 창이나 스플레시 창을 소유할 수 있습니다. 이렇게 하면 스플레시나 프로그레스 창이 소유창 보다 언제나 위에 있게 됩니다. 게다가, 그 GUI 창이 파괴될 때 프로그레스 창이나 스플레시 창도 자동으로 파괴됩니다.

GUI, SplashTextOn, ToolTip

예제

Creates a borderless Progress window and sets the position of the bar to 50%.

Progress, b w200, My SubText, My MainText, My Title
Progress, 50 ; 바의 위치를 50%로 설정합니다.
Sleep, 4000
Progress, Off

18-포인트 Courier 텍스트를 보여줄 창을 생성합니다.

Progress, m2 b fs18 zh0, This is the Text.`nThis is a 2nd line., , , Courier New

간단한 SplashImage 창을 만듭니다.

SplashImage, C:\My Pictures\Company Logo.gif

테투리 없는 SplashImage 창을 생성합니다. 이미지 아래에 큰 텍스트가 있습니다.

SplashImage, C:\My Pictures\Company Logo.gif, b fs18, This is our company logo.
Sleep, 4000
SplashImage, Off

Demonstrates how a Progress window can be overlayed on a SplashImage to make a professional looking Installer screen. Gui example #7 is similar to this but its advantage is that it uses only a single window and it gives you more control over window layout.

if FileExist("C:\WINDOWS\system32\ntimage.gif")
    SplashImage, %A_WinDir%\system32\ntimage.gif, A,,, Installation
Loop, %A_WinDir%\system32\*.*
{
    Progress, %A_Index%, %A_LoopFileName%, Installing..., Draft Installation
    Sleep, 50
    if (A_Index = 100)
        break
}