Copyright: Automated from the Object Model Database.


바로 가는 키

개체를 선택하기 위한 바로 가는 키로 사용되는 하나의 문자를 의미합니다. 바로 가는 키와 함께 ALT 키를 누르면 개체가 또렷하게 되고 개체와 관련된 하나 또는 그 이상의 이벤트가 시작됩니다. 시작된 특정 이벤트는 하나의 개체에서 다른 개체로 변합니다. 코드가 이벤트와 관련되어 있으면 이벤트가 시작될 때 처리됩니다. 바로 가는 키는 키보드 바로 가는 키라고도 합니다.


배경색

모든 그리기 작업과 화면 배색이 이루어지는 비어 있는 창이나 화면의 클라이언트 영역의 색을 의미합니다.


바운드

포함하고 있는 내용이 워크시트의 셀이나 셀 보호 같은 특정 데이터 파일과 관련된 컨트롤을 의미합니다.


클래스 식별자(CLSID)

개체를 식별하는 고유 식별자(UUID)를 말합니다. 다른 응용 프로그램이 개체를 읽어들이거나 프로그램할 수 있도록 개체는 시스템 등록 데이터베이스에 CLSID를 등록합니다.


지우기

설정을 "off"로 변경하거나 값을 삭제합니다.


클라이언트 영역

텍스트나 그래픽과 같은 출력 창을 나타내는 응용 프로그램의 창 일부를 의미합니다.


구문 ID

응용 프로그램 안에 있는 특정 개체에 해당하는 고유 숫자나 문자열을 의미합니다. 구문 ID는 응용 프로그램과 해당 도움말 항목을 연결하는데 사용합니다.


컨트롤 그룹

개념적이거나 논리적으로 관련된 컨트롤의 집합을 의미합니다. 개념적으로 관련된 컨트롤은 보통 함께 나타나지만 반드시 서로에게 영향을 주지는 않습니다. 논리적으로 관련된 컨트롤은 서로에게 영향을 줍니다. 예를 들면, 옵션 단추 그룹의 한 단추를 지정하면 그 그룹의 다른 단추의 값은 False로 설정됩니다.


컨트롤 팁

컨트롤을 설명하는 간단한 구문, 페이지, 또는 탭을 의미합니다. 사용자가 단추를 누르지 않고 마우스 커서를 컨트롤에 고정시키면 컨트롤 설명이 나타납니다. 컨트롤 설명은 도구 설명과 유사합니다. Microsoft Forms는 개발자에게 디자인 모드에 도구 설명을 제공하고 개발자는 실행시 최종 사용자에게 컨트롤 설명을 제공합니다.


커서

데이터의 행을 응용 프로그램에 반환하는 소프트웨어를 의미합니다. 결과 집합 위의 커서는 결과 집합의 현재 위치를 나타냅니다.


순환

개체 그룹을 통해 정해진 순서로 이동하는 것을 의미합니다.


데이터 유형

파일, 데이터베이스 기록, 스프레드시트의 셀, 워드프로세서 문서의 문자열과 같은 데이터 단위의 구조나 모양을 의미합니다.


데이터 원본

예를 들면 워크시트의 셀처럼 컨트롤이 바운드되어 있는 데이터의 위치를 의미합니다. 데이터 파일의 현재 값은 컨트롤의 Value 속성에 저장될 수 있습니다. 하지만, 컨트롤은 데이터 파일 안에 저장되어 있는 정보만을 표시할 뿐 데이터를 저장하지는 않습니다.


기준 컨트롤

[서식] 메뉴에 [맞춤] 명령과 [같은 크기로] 명령을 하기 위한 참조 영역을 의미합니다. 컨트롤을 정렬하면 선택된 컨트롤은 기준 컨트롤에 맞추어 정렬됩니다. 컨트롤을 크기 조정하면 선택된 컨트롤은 기준 컨트롤의 크기로 지정됩니다.

기준 컨트롤은 흰색 크기 조정 핸들로 표시됩니다. 선택된 컨트롤의 나머지의 크기 조정 핸들은 검정색으로 표시됩니다.


놓기 원본

끌어서 놓기 작업으로 선택된 문자열이나 개체를 의미합니다.


enumerated constant
열거된 상수

목록 형태를 사용하는 속성, 메서드, 또는 이벤트의 설명에서 열거된 데이터 항목의 추가 정보를 찾을 수 있습니다.


전경색

화면상에 문자열을 그리거나 표시하기 위하여 그때마다 선택하는 색을 의미합니다. 흑백 디스플레이에서 전경색은 비트맵이나 다른 그래픽의 색이 됩니다.


모눈 블럭

인접한 두 모눈 사이의 간격을 의미합니다.


Input 메서드 편집기(IME)

사용자가 입력한 일어나 중국어 같은 DBCS 언어의 문자를 번역하는 응용 프로그램을 의미합니다. 사용자가 입력하면 IME는 가능한 상당 문구를 출력합니다. 사용자는 가장 적절한 입력을 선택할 수 있습니다.


고유 속성

다른 클래스의 특성을 가지고 있는 속성을 의미합니다.


키보드 상태

어떤 키가 눌러졌는지와 키보드 수정 키인 SHIFT, CTRL, ALT 키가 눌려졌는지의 여부를 인식하는 반환값을 의미합니다.


OLE 컨테이너 컨트롤

Visual Basic 응용 프로그램의 다른 응용 프로그램에서 개체를 연결하고 포함하는데 사용되는 Visual Basic 컨트롤을 의미합니다.


OLE 상태 코드

오류 조건에 관한 정보를 반환하는 데이터 구조 일부의 오류 번호를 의미합니다. 데이터 구조는 개체 연결 및 개체 포함으로 정의됩니다.


자리표시자

보안 목적으로 다른 문자를 가리거나 숨기는 문자를 의미합니다. 예를 들어 사용자가 암호를 입력하면 각 입력 문자의 위치를 표시하기 위하여 별표가 화면에 표시됩니다.


속성 페이지

속성 시트의 탭 처리된 페이지로 나타나는 속성의 그룹을 의미합니다.


RGB

색을 빨강(R), 초록(G), 파랑(B)의 혼합으로 나타내는 색상 값 시스템을 의미합니다. 색은 세가지 정수(R,G,B)로 정의되는데 각 정수의 범위는 0에서 255까지입니다. 0의 값은 색상 구성 요소가 완전히 없다는 것을 의미합니다. 255의 값은 색상 구성 요소의 강도가 최고 값이라는 것을 의미합니다.


시스템 색

특정 형식의 모니터와 비디오 어댑터 사용을 위해 운영 체제가 정의한 색상을 의미합니다. 각 색상은 창 제목이나 메뉴와 같은 사용자 인터페이스의 특정 부분과 관련이 있습니다.


대상

사용자가 끌기 중인 개체를 놓고자 하는 위치의 개체를 의미합니다.


투명

개체의 배경이 보이지 않으면 배경을 설명합니다. 사용자는 배경이 아니어도 개체 뒤에 있는 모든 것, 예를 들면 응용 프로그램의 배경으로 사용된 이미지나 그림 등을 볼 수 있습니다. BackStyle 속성을 사용하면 배경을 투명하게 만들 수 있습니다.


언바운드

워크시트 셀과 관련이 없는 컨트롤을 설명합니다. 반면에 바운드 컨트롤은 워크시트 셀을 위한 원본 파일을 말하는데 이 원본 파일은 컨트롤 값을 표시하고 편집할 수 있는 액세스를 제공합니다.


확인란 컨트롤

항목의 선택 상태를 표시합니다.

참고

사용자가 Yes/No, True/False, 또는 On/Off과 같은 두 가지 값 사이에서 선택을 하기 위하여 확인란을 사용합니다. 사용자가 확인란을 선택하면, X와 같은 특별한 표시가 나타나고, 현재 설정 상태가 Yes, True, 또는 On으로 됩니다. 사용자가 확인란을 선택하지 않으면, 확인란은 공란이 되고 설정 상태가 No, False, 또는 Off로 됩니다. TripleState 속성 값에 따라, 확인란은 또한 Null 값을 가질 수 있습니다.

확인란이 데이터 원본에 바운드되는 경우, 설정을 변경함으로써 그 원본의 값을 변경합니다. 사용할 수 없는 확인란은 현재 값을 보여주지만, 흐리게 표시되고 사용자 인터페이스에서 값을 변경할 수 없습니다.

또한 확인란을 사용하여 관련된 항목 그룹을 하나 이상 선택할 수 있습니다. 예를 들면, 각 항목에 따라 확인란을 가진 사용 가능한 항목에 대한 목록을 포함하고 있는 순서 폼을 만들 수 있습니다. 사용자는 해당 확인란을 확인함으로써 특정 항목이나 항목들을 선택할 수 있습니다.

확인란의 기본 속성은 Value 속성입니다.

확인란의 기본 이벤트는 Click 이벤트입니다.

메모  목록 상자에도 선택한 옵션에 따라 확인 표시를 할 수 있습니다. 응용 프로그램에 따라 확인란 컨트롤 그룹을 사용하는 대신 목록 상자를 사용할 수 있습니다.


콤보 상자 컨트롤

목록 상자와 입력란의 기능을 결합시킵니다. 사용자는 입력란에 새로운 값을 입력하거나, 목록 상자에 기존의 값을 선택할 수 있습니다.

참고

콤보 상자가 데이터 원본에 바운드되는 경우, 콤보 상자는 사용자가 입력하거나 선택한 값을 데이터 원본에 삽입합니다. 다중 열 콤보 상자가 바운드되는 경우, BoundColumn 속성은 바운드 데이터 원본에 어떤 값을 저장할지 결정합니다.

콤보 상자 내의 목록은 데이터 행으로 구성되어 있습니다. 각 행에는 하나 이상의 열이 있고, 머리글이 있거나 머리글 없이 나타납니다. 몇몇 응용 프로그램은 열 머리글을 지원하지 않지만, 다른 응용 프로그램에서는 제한적으로만 지원됩니다.

콤보 상자의 기본 속성은 Value 속성입니다.

콤보 상자의 기본 이벤트는 Change 이벤트입니다.

메모  한번에 표시할 목록이 한 줄 이상인 경우, 콤보 상자 대신 목록 상자를 사용하도록 하십시오. 콤보 상자를 사용하고 목록의 수에 제한이 있는 경우, 컨트롤이 늘어진 목록 상자처럼 보이도록 콤보 상자의 Style 속성을 설정하십시오.


명령어 단추 컨트롤

한 가지 수행 동작이나 일련의 수행 동작들을 시작하고, 종료하고, 중지합니다.

참고

매크로나 이벤트 프로시저는 명령어 단추의 Click 이벤트에 명령어 단추가 수행할 것을 지정합니다. 예를 들어, 다른 폼을 여는 명령어 단추를 만들 수 있습니다. 또한 명령어 단추에 텍스트, 그림, 또는 모두 표시할 수 있습니다.

명령어 단추의 기본 속성은 Value 속성입니다.

명령어 단추의 기본 이벤트는 Click 이벤트입니다.


프레임 컨트롤

기능적이고 시각적인 컨트롤 그룹을 만듭니다.

참고

프레임내의 모든 옵션 단추는 서로 배타적입니다. 그래서 프레임을 사용하여 옵션 그룹을 만들 수 있습니다. 또한 컨트롤과 밀접하게 관련된 내용을 분류하기 위하여 프레임을 사용할 수 있습니다. 예를 들어, 고객의 주문을 처리하는 응용 프로그램에서 고객의 이름, 주소, 계좌 번호를 분류하기 위하여 프레임을 사용할 수 있습니다.

또한 전환 단추 그룹을 만들기 위하여 프레임을 사용할 수 있습니다. 그러나, 전환 단추는 서로 배타적이지 않습니다.

프레임의 기본 이벤트는 Click 이벤트입니다.


이미지 컨트롤

폼에 그림을 표시합니다.

참고

이미지는 그림을 폼에서 데이터의 일부로 표시할 수 있도록 해줍니다. 예를 들어, 개인 신상 폼에서 직원들의 사진을 표시하기 위하여 이미지를 사용할 수 있습니다.

이미지가 그림의 절단, 크기 조절, 확대를 할 수 있지만, 그림의 내용을 편집할 수는 없습니다. 예를 들면, 그림에서 색을 변경하거나, 그림을 투명하게 만들거나, 또는 그림의 이미지를 다듬기 위하여 이미지를 사용할 수 없습니다. 이와 같은 목적이라면 이미지 편집 소프트웨어를 사용해야만 합니다.

이미지는 다음 파일 유형을 지원합니다.

*.bmp

*.cur

*.gif

*.ico

*.jpg

*.wmf

메모  이름표에 그림을 표시할 수도 있습니다. 하지만 이름표는 그림의 절단, 크기 조절, 확대를 할 수는 없습니다.

이미지의 이벤트는 Click 이벤트입니다.


목록 상자 컨트롤

값 목록을 표시하고 한 가지 이상을 선택하도록 합니다.

참고

목록 상자가 데이터 원본에 바운드되면, 목록 상자는 데이터 원본에서 선택된 값을 저장합니다.

목록 상자는 목록으로서 나타나거나 옵션 단추 컨트롤 또는 확인란 컨트롤로 나타납니다.

목록 상자의 기본 속성은 Value 속성입니다.

목록 상자의 기본 이벤트는 Click 이벤트입니다.

메모   텍스트는 늘어진 목록 상자에 놓을 수 없습니다.


다중 페이지 컨트롤

단일 설정으로 다중 정보 화면을 제공합니다.

참고

다중 페이지는 몇가지 범주로 정렬할 수 있는 많은 양의 정보로 작업할 때 유용합니다. 예를 들어, 인사 관리 응용 프로그램에서 정보를 표시하기 위하여 다중 페이지를 사용합니다. 한 페이지에는 이름, 주소와 같은 개인적인 정보를 보관할 수 있고, 다른 페이지에는 이전 직원들을 목록화할 수 있습니다. 마지막 페이지에는 참조 사항을 목록화할 수 있습니다. 액세스할 수 있도록 준비된 전체 레코드를 보관하는 동안, 다중 페이지로 관련된 정보를 외관상 결합시킬 수 있습니다.

새 페이지는 인접한 페이지보다는 현재 선택된 페이지의 오른쪽에 추가됩니다.

메모  다중 페이지는 하나 이상의 Page 개체를 포함한 각 Pages 컬렉션의 컨테이너입니다.

다중 페이지의 기본 속성은 Value 속성입니다. 다중 페이지의 Pages 컬렉션에 현재 활성화된 페이지 인덱스를 반환합니다.

다중 페이지의 기본 이벤트는 Change 이벤트입니다.


옵션 단추 컨트롤

선택 그룹에서 한 항목의 선택 상태를 보여줍니다.

참고

그룹에서 단일 항목의 선택 여부를 보여 주기 위하여 옵션 단추를 사용합니다. 프레임 내의 각 옵션 단추는 서로 배타적임을 유의하십시오.

옵션 단추가 데이터 원본에 바운드되는 경우, 옵션 단추는 Yes/No, True/False, 또는 On/Off로써 그 데이터 원본의 값을 보여줍니다. 사용자가 옵션 단추를 선택하는 경우, 현재 설정 상태가 Yes, True, 또는 On으로 됩니다. 사용자가 옵션 단추를 선택하지 않으면, 설정 상태가 No, False, 또는 Off로 됩니다. 예를 들면, 재고품 조사 응용 프로그램에서 옵션 단추는 항목이 연속적이지 않은지에 대한 여부를 보여줄 수 있습니다. 만약 옵션 단추가 데이터 원본에 속해 있으면, 설정을 변경함으로써 그 데이터 원본의 값을 변경합니다. 사용할 수 없는 옵션 단추는 흐리게 표시되고 값을 보여주지 않습니다.

TripleState 속성 값에 따라, 옵션 단추가 Null 값을 가질 수도 있습니다.

또한 관련된 항목 그룹을 하나 이상 선택하기 위하여 그룹 상자 내에서 옵션 단추를 사용할 수 있습니다. 예를 들면, 각 항목에 따라 옵션 단추를 가진 사용 가능한 항목에 대한 목록을 포함하고 있는 순서 폼을 만들 수 있습니다. 사용자는 해당 옵션 단추를 검사함으로써 특정 항목을 선택할 수 있습니다.

옵션 단추의 기본 속성은 Value 속성입니다.

옵션 단추의 기본 이벤트는 Click 이벤트입니다.


이동줄 컨트롤

이동 상자 위치에 따라 다른 컨트롤 값을 반환하거나 설정합니다.

참고

이동줄은 폼에 놓을 수 있는 독립형 컨트롤입니다. 외관상으로 목록 상자 또는 콤보 상자의 늘어진 부분과 같은 개체에서 볼 수 있는 이동줄과 유사합니다. 하지만 이 예의 이동줄과는 다르게, 독립형 이동줄은 다른 컨트롤의 통합 부분이 아닙니다.

다른 컨트롤 값을 설정하거나 읽기 위하여 이동줄을 사용하려면 이동줄의 이벤트와 메서드에 대한 코드를 작성해야 합니다. 예를 들어, 입력란 값을 새로 고치기 위해 이동줄을 사용하려면 이동줄의 Value 속성을 읽는 코드를 작성하고 입력란의 Value 속성을 설정합니다.

이동줄의 기본 속성은 Value 속성입니다.

이동줄의 기본 이벤트는 Change 이벤트입니다.

메모  수평 또는 수직 이동줄을 만드려면, 폼에서 수평이나 수직으로 이동줄의 크기 조절 핸들을 끌어 당깁니다.


회전자 컨트롤

숫자를 증가시키고 감소시킵니다.

참고

회전자를 누르면 회전자 값만이 변경됩니다. 다른 컨트롤의 표시된 값을 새로 고치기 위하여 회전자를 사용하는 코드를 작성합니다. 예를 들어, 날짜에 월, 일, 또는 연도를 변경하기 위하여 회전자를 사용할 수 있습니다. 값의 범위나 항목의 목록을 따라 이동하거나, 입력란에 표시된 값을 변경하기 위하여 회전자를 사용할 수도 있습니다.

회전자로 새로 고친 값을 표시하려면 이름표의 Caption 속성이나 입력란의 Text 속성과 같은 컨트롤의 일부를 표시할 회전자 값을 지정해야 합니다. 수평이나 수직 회전자를 만드려면, 폼에서 수평 이나 수직으로 회전자의 크기 조절 핸들을 끌어 당깁니다.

회전자의 기본 속성은 Value 속성입니다.

회전자의 기본 이벤트는 Change 이벤트입니다.


연속 탭 컨트롤

관련된 컨트롤 설정을 시각적 그룹으로서 나타냅니다.

참고

관련된 컨트롤에 대한 여러 다른 정보 컬렉션을 보려면 연속 탭을 사용합니다.

예를 들어, 컨트롤은 그룹 내의 여러 다른 개인에 대응하는 각 정보들로써 개인들의 그룹에 대한 일일 일정에 대한 정보를 나타낼 수 있습니다. 각 개인의 이름을 보여주기 위한 각 탭에 대한 제목 을 설정하십시오. 그 다음에 탭을 눌렀을 때, 탭에서 정의된 사람에 대한 정보를 보여주는 컨트롤을 새로 고칠 수 있도록 코드를 작성할 수 있습니다.

메모  연속 탭은 교대로 Tab 개체 그룹을 포함하는 Tabs 컬렉션의 컨테이너로써 수행됩니다.

연속 탭의 기본 속성은 SelectedItem 속성입니다.

연속 탭의 기본 이벤트는 Change 이벤트입니다.


입력란 컨트롤

조직화된 데이터 컬렉션이나 사용자에서 정보를 표시합니다.

참고

입력란은 사용자가 입력한 정보를 표시하기 위하여 가장 보편적으로 사용하는 컨트롤입니다. 또한 테이블, 질의, 워크시트, 또는 계산 결과와 같은 데이터 컬렉션을 표시합니다. 입력란이 데이터 원본에 바운드되면, 입력란의 내용을 변경하여 바운드된 데이터 원본 값도 변경합니다.

입력란의 하나의 텍스트에 적용된 유형은 컨트롤의 모든 텍스트에 영향을 미치게 됩니다. 예를 들어, 컨트롤의 글꼴이나 한 문자의 포인트 크기를 변경하면 컨트롤의 모든 문자가 변경된 내용의 영향을 받게 됩니다.

입력란의 기본 속성은 Value 속성입니다.

입력란의 기본 이벤트는 Change 이벤트입니다.


전환 단추 컨트롤

항목의 선택 상태를 보여줍니다.

참고

항목의 선택 여부를 보여 주기 위하여 전환 단추를 사용합니다. 전환 단추가 데이터 원본에 바운드되면, 전환 단추는 Yes/No, True/False, On/Off 또는 다른 두 가지 설정에 대한 선택으로써 그 데이터 원본의 현재 값을 보여줍니다. 사용자가 전환 단추를 선택하면, 현재 설정 상태가 Yes, True, 또는 On으로 됩니다. 사용자가 전환 단추를 선택하지 않으면, 설정 상태가 No, False, 또는 Off로 됩니다. 전환 단추가 데이터 원본에 바운드되는 경우, 설정을 변경하여 그 데이터 원본의 값을 변경합니다. 사용할 수 없는 전환 단추는 값을 보여 주지만, 흐리게 표시되고 사용자 인터페이스에서 값을 변경할 수 없습니다.

관련된 항목 그룹을 하나 이상 선택하기 위하여 프레임에서 전환 단추를 사용할 수도 있습니다. 예를 들면, 각 항목 앞의 전환 단추로 사용 가능한 항목에 대한 목록을 포함하고 있는 순서 폼을 만들 수 있습니다. 사용자는 적절한 전환 단추를 선택함으로써 특정 항목을 선택할 수 있습니다.

전환 단추의 기본 속성은 Value 속성입니다.

전환 단추의 기본 이벤트는 Click 이벤트입니다.


DataObject 개체

전송 작업을 하기 위하여 사용하는 유형화된 텍스트 데이터를 위한 저장 영역입니다. 또한 DataObject에 저장된 텍스트의 일부에 대응하는 유형 목록을 저장합니다.

참고

DataObject는 클립보드 텍스트 유형에 대한 텍스트의 한 부분과 사용자 정의 유형, 사용자 정의와 같은 추가된 각 텍스트 유형에 대한 텍스트의 한 부분을 포함합니다.

DataObject는 클립보드와는 구별이 됩니다. DataObject는 클립보드를 포함하는 명령과 텍스트의 끌어서 놓기 동작을 지원합니다. 클립보드를 포함하는 GetText 같은 작업이나 끌어서 놓기 작업을 시작할 때, 그 동작에 포함된 데이터는 DataObject로 이동합니다.

DataObject는 클립보드처럼 동작합니다. DataObject에 텍스트 문자열을 복사한다면, DataObject는 텍스트 문자열을 저장합니다. DataObject로 같은 유형의 두번째 텍스트를 복사한다면, DataObject는 첫번째 텍스트 문자열을 버리고 두번째 텍스트의 복사본을 저장합니다. 지정된 유형의 텍스트의 한 부분을 저장하고 가장 최근의 작업에서 텍스트를 보존합니다.


Font 개체

컨트롤이나 폼에서 사용하는 텍스트의 특징을 정의합니다.

참고

각 컨트롤이나 폼은 그 텍스트 특성을 다른 컨트롤과 폼에 대해 정의된 특성과 독립적으로 설정할 수 있도록 자신의 Font 개체를 가집니다. 글꼴 이름을 지정하거나, 굵게 또는 밑줄 친 문자열을 설정하거나, 문자열의 크기를 조정하기 위하여 글꼴 속성을 사용합니다.

메모  폼이나 컨테이너의 글꼴 속성은 폼에 가져다 놓을 컨트롤의 기본 글꼴 속성을 결정합니다.

Font 개체의 기본 속성은 Name 속성입니다. Name 속성에 null 문자열이 포함되어 있는 경우, Font 개체는 시스템 기본 글꼴을 사용합니다.


이름표 컨트롤

설명 문자열을 표시합니다.

참고

폼에서 이름표 컨트롤은 제목, 표제, 그림, 또는 간단한 지시 사항과 같은 설명 문자열을 표시합니다. 예를 들어, 주소록을 위한 이름표는 이름, 거리, 도시에 대한 이름표를 포함할 수 있습니다. 이름표는 데이터 원본이나 표현식에서 값을 표시하지 않습니다. 항상 언바운드이고 레코드에서 레코드로 이동한 대로 변경되지 않습니다.

이름표의 기본 속성은 Caption 속성입니다.

이름표의 기본 이벤트는 Click 이벤트입니다.


Page 개체

다중 페이지의 한 페이지와 Pages 컬렉션의 단일 구성원입니다.

참고

각 Page 개체는 자신만의 컨트롤 컬렉션을 포함하고 정보에 대해서는 컬렉션의 다른 페이지에 반드시 의존하지는 않습니다. 페이지는 컨테이너에서 몇 가지 속성을 상속하고 각 고유 속성 값은 컨테이너에 의해 설정됩니다.

페이지는 Pages 컬렉션 내에 고유 이름과 인덱스 값을 가집니다. 이름이나 인덱스 값으로 페이지를 참조합니다. 컬렉션 내에 첫번째 페이지의 인덱스는 0, 두번째 페이지의 인덱스는 1, 나머지도 이와 같이 됩니다. 두 Page 개체가 같은 이름을 가지게 되면, 그 이름의 인덱스 값으로 각각의 페이지를 참조해야 합니다. 코드 내 이름을 참조하게 되면 이름을 사용하는 첫번째 페이지에만 액세스하게 됩니다.

첫번째 페이지의 기본 이름은 Page1이고 두번째 페이지의 기본 이름은 Page2입니다.


Tab 개체

탭은 Tabs 컬렉션의 개별적인 구성원입니다.

참고

외관상으로 Tab 개체는 더 큰 사각형 영역에서 뻗어 나온 사각형 또는 사각형 영역에 인접한 단추로 나타납니다.

페이지와는 대조적으로, 탭은 어떤 컨트롤도 포함하지 않습니다. 연속 탭이 바운드한 영역 내에 나타나는 컨트롤은 연속 탭으로 폼에 포함됩니다.

각 탭에는 자신만의 속성 컬렉션이 있지만, 메서드나 이벤트는 없습니다. 개별적인 탭의 처리를 초기화하려면 적절한 연속 탭에서 이벤트를 사용해야 합니다.

각 탭은 컬렉션내에 고유 이름과 인덱스 값을 가집니다. 이름이나 인덱스 값으로 탭을 참조합니다. 첫번째 탭의 인덱스는 0, 두번째 탭의 인덱스는 1, 나머지도 이와 같이 됩니다. 두개의 Tab 개체가 같은 이름을 가지면, 그 이름의 인덱스 값으로 각각의 탭을 참조해야 합니다. 코드의 이름을 참조하게 되면 이름을 사용하는 첫번째 탭에만 액세스하게 됩니다.


Controls 컬렉션

개체에 포함된 모든 컨트롤을 포함합니다.

참고

개체의 Controls 컬렉션 내의 각 컨트롤은 그 값이 정수 또는 텍스트인 고유 인덱스를 가집니다. 컬렉션내에 첫번째 컨트롤에 대한 인덱스 값은 0이고, 두번째 컨트롤에 대한 인덱스 값은 1, 나머지도 이와 같이 됩니다. 이 값은 컬렉션에 추가되는 컨트롤에서의 순서를 표시합니다.

인덱스가 문자열인 경우 컨트롤의 이름을 나타냅니다. 컨트롤의 Name 속성 또한 컨트롤의 이름을 지정합니다.

개별적인 컨트롤의 순서를 나열하거나, 계산을 하고 그 속성을 설정하려면 Controls 컬렉션을 사용하십시오. 예를 들어, 특정 폼의 Controls 컬렉션의 순서를 나열하고 각 컨트롤의 Height 속성을 지정된 값으로 설정합니다.

메모  For Each...Next 문은 컬렉션의 순서를 나열하는 데 유용합니다.


Pages 컬렉션

Pages 컬렉션은 다중 페이지의 모든 페이지를 포함합니다.

참고

각 Pages 컬렉션은 컬렉션내에 페이지 수를 관리하고 현재 사용 중인 페이지를 식별해주는 기능을 제공합니다.

각 Page 개체는 Pages 컬렉션 내에 고유 이름과 인덱스 값을 가집니다. 이름이나 인덱스 값으로 페이지를 참조합니다. 컬렉션 내에 첫번째 페이지에 대한 인덱스는 0이고, 두번째 페이지에 대한 인덱스는 1, 나머지도 이와 같이 됩니다. 첫번째 페이지의 기본 이름은 Page1이고, 두번째 페이지의 기본 이름은 Page2 입니다.

Pages 컬렉션의 기본 값은 컬렉션의 현재 페이지를 식별합니다.


Tabs 컬렉션

Tabs 컬렉션은 연속 탭의 모든 탭을 포함합니다.

참고

각 Tabs 컬렉션은 컬렉션의 탭 수를 관리하고 현재 사용 중인 탭을 식별하는 기능을 제공합니다.

Tabs 컬렉션의 기본 값은 컬렉션의 현재 탭을 식별합니다.

Tab 개체는 Tabs 컬렉션 내에 고유 이름과 인덱스 값을 가집니다. 이름이나 인덱스 값으로 탭을 참조합니다. 인덱스 값은 컬렉션 내에 탭의 서수 위치를 반영합니다. 컬렉션 내에 첫번째 탭의 인덱스는 0이고, 두번째 탭의 인덱스는 1, 나머지도 이와 같이 됩니다.


Microsoft Forms 개체 모델 개요


AddControl 이벤트

컨트롤이 폼, 프레임, 그리고 다중 페이지의 페이지에 삽입되었을 때 발생합니다.

구문

프레임일 경우
Private Sub object_AddControl( )

다중 페이지일 경우
Private Sub object_AddControl( index As Long, ctrl As Control)

AddControl 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Index	필수. 새 컨트롤을 포함하는 페이지의 인덱스.
Ctrl	필수. 추가될 컨트롤.
참고

AddControl 이벤트는 컨트롤을 실행 모드에서 추가할 때 발생합니다. 이 이벤트는 디자인 모드에서 컨트롤을 추가할 때는 초기화되지 않습니다. 또한 실행 모드에서 처음부터 폼을 불러오고 표시할 때도 초기화되지 않습니다.

이 이벤트의 기본 동작은 지정된 폼, 프레임, 또는 다중 페이지에 컨트롤을 추가하는 것입니다.

Add 메서드는 AddControl 이벤트를 초기화합니다.


AfterUpdate 이벤트

컨트롤의 데이터가 사용자 인터페이스를 통해 변경된 후에 발생합니다.

구문

Private Sub object_AfterUpdate( )

AfterUpdate 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

AfterUpdate 이벤트는 컨트롤이 바운드인지의 여부에 관계없이(즉, RowSource 속성이 컨트롤의 데이터 원본을 지정할 때) 발생합니다. 이 이벤트는 취소될 수 없습니다. 새로 고친 내용을 취소하려는 경우 (컨트롤의 이전 값을 저장하기 위해서는), BeforeUpdate 이벤트를 사용하고 Cancel 인수를 True로 설정합니다.

AfterUpdate 이벤트는 현재 컨트롤에 대해서는 BeforeUpdate 이벤트 다음과 Exit 이벤트 전에, 탭 순서의 다음 컨트롤에 대해서는 Enter 이벤트 전에 발생합니다.


BeforeDragOver 이벤트

끌어서 놓기 작업이 진행중일 때 발생합니다.

구문

프레임일 경우
Private Sub object_BeforeDragOver(ByVal Cancel As MSForms.Return Boolean, ctrl As Control, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

다중 페이지일 경우
Private Sub object_BeforeDragOver( index As Long, ByVal Cancel                  As MSForms.ReturnBoolean, ctrl As Control, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

연속 탭일 경우
Private Sub object BeforeDragOver( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

다른 컨트롤일 경우
Private Sub object_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

BeforeDragOver 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 끌어서 놓기 작업이 영향을 줄 다중 페이지의 페이지 인덱스.
Cancel	필수. 이벤트 상태. False는 컨트롤이 이벤트를 처리해야 한다는 것 (기본 설정)을 나타냅니다. True는 응용 프로그램이 이벤트를 처리해야 한다는 것을 나타냅니다.
Ctrl	필수. 끌어다 놓을 컨트롤.
Data	필수. 끌어서 놓기 작업에서 끌어다 놓은 데이터. 데이터는 DataObject에서 패키지됩니다.
X, Y	필수. 컨트롤 위치의 수평과 수직 좌표. 두 좌표는 포인트 단위로 측정됩니다. X는 컨트롤의 왼쪽 끝에서부터 측정합니다. Y는 컨트롤의 상단에서부터 측정합니다.
DragState	필수. 끌어다 놓은 데이터의 이동 상태.
Effect	필수. 놓기 원본이 지원한 작업.
Shift	필수. SHIFT, CTRL, ALT키의 상태를 지정합니다.
설정

DragState의 설정은 다음과 같습니다.

상수	값	설명
fmDragStateEnter	0	마우스 포인터가 대상의 범위 내에 있습니다.
FmDragStateLeave	1	마우스 포인터가 대상의 범위 외에 있습니다.
FmDragStateOver	2	마우스 포인터가 새 위치에 있습니다. 하지만 같은 대상의 범위 내에 남아 있습니다.
Effect의 설정은 다음과 같습니다.

상수	값	설명
fmDropEffectNone	0	놓기 원본을 놓기 대상으로 복사하거나 이동하지 않습니다.
FmDropEffectCopy	1	놓기 원본을 놓기 대상에 복사합니다.
FmDropEffectMove	2	놓기 원본을 놓기 대상에 이동합니다.
FmDropEffectCopyOrMove	3	놓기 원본을 놓기 대상에 복사하거나 이동합니다.
Shift의 설정은 다음과 같습니다.

상수	값	설명
fmShiftMask	1	SHIFT키를 눌렀습니다.
FmCtrlMask	2	CTRL키를 눌렀습니다.
FmAltMask	4	ALT키를 눌렀습니다.
참고

유효한 대상에 직접적으로 진입, 이탈, 정지할 때 마우스 포인터를 모니터하려면 이 이벤트를 사용하십시오. 끌어서 놓기 작업 진행 중 사용자가 마우스를 움직이고 마우스 단추를 누르거나 놓을 때 시스템은 이 이벤트를 초기화합니다. 마우스 포인터 위치가 이 이벤트를 받는 대상 개체를 결정합니다. DragState 인수를 검사하여 마우스 포인터의 상태를 결정할 수 있습니다.

컨트롤이 이 이벤트를 다룰 때, 끌어서 놓기 동작을 수행하고 있는 지 확인하기 위하여 Effect 인수를 사용할 수 있습니다. Effect를 fmDropEffectCopyOrMove로 설정하면, 놓기 원본은 복사(fmDropEffectCopy), 이동(fmDropEffectMove), 또는 취소 (fmDropEffectNone) 작업을 지원합니다.

Effect를 fmDropEffectCopy로 설정하면, 놓기 원본은 복사 작업 또는 취소(fmDropEffectNone) 작업을 지원합니다.

Effect를 fmDropEffectMove로 설정하면, 놓기 원본은 이동 작업 또는 취소(fmDropEffectNone) 작업을 지원합니다.

Effect를 fmDropEffectNone으로 설정하면, 놓기 원본은 취소 작업을 지원합니다.

대부분의 컨트롤은 Cancel이 False일 동안 끌어서 놓기를 지원하지 않는 것이 기본 설정입니다. 이것은 컨트롤의 어떤 것도 끌어서 놓기를 하지 않는다는 뜻이며, 컨트롤은 BeforeDropOrPaste 이벤트를 초기화하지 않습니다. 입력란과 콤보 상자 컨트롤은 예외입니다. 이 두 가지 컨트롤은 Cancel이 False라도 끌어서 놓기 작업을 지원합니다.


BeforeDropOrPaste 이벤트

사용자가 데이터를 개체에 놓거나 붙여 넣으려 할 때 발생합니다.

구문

프레임일 경우
Private Sub object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Action As fmAction, ByVal Data As DataObject, ByVal XAs Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

다중 페이지일 경우
Private Sub object_BeforeDropOrPaste( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ctrl As Control, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

연속 탭일 경우
Private Sub object_BeforeDropOrPaste( index As Long, ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As fmAction, ByVal Data As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

다른 컨트롤일 경우
Private Sub object_BeforeDropOrPaste( ByVal Cancel As MSForms.ReturnBoolean,  ByVal Action As fmAction, ByVal Data As DataObject, ByVal XAs Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

BeforeDropOrPaste 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 놓기나 붙여넣기 작업이 영향을 줄 다중 페이지의 페이지 인덱스.
Cancel	필수. 이벤트 상태. False는 컨트롤이 이벤트를 처리해야 한다는 것 (기본 설정)을 나타냅니다. True는 응용 프로그램 이 이벤트를 처리해야 한다는 것을 나타냅니다.
Ctrl	필수. 대상 컨트롤.
Action	필수. 현재 키보드 설정에 따라 보류 중인 끌어서 놓기 작업의 결과를 가리킵니다.
Data	필수. 끌어서 놓기 작업에서 끌어다 놓은 데이터. 데이터는 DataObject에서 일괄적으로 묶입니다.
X, Y	필수. 놓기 작업을 할 때 마우스 포인터의 수평과 수직 위치. 양 좌표들은 포인트로 측정됩니다. X 좌표는 컨트롤의 왼쪽 끝에서부터 측정되고, Y 좌표는 컨트롤의 위에서부터 측정됩니다.
Effect	필수. 대상 컨트롤에 관한 끌어서 놓기 작업의 영향.
Shift	필수. SHIFT, CTRL, ALT 키의 상태를 지정합니다.
설정

Action의 설정은 다음과 같습니다.

상수	값	설명
fmActionPaste	2	선택된 개체를 놓기 대상에 붙여 넣습니다.
FmActionDragDrop	3	사용자가 개체를 원본에서 놓기 대상으로 끌어다 놓은 것과 놓기 대상에 놓은 것을 나타냅니다.
Effect에 대한 설정은 다음과 같습니다.

상수	값	설명
fmDropEffectNone	0	놓기 원본을 놓기 대상에 복사하거나 이동시키지 않습니다.
FmDropEffectCopy	1	놓기 원본을 놓기 대상에 복사합니다.
FmDropEffectMove	2	놓기 원본을 놓기 대상에 이동합니다.
FmDropEffectCopyOrMove	3	놓기 원본을 놓기 대상에 복사하거나 이동합니다.
Shift에 대한 설정은 다음과 같습니다.

상수	값	설명
fmShiftMask	1	SHIFT키를 눌렀습니다.
FmCtrlMask	2	CTRL키를 눌렀습니다.
FmAltMask	4	ALT키를 눌렀습니다.
참고

다중 페이지나 연속 탭에 대해서, 응용 프로그램용 Visual Basic은 데이터 개체를 컨트롤에 전송할 때, 이 이벤트를 초기화합니다.

다른 컨트롤에 대해서, 시스템은 놓거나 붙여넣기 작업에 앞서 이 이벤트를 즉시 초기화합니다.

컨트롤이 이 이벤트를 처리할 때, 끌어서 놓기 동작을 수행하고 있는지 확인하기 위하여 Action 인수를 새로 고칠 수 있습니다. Effect가 fmDropEffectCopyOrMove에 설정되어 있으면, Action 값을 fmDropEffectNone, fmDropEffectCopy, fmDropEffectMove에 지정할 수 있습니다. Effect가 fmDropEffectCopy나 fmDropEffectMove에 설정되어 있으면, Action 값을 fmDropEffectNone에 재지정할 수 있습니다. 그러나 Effect가 fmDropEffectNone에 설정되어 있을 경우에는 Action을 재지정할 수 없습니다.


BeforeUpdate 이벤트

컨트롤의 데이터가 변경되기 전에 발생합니다.

구문

Private Sub object_BeforeUpdate( ByVal Cancel As MSForms.ReturnBoolean)

BeforeUpdate 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Cancel	필수. 이벤트 상태. False는 컨트롤이 이벤트를 처리해야 한다는 것 (기본 설정)을 나타냅니다. True는 새로 고치기를 취소하고 응용 프로그램이 이벤트를 처리해야 한다는 것을 나타냅니다.
참고

BeforeUpdate 이벤트는 컨트롤이 바운드인지의 여부에 관계없이(즉, RowSource 속성이 컨트롤의 데이터 원본을 지정할 때) 발생합니다. 이 이벤트는 컨트롤의 AfterUpdate와 Exit 이벤트 전에 발생합니다(포커스를 받은 다음번 컨트롤에 대해서는 Enter 이벤트 전에 발생합니다.)

Cancel 인수를 True로 설정하는 경우 포커스는 컨트롤에 남아 있고, AfterUpdate 이벤트나 Exit 이벤트 어느 것도 발생하지 않습니다.


Change 이벤트

Value 속성이 변경될 때 발생합니다.

구문

Private Sub object_Change( )

Change 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
설정

Change 이벤트는 인터페이스의 코드 실행 결과나 사용자 명령의 실행 결과에 상관없이, Value 속성 설정을 변경할 때 발생합니다.

아래는 Value 속성을 변경한 예제입니다.

확인란, 옵션 단추, 또는 전환 단추를 누릅니다.

콤보 상자, 목록 상자, 또는 입력란에 새로운 문자열 값을 입력하거나 선택합니다.

연속 탭에서 다른 탭을 선택합니다.

이동줄의 이동 상자를 이동합니다.

회전자의 위쪽 화살표나 아래쪽 화살표를 누릅니다.

다중 페이지에서 다른 페이지를 선택합니다.

참고

Change 이벤트 프로시저는 컨트롤 사이에서 표시되는 데이터를 동기화 하거나 조화시킬 수 있습니다. 예를 들면, 이동줄의 값을 표시하는 입력란의 내용을 새로 고치기 위하여, 이동줄의 Change 이벤트 프로시저를 사용합니다. 또는 Change 이벤트 프로시저를 사용하여 작업 영역에 데이터와 숫자 식을 표시하고 다른 영역에는 결과를 표시할 수 있습니다.

팁  어떤 경우 Value 속성이 변할 때 Click 이벤트가 함께 발생하기도 합니다. 그러나, Change 이벤트를 사용하는 것이 속성의 새 값을 발견하는 더 좋은 방법입니다.


Click 이벤트

다음 경우에 발생합니다.

사용자가 마우스로 컨트롤을 누릅니다.

사용자가 최종적으로 두 개 이상의 가능한 값으로 컨트롤 값을 선택합니다.

구문

다중 페이지, 연속 탭일 경우
Private Sub object_Click( index As Long)

다른 모든 컨트롤일 경우
Private Sub object_Click( )

Click 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Index	필수. 이 이벤트와 관련된 다중 페이지 또는 연속 탭의 페이지나 탭 인덱스.
참고

Click 이벤트가 발생하는 두 가지 경우 중 첫번째 경우는 명령어 단추, 프레임, 이미지, 이름표, 이동줄, 회전자에 적용됩니다. 두번째 경우는 확인란, 콤보 상자, 목록 상자, 다중 페이지, 연속 탭, 전환 단추에 적용됩니다. 값이 True로 변경될 때 옵션 단추에도 적용됩니다.

다음은 Click 이벤트를 초기화하는 동작의 예제입니다.

폼의 공백이나 흐려진 컨트롤을 누릅니다. (목록 상자는 제외)

명령어 단추를 누릅니다. 명령 단추가 포커스를 가지고 있지 않은 경우, Enter 이벤트는 Click 이벤트보다 앞서 발생합니다.

명령어 단추가 포커스를 가질 때 SPACEBAR키를 누릅니다.

마우스의 왼쪽 단추로 컨트롤을 누릅니다. (왼쪽 단추 누르기)

다른 명령 단추가 포커스를 가지고 있지 않는 동안, 명령 단추의 Default 속성이 True로 설정된 폼에 ENTER키를 누릅니다.

다른 명령 단추가 포커스를 가지고 있지 않는 동안, 명령 단추의 Cancel 속성이 True로 설정된 폼에 ESC키를 누릅니다.

컨트롤의 바로 가는 키를 누릅니다.

컨트롤을 눌러 Click 이벤트가 발생할 때, Click 이벤트를 발생시키는 이벤트 순서는 다음과 같습니다.

1	MouseDown

2	MouseUp

3	Click

어떤 컨트롤에서는 Value 속성이 변할 때 Click 이벤트가 발생합니다. 그러나, Change 이벤트를 사용하는 것이 속성의 새 값을 찾는 더 좋은 방법입니다. 다음은 컨트롤에 새 값을 지정하여 Click 이벤트를 초기화하는 동작의 예제입니다.

다중 페이지 또는 연속 탭의 다른 페이지나 탭을 누릅니다. 이런 컨트롤의 Value 속성은 현재 페이지나 탭을 나타냅니다. 현재 페이지나 탭을 누르는 것은 컨트롤의 값을 변경하거나 Click 이벤트를 초기화하지 않습니다.

이런 컨트롤 중 하나가 포커스를 갖게될 때 SPACEBAR 키를 누르면서, 확인란이나 전환 단추를 누릅니다. 또는 이런 컨트롤 중 하나에서 바로 가는 키를 누르거나 코드의 컨트롤 값을 변경하며 확인란이나 전환 단추를 누릅니다.

옵션 단추의 값을 True로 바꿉니다. 그룹의 옵션 단추 하나를 True로 설정하면 그룹의 다른 단추들은 False로 설정됩니다. 그러나 Click 이벤트는 값이 True로 변경된 단추에만 발생합니다.

컨트롤의 늘어진 목록의 항목과 일치하기 위하여 콤보 상자나 목록 상자의 값을 설정합니다. 예를 들어 목록을 정렬하지 않은 경우, 편집 영역에 입력된 문자열의 첫번째 일치는 목록에서 유일하지 않습니다. 따라서 이런 값을 선택하여 Click 이벤트를 초기화할 수 없습니다. 목록을 정렬한 경우에는, 선택된 값은 사용자가 입력한 텍스트의 유일한 일치를 보증하는 입력 일치를 사용할 수 있습니다.

Value가 Null에 설정될 때는 Click 이벤트를 초기화 할 수 없습니다.

팁  마우스의 왼쪽 단추를 누르면 컨트롤 값이 변경되고 따라서 Click 이벤트가 초기화됩니다. 마우스의 오른쪽 단추를 누르면 컨트롤 값이 변경되지 않아 Click 이벤트가 초기화되지 않습니다.


DblClick 이벤트

사용자가 개체를 가리키고 마우스 단추를 두 번 눌렀을 때 발생합니다.

구문

다중 페이지, 연속 탭일 경우
Private Sub object_DblClick( index As Long, ByVal Cancel As MSForms.ReturnBoolean)

다른 컨트롤일 경우
Private Sub object_DblClick( ByVal Cancel As MSForms.ReturnBoolean)

DblClick 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Index	필수. Pages 또는 Tabs 컬렉션의 Page 또는 Tab 개체 위치.
Cancel	필수. 이벤트 상태. False는 컨트롤이 이벤트를 처리해야 한다는 것 (기본 설정)을 나타냅니다. True는 응용 프로 그램이 이벤트를 처리해야 한다는 것을 나타냅니다.
참고

발생할 이벤트에서 두 번 누르기는 시스템의 두 번 누르기 속도 설정에 지정된 시간 간격 동안에 발생해야 합니다.

Click을 지원하는 컨트롤에서 DblClick 이벤트를 발생시키는 이벤트 순서는 다음과 같습니다.

1	MouseDown

2	MouseUp

3	Click

4	DblClick

입력란과 같은 컨트롤이 Click을 지원하지 않는 경우, Click은 DblClick 이벤트를 발생시키는 이벤트 순서에 나타나지 않습니다.

사용자가 마우스를 두 번 누를 때 Cancel의 값을 True로 반환한 경우, 컨트롤은 두번째 누르기를 무시합니다. 이것은 전환 단추를 두 번 누르듯이 두번째 누르기가 첫번째 누르기 효과를 반전시키는 경우 유용합니다. Cancel 인수는, 폼이 두번째 누르기를 무시하게 하여, 한 번 누르기와 두 번 누르기의 효과를 같게 합니다.


DropButtonClick 이벤트

늘어진 목록이 나타나거나 사라질 때마다 발생합니다.

구문

Private Sub object_DropButtonClick( )

DropButtonClick 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

사용자 인터페이스에서 어떤 동작을 하거나 코드를 통하여 DropButtonClick 이벤트를 초기화합니다.

코드에서는 DropDown 메서드를 호출하여 DropButtonClick 이벤트를 초기화합니다.

사용자 인터페이스에서 다음 동작들은 이벤트를 초기화합니다.

컨트롤에서 늘어진 단추 누르기

F4키 누르기

코드나 인터페이스에서 위의 동작 중 하나를 실행하면 늘어진 상자를 컨트롤에 나타나게 합니다. 시스템은 늘어진 상자가 사라질 때 DropButtonClick 이벤트를 초기화합니다.


Enter, Exit 이벤트

실제로 컨트롤이 같은 폼의 컨트롤에서부터 포커스를 받기 전에 Enter가 발생합니다. Exit는 컨트롤이 같은 폼의 다른 컨트롤에 포커스를 잃기 바로 전에 발생합니다.

구문

Private Sub object_Enter( )

Private Sub object_Exit( ByVal Cancel As MSForms.ReturnBoolean)

Enter와 Exit 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Cancel	필수. 이벤트 상태. False는 컨트롤이 이벤트를 처리해야 한다는 것 (기본 설정)을 나타냅니다. True는 응용 프로 그램이 이벤트를 처리하고 포커스는 현재 컨트롤에 남아 있어야 한다는 것을 나타냅니다.
참고

Enter와 Exit 이벤트는 Visual Basic의 GotFocus나 LostFocus 이벤트와 유사합니다. Enter와 Exit 이벤트는 GotFocus나 LostFocus 이벤트와 달리 폼이 포커스를 얻거나 잃을 때 발생하지 않습니다.

예를 들어, Enter 이벤트를 초기화하는 확인란을 선택한다고 가정하십시오. 그 후 같은 폼의 다른 컨트롤을 선택하면 포커스가 같은 폼에 다른 개체로 이동하고 있기때문에 Exit 이벤트는 확인란을 초기화시키고, 폼의 두번째 컨트롤에 대해서 Enter 이벤트가 발생합니다.

포커스가 특정 컨트롤로 이동하기 전 Enter 이벤트가 발생하기 때문에, 지시 사항을 표시하기 위하여 Enter 이벤트 프로시저를 사용할 수 있습니다. 예를 들어, 작은 폼이나 메시지 상자를 표시하기 위하여 매크로나 이벤트 프로시저를 사용할 수 있습니다.

팁  컨트롤이 포커스를 잃는 것을 방지하기 위해 Exit 이벤트의 Cancel 인수를 True로 지정합니다.


Error 이벤트

컨트롤이 오류를 탐지하고 호출한 프로그램에 오류 정보를 반환하지 못했을 때 발생합니다.

구문

다중 페이지일 경우
Private Sub object_Error( index As Long, ByVal Number As Integer, ByVal Description As MSForms.ReturnString, ByVal SCode As SCode, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, ByVal CancelDisplay As MSForms.Return Boolean)

다른 컨트롤일 경우
Private Sub object_Error( ByVal Number As Integer, ByVal Description As  MSForms.ReturnString, ByVal SCode As SCode, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, ByVal CancelDisplay As  MSForms.ReturnBoolean)

Error 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 이 이벤트와 관련된 다중 페이지의 페이지 인덱스.
Number	필수. 오류를 구별기 위하여 컨트롤이 사용하는 특별한 값을 지정합니다.
Description	필수. 오류의 내용 설명.
Scode	필수. 오류의 OLE 상태 코드 를 지정합니다. 하위 16 비트는 Number 인수에 해당하는 값을 지정합니다.
Source	필수. 이벤트를 초기화하는 컨트롤을 구별해주는 문자열.
HelpFile	필수. 오류를 설명하는 도움말 파일의 확인된 전체 경로명을 지정합니다.
HelpContext	필수. 오류에 대한 설명이 있는 도움말 파일 항목의 도움말 구문 ID를 지정합니다.
CancelDisplay	필수. 메시지 상자에 오류 문자열을 표시할 수 있는지의 여부를 지정합니다.
참고

Error 이벤트용으로 작성된 코드는 컨트롤이 오류 조건에 반응하는 방법을 결정합니다.

오류 조건을 처리하기 위한 기능은 응용 프로그램에 따라 다릅니다. Error 이벤트는 응용 프로그램이 처리할 준비를 하지 못한 오류가 발생했을 때 초기화됩니다.


KeyDown, KeyUp 이벤트

사용자가 키를 누르거나 놓을 때 연속해서 발생합니다. KeyDown은 사용자가 키를 누를 때 발생합니다. KeyUp은 사용자가 키를 놓을 때 발생합니다.

구문

Private Sub object_KeyDown( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)

Private Sub object_KeyUp( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState)

KeyDown과 KeyUp 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
KeyCode	필수. 누르거나 뗀 키의 코드를 나타내는 정수.
Shift	필수. SHIFT, CTRL, ALT키의 상태.
설정

Shift에 대한 설정은 다음과 같습니다.

상수	값	설명
fmShiftMask	1	SHIFT키를 눌렀습니다.
fmCtrlMask	2	CTRL키를 눌렀습니다.
fmAltMask	4	ALT키를 눌렀습니다.
참고

KeyDown 이벤트는 실행 중인 폼이나 그 폼의 컨트롤이 포커스를 가지고 있는 동안 사용자가 실행 중인 폼의 키를 눌렀을 때 발생합니다. KeyUp 이벤트가 발생할 때마다, KeyDown과 KeyPress 이벤트는 사용자가 키를 놓을 때까지 반복해서 바뀝니다. 포커스가 맞추어진 폼과 컨트롤은 모든 키누름을 받습니다. 폼은 폼에 컨트롤이 없거나 보이는 폼들이 사용하지 못할 때만 포커스가 맞추어집니다.

이 이벤트는 매크로의 SendKeys 동작이나 Visual Basic의 SendKeys 문을 사용하여 폼이나 컨트롤에 키누름을 보내는 경우 발생합니다.

KeyDown과 KeyUp 이벤트는 특정하게 다음과 같은 내용을 확인하거나 구분하는 데 사용합니다.

기능키와 같은 확장된 문자키

HOME, END, PAGEUP, PAGEDOWN, UP ARROW, DOWN ARROW, RIGHT ARROW, LEFT ARROW, TAB키 같은 키보드 명령

키의 조합과 표준 키보드 변경자(SHIFT, CTRL, ALT)

숫자키 집합과 키보드 숫자키

KeyDown과 KeyUp 이벤트는 다음 상황에서는 발생하지 않습니다.

사용자가 Default 속성이 True로 설정된 명령 단추를 가진 폼에서 ENTER키를 눌렀을 경우

사용자가 Cancel 속성이 True로 설정된 명령 단추를 가진 폼에서 ESC키를 눌렀을 경우

KeyDown과 KeyPress 이벤트는 ANSI키를 누르거나 보낼 때 발생합니다. KeyUp 이벤트는 키를 누르거나 보내어 생기는 컨트롤의 이벤트 다음에 발생합니다. 키누름이 포커스를 한 컨트롤에서 다른 컨트롤로 이동시키는 경우, KeyDown 이벤트는 첫번째 컨트롤에 대해 발생합니다. 반면에 KeyPress와 KeyUp 이벤트는 두번째 컨트롤에 대해 발생합니다.

키보드와 관련된 이벤트는 다음과 같습니다.

1	KeyDown

2	KeyPress

3	KeyUp

팁  KeyDown과 KeyUp 이벤트는 폼과 폼의 컨트롤에만 적용됩니다. ANSI 문자를 해석하거나 누른 키에 응답하는 ANSI 문자를 찾기 위해서 KeyPress 이벤트를 사용합니다.


KeyPress 이벤트

사용자가 ANSI키를 누르면 발생합니다.

구문

Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

KeyPress 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
KeyANSI	필수. 표준 숫자 ANSI 키 코드를 나타내는 정수값.
참고

KeyPress 이벤트는 폼이나 폼의 컨트롤이 포커스를 가지고 있는 동안 실행 중인 폼에 사용자가 입력할 수 있는 문자(ANSI키)를 만들어내는 키를 누를 때 발생합니다. 이벤트는 키를 누르기 전이나 후에 발생합니다. 이 이벤트는 또한 ANSI 키누름을 매크로의 SendKeys  동작이나 Visual Basic의 SendKeys 문을 사용하여 폼이나 폼의 컨트롤에 보내는 경우 발생합니다.

KeyPress 이벤트는 다음 키 중 하나를 누르면 발생합니다.

출력할 수 있는 키보드 문자

표준 영문자와 조합된 CTRL키

특별한 문자와 조합된 CTRL키

BACKSPACE키

ESC키

KeyPress는 다음과 같은 상황에서는 발생하지 않습니다.

TAB키 누르기

ENTER키 누르기

화살표키 누르기

키를 눌러 한 컨트롤에서 다른 컨트롤로 포커스를 이동할 때

팁   BACKSPACE키는 ANSI 문자 집합의 일부이지만 DELETE키는 그렇지 않습니다. BACKSPACE키를 사용한 컨트롤에서 문자를 삭제하는 것은 KeyPress 이벤트를 일으킵니다. 그러나 DELETE키를 사용하면 KeyPress 이벤트를 일으키지 않습니다.

사용자가 ANSI 키 코드를 만드는 키를 누르고 있을 때, KeyDown과 KeyPress 이벤트는 반복해서 바뀝니다. 사용자가 키를 떼면 KeyUp 이벤트가 발생합니다. 포커스가 맞추어진 폼과 컨트롤은 모든 키누름을 받습니다. 폼은 컨트롤이 없거나 보이는 폼을 사용하지 못할 때만 포커스가 맞추어집니다.

KeyPress 이벤트에 대한 기본 동작은 누른 키에 응답하는 이벤트 코드를 처리하는 것입니다. KeyANSI는 누른 키나 키 조합에 대응하는 ANSI 문자를 가리킵니다. KeyPress 이벤트는 두 개의 분리된 문자와 같은 분리된 키 코드로써 각 문자를 대문자와 소문자로 해석합니다.

키보드의 물리적 상태에 응답하거나 기능키, 전환키, 키보드 변경자(ALT, SHIFT, CTRL)와 같은 KeyPress 이벤트에 의해 인식되지 않는 키누름을 처리하기 위하여 KeyDown과 KeyUp 이벤트 프로시저를 사용합니다.

키보드와 관련된 이벤트는 다음과 같습니다.

1	KeyDown

2	KeyPress

3	KeyUp


Layout 이벤트

폼, 프레임, 또는 다중 페이지가 크기를 변경할 때 발생합니다.

구문

다중 페이지일 경우
Private Sub object_Layout( index As Long)

다른 모든 컨트롤일 경우
Private Sub object_Layout( )

Layout 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Index	필수. 크기를 변경하는 다중 페이지의 페이지 인덱스.
참고

Layout 이벤트의 기본 동작은 컨트롤의 새 위치를 계산하는 것과 화면을 다시 표시하는 것입니다.

사용자는 컨트롤의 크기를 변경하여 Layout 이벤트를 초기화할 수 있습니다.

AutoSize 속성을 지원하는 컨트롤에 대해서 Layout 이벤트는 AutoSize가 컨트롤의 크기를 변경할 때 초기화됩니다. 이는 사용자가 컨트롤의 크기에 영향을 주는 속성 값을 변경시킬 때 발생합니다. 예를 들어, 입력란이나 이름표의 글꼴 크기를 크게 하면 명백하게 컨트롤의 차원이 변경되고, Layout 이벤트가 초기화됩니다.


MouseDown, MouseUp 이벤트

사용자가 마우스 단추를 누를 때 발생합니다. MouseDown은 사용자가 마우스를 누를 때 발생하고, MouseUp은 사용자가 마우스 단추를 놓을 때 발생합니다.

구문

다중 페이지, 연속 탭일 경우
Private Sub object_MouseDown( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub object_MouseUp( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

다른 컨트롤일 경우
Private Sub object_MouseDown( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub object_MouseUp( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

MouseDown과 MouseUp 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Index	필수. 지정한 이벤트를 가진 다중 페이지 또는 연속 탭의 페이지나 탭 인덱스.
Button	필수. 이벤트를 발생시키는 마우스 단추를 구별해주는 정수 값.
Shift	필수. SHIFT, CTRL, ALT키의 상태.
X, Y	필수. 폼, 프레임 또는 페이지의 왼쪽이나 위쪽에서부터 포인트 단위로 측정된 수평 또는 수직 위치.
설정

Button에 대한 설정은 다음과 같습니다.

상수	값	설명
fmButtonLeft	1	왼쪽 단추를 눌렀습니다.
FmButtonRight	2	오른쪽 단추를 눌렀습니다.
FmButtonMiddle	4	가운데 단추를 눌렀습니다.
Shift에 대한 설정은 다음과 같습니다.

값	설명
1	SHIFT키를 눌렀습니다.
2	CTRL키를 눌렀습니다.
3	SHIFT와 CTRL키를 눌렀습니다.
4	ALT키를 눌렀습니다.
5	ALT와 SHIFT키를 눌렀습니다.
6	ALT와 CTRL키를 눌렀습니다.
7	ALT, SHIFT, CTRL키를 눌렀습니다.
각 키보드 변경자를 다음 상수를 사용해 구별할 수 있습니다.

상수	값	설명
fmShiftMask	1	SHIFT키를 검출하기 위한 마스크.
FmCtrlMask	2	CTRL키를 검출하기 위한 마스크.
FmAltMask	4	ALT키를 검출하기 위한 마스크.
참고

다중 페이지에서 MouseDown 이벤트는 사용자가 컨트롤에 마우스 단추를 누를 때 발생합니다.

연속 탭에서는 인덱스 인수가 사용자가 누른 탭을 식별해줍니다. 인덱스 -1은 사용자가 탭을 누르지 않았다는 것을 가리킵니다. 예를 들어, 컨트롤의 오른쪽 위 가장자리에 탭이 없는 경우 오른쪽 위 가장자리에 누르는 것은 인덱스를 -1로 설정합니다.

폼에서 사용자는 폼의 공백, 레코드 선택자, 이동줄에서 마우스 단추를 눌렀다 떼어 MouseDown과 MouseUp 이벤트를 만들 수 있습니다.

마우스와 관련된 일련의 이벤트는 다음과 같습니다.

1	MouseDown

2	MouseUp

3	Click

4	DblClick

5	MouseUp

MouseDown나 MouseUp 이벤트 프로시저는 마우스 단추를 누르거나 놓을 때 발생하는 동작을 지정합니다. MouseDown과 MouseUp 이벤트는 왼쪽, 가운데, 오른쪽 마우스 단추를 구별할 수 있도록 해줍니다. SHIFT, CTRL, ALT 키보드 변경자를 사용하는 마우스 키보드 조합의 코드 역시 작성할 수 있습니다.

포인터가 폼이나 컨트롤에 있는 동안 마우스 단추를 누르면 그 개체는 마우스를 �포착�하고 마지막 MouseUp 이벤트를 포함해 모든 마우스 이벤트를 받습니다. 이는 마우스 이벤트에 의해 반환된 X, Y 마우스 포인터 좌표가 항상 좌표를 받을 수 있는 개체의 경계 안에 있지 않을 수도 있다는 것을 의미합니다.

마우스 단추를 연속적으로 누르는 경우 마우스를 포착하는 개체는 모든 단추를 놓을 때까지 모든 연속적인 마우스 이벤트를 받습니다.

MouseDown이나 MouseUp 이벤트가 발생했을 때 SHIFT, CTRL, ALT키의 상태를 구별하기 위해 Shift 인수를 사용합니다. 예를 들어, CTRL과 ALT를 모두 누르면 Shift의 값은 6이 됩니다.


MouseMove 이벤트

사용자가 마우스를 이동시키면 발생합니다.

구문

다중 페이지, 연속 탭일 경우
Private Sub object_MouseMove( index As Long, ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

다른 컨트롤일 경우
Private Sub object_MouseMove( ByVal Button As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

MouseMove 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 이 이벤트와 관련된 다중 페이지 또는 연속 탭의 페이지나 탭 인덱스.
Button	필수. 마우스 단추의 상태를 구분하는 정수 값.
Shift	필수. SHIFT, CTRL, ALT키의 상태를 지정합니다.
X, Y	필수. 컨트롤의 왼쪽이나 위쪽 가장자리에서 포인트 단위로 측정된 수평 또는 수직 위치.
설정

index 인수는 어떤 페이지나 탭을 누를지 지정합니다. �1은 사용자가 어떤 페이지나 탭도 누르지 않은 것을 나타냅니다.

Button에 대한 설정은 다음과 같습니다.

값	설명
0	아무 단추도 누르지 않았습니다.
1	왼쪽 단추를 눌렀습니다.
2	오른쪽 단추를 눌렀습니다.
3	오른쪽과 왼쪽 단추를 눌렀습니다.
4	가운데 단추를 눌렀습니다.
5	가운데와 왼쪽 단추를 눌렀습니다.
6	가운데와 오른쪽 단추를 눌렀습니다.
7	세 단추 모두를 눌렀습니다.
Shift에 대한 설정은 다음과 같습니다.

값	설명
1	SHIFT키를 눌렀습니다.
2	CTRL키를 눌렀습니다.
3	SHIFT와 CTRL키를 눌렀습니다.
4	ALT키를 눌렀습니다.
5	ALT와 SHIFT키를 눌렀습니다.
6	ALT와 CTRL키를 눌렀습니다.
7	ALT, SHIFT, CTRL키를 눌렀습니다.
각 키보드 변경자를 다음 상수를 사용해 구별할 수 있습니다.

상수	값	설명
fmShiftMask	1	SHIFT키를 검출하기 위한 마스크.
fmCtrlMask	2	CTRL키를 검출하기 위한 마스크.
fmAltMask	4	ALT키를 검출하기 위한 마스크.
참고

MouseMove 이벤트는 폼, 폼의 컨트롤, 이름표에 적용됩니다.

MouseMove 이벤트는 마우스 포인터가 개체 위를 움직일 때 계속해서 발생합니다. 다른 개체가 마우스를 포착하지 않는 한, 개체는 마우스 위치가 개체의 경계선 안에 있을때 마다 MouseMove 이벤트를 인식합니다.

또한 마우스가 움직이지 않더라도 폼을 이동하면 MouseMove 이벤트가 발생합니다. MouseMove 이벤트는 폼이 포인터 아래로 움직일 때 발생합니다. 만약 매크로나 이벤트 프로시저가 MouseMove 이벤트에 응답하여 폼을 이동시키는 경우, 이벤트는 계속적으로 MouseMove 이벤트를 발생시킵니다.

두 개의 컨트롤이 밀접하여 같이 있고 그 사이를 마우스 포인터로 재빨리 이동할 수 있으면 MouseMove 이벤트가 그 공간에 대해서 발생하지 않을 수도 있습니다. 그런 경우 양쪽 컨트롤의 MouseMove 이벤트에 반응해야 할 수도 있습니다.

마우스 단추의 상태를 구분하기 위해 Button 인수에 반환된 값을 사용할 수 있습니다.

MouseMove 이벤트가 발생할 때 SHIFT, CTRL, ALT키의 상태를 구분하기 위하여 Shift 인수를 사용할 수 있습니다. 예를 들어, CTRL과 ALT키를 동시에 누르면 Shift의 값은 6이 됩니다.

팁  마우스 단추를 눌렀다 뗄 때 발생하는 이벤트에 반응하기 위하여 MouseDown과 MouseUp 이벤트 프로시저를 사용할 수 있습니다.


RemoveControl 이벤트

컨트롤이 컨테이너에서 삭제될 때 발생합니다.

구문

다중 페이지일 경우
Private Sub object_RemoveControl( index As Long, ctrl As Control)

다른 컨트롤일 경우
Private Sub object_RemoveControl( ctrl As Control)

RemoveControl 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 삭제된 컨트롤을 담고 있는 다중 페이지의 페이지 인덱스.
Ctrl	필수. 삭제된 컨트롤.
참고

이 이벤트는 컨트롤이 폼에서 삭제되었을 때 발생합니다. 닫힌 폼으로 인하여 컨트롤이 지워질 때는 발생하지 않습니다.


Scroll 이벤트

이동 상자의 위치가 다시 바뀔 때 발생합니다.

구문

이동줄일 경우
Private Sub object_Scroll( )

다중 페이지일 경우
Private Sub object_Scroll( index As Long, ActionX As fmScrollAction, ActionY As fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal  ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle)

프레임일 경우
Private Sub object_Scroll( ActionX As fmScrollAction, ActionY As fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle)

Scroll 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 이 이벤트와 관련된 다중 페이지의 페이지 인덱스.
ActionX	필수. 수평 방향으로 발생한 동작.
ActionY	필수. 수직 방향으로 발생한 동작.
RequestDx	필수. 포인트로 측정한 수평 방향으로 이동하고자 하는 이동줄 거리.
RequestDy	필수. 포인트로 측정한 수직 방향으로 이동하고자 하는 이동줄 거리.
ActualDx	필수. 포인트로 측정한 수평 방향으로 이동하고자 하는 이동줄 거리.
ActualDy	필수. 포인트로 측정한 수직 방향으로 이동하고자 하는 이동줄 거리.
설정

ActionX와 ActionY에 대한 설정은 다음과 같습니다.

상수	값	설명
fmScrollActionNoChange	0	아무 변화도 일어나지 않았습니다.
fmScrollActionLineUp	1	수직 이동줄에서 위로 조금 올라가고, 수평 이동줄에서  왼쪽으로 조금 이동합니다. 이동하는 것은 이동줄을 움직이기 위해 키보드에서 위쪽이나 왼쪽 화살표키를 누르는 것과 같습니다.
fmScrollActionLineDown	2	수직 이동줄에서 아래로 조금 내려가고, 수평 이동줄에서 오른쪽으로 조금 이동합니다. 이동하는 것은 이동줄을 움직이기 위해 키보드에서 아래쪽이나 오른쪽 화살표 키를 누르는 것과 같습니다.
fmScrollActionPageUp	3	수직 이동줄에서 한 페이지 위로 올라가고, 수평 이동줄에서 한 페이지 왼쪽으로 이동합니다. 이동하는 것은 이동줄을 움직이기 위해 키보드에서 PAGE UP키를 누르는 것과 같습니다.
fmScrollActionPageDown	4	수직 이동줄에서 한 페이지 아래로 내려가고, 수평 이동줄에서 한 페이지 오른쪽으로 이동합니다. 이동하는 것은 이동줄을 움직이기 위해 키보드에서 PAGE DOWN키를 누르는 것과 같습니다.
fmScrollActionBegin	5	수직 이동줄의 최상점, 수평 이동줄의 왼쪽 끝.
fmScrollActionEnd	6	수직 이동줄의 최하점, 수평 이동줄의 오른쪽 끝.
FmScrollActionPropertyChange	8	변경된 ScrollTop이나 ScrollLeft 속성의 값. 이동 방향이나 이동량은 변경된 속성이 어느 것인지와 새로운 속성 값에 의존합니다.
FmScrollActionControlRequest	9	컨트롤은 이동하기 위한 컨테 이너를 요구합니다. 이동량은 포함되어 있는 특정한 컨트롤과 컨테이너에 의존합니다.
FmScrollActionFocusRequest	10	사용자는 다른 컨트롤로 이동 합니다. 이동량은 선택된 컨트롤의 위치에 따라 다르고, 일반적으로 선택된 컨트롤을 움직여 사용자에게 완전히 보이도록 하는 효과가 있습니다.
참고

폼, 프레임 또는 페이지와 관련된 Scroll 이벤트의 결과는 ActionX, ActionY, ActualX, ActualY 인수를 반환합니다. ActionX와 ActionY는 발생한 동작을 알아냅니다. ActualX와 ActualY는 이동 상자가 움직인 거리를 알아냅니다.

기본 동작은 이동 상자의 새 위치를 계산하여 그 위치까지 이동하는 것입니다.

폼, 프레임 또는 페이지에 대한 Scroll 메서드를 생성함으로써 Scroll 이벤트를 초기화할 수 있습니다. 이동 상자를 움직여 Scroll 이벤트를 작성할 수 있습니다.

독립 실행형 이동줄과 관련된 Scroll 이벤트는, 사용자가 이동 상자를 다른 방향으로 움직였다는 것을 나타냅니다. 이동 상자가 아닌 이동줄을 누른 사용자나 코드에 의해 이동줄의 값이 변할 때 이 이벤트는 초기화될 수 없습니다.


SpinDown, SpinUp 이벤트

SpinDown은 사용자가 아래쪽이나 왼쪽 회전자 화살표를 누를 때 발생합니다. SpinUp은 사용자가 위쪽이나 오른쪽 회전자 화살표를 누를 때 발생합니다.

구문

Private Sub object_SpinDown( )

Private Sub object_SpinUp( )

SpinDown 와 SpinUp 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

SpinDown 이벤트는 Value 속성을 감소시킵니다. SpinUp 이벤트는 Value를 증가시킵니다.


Zoom 이벤트

Zoom 속성 값이 변경될 때 발생합니다.

구문

프레임일 경우
Private Sub object_Zoom( Percent As Integer)

다중 페이지일 경우
Private Sub object_Zoom( index As Long, Percent As Integer)

Zoom 이벤트 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Index	필수. 이 이벤트와 관련된 다중 페이지의 페이지 인덱스.
Percent	필수. 폼이 확대되고 축소될 백분율. 유효 값의 범위는 10 %에서 400 %까지입니다.
참고

Zoom 속성의 값은 폼이나 페이지의 크기를 변경하는 방법을 구분합니다. 속성 값은 컨트롤의 크기가 현재 크기에 관련되어 변경되는 방법을 구분합니다. 100 미만의 수치는 표시된 폼의 크기를 감소시킵니다. 100을 초과하는 수치는 표시된 폼의 크기를 증가시킵니다.

이 속성을 10에서 400까지의 모든 정수로 설정할 수 있습니다.


Add 메서드

연속 탭이나 다중 페이지에 탭이나 페이지를 추가하거나 삽입합니다. 또는 프로그램 식별자(ProgID)를 사용하여 페이지나 폼에 컨트롤을 추가합니다.

구문

다중 페이지, 연속 탭일 경우
Set Object = object.Add( [ Name [,  Caption [,  index]]])

다른 컨트롤일 경우
Set Control = object.Add(  ProgID [,  Name [,  Visible]])

Add 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Name	선택. 추가된 개체의 이름을 지정합니다. 이름이 지정되지 않은 경우, 시스템은 폼이 사용된 응용 프로그램의 규칙에 따라 기본 이름을 만들어 냅니다.
Caption	선택. 탭이나 컨트롤에 표시할 제목을 지정합니다. 제목이 지정되지 않으면 시스템은 폼이 사용되는 응용 프로그램의 규칙에 따라 기본 제목을 만듭니다.
index	선택. Pages나 Tabs 컬렉션에서 페이지나 탭의 위치를 확인합니다. 인덱스가 지정되어 있지 않은 경우, 시스템은 Pages나 Tabs 컬렉션의 끝에 페이지나 탭을 추가하고 적당한 인덱스 값을 할당합니다.
ProgID	필수. 프로그램 식별자. 개체 클래스를 구분하는 공간이 없는 텍스트 문자열. ProgID의 표준 구문은        <Vendor >.<Component>.<Version>입니다. ProgID는 클래스 식별자(CLSID)와 연결되어 있습니다.
Visible	선택. 개체가 보이는 경우 True이고(기본 설정), 숨어 있는 경우 False입니다.
설정

각 컨트롤의 ProgID 값은 다음과 같습니다.

확인란	Forms.CheckBox.1
콤보 상자	Forms.ComboBox.1
명령어 단추	Forms.CommandButton.1
프레임	Forms.Frame.1
이미지	Forms.Image.1
이름표	Forms.Label.1
목록 상자	Forms.ListBox.1
다중 페이지	Forms.MultiPage.1
옵션 단추	Forms.OptionButton.1
이동줄	Forms.ScrollBar.1
회전자	Forms.SpinButton.1
연속 탭	Forms.TabStrip.1
입력란	Forms.TextBox.1
전환 단추	Forms.ToggleButton.1
참고

다중 페이지 컨트롤에서 Add 메서드는 Page 개체를 반환합니다. 연속 탭에서는 Tab 개체를 반환합니다. 첫번째 페이지나 Tab 컬렉션에 대한 인덱스 값이 0이고, 두번째 Page나 Tab 컬렉션에 대한 인덱스 값은 1입니다, 나머지도 이와 같습니다.

개체의 Controls 컬렉션에서 Add 메서드는 컨트롤을 지정된 ProgID에 반환합니다. AddControl 이벤트는 컨트롤이 추가된 후에 발생합니다.

다음 구문은 디자인 모드에서 컨트롤의 Text 속성을 반환합니다.

userform1.thebox.text

실행 모드에서 컨트롤을 추가하려면, 컨트롤 속성을 참조하기 위해 다음 감탄문을 사용합니다. 예를 들어, 실행 모드에서 추가된 컨트롤의 Text 속성을 반환하기 위해 다음 구문을 사용합니다.

userform1!thebox.text

팁  실행 모드에서 컨트롤에 Add 메서드를 추가할 때만 실행 모드에서 컨트롤의 Name 속성을 변경할 수 있습니다.


AddItem 메서드

단일 열 목록 상자나 콤보 상자에서는 목록에 항목을 추가합니다. 다중 열 목록 상자나 콤보 상자에서는 목록에 행을 추가합니다.

구문

Variant = object.AddItem( [ item [,  varIndex]])

AddItem 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Item	선택. 추가할 항목의 행을 지정합니다. 첫번째 항목의 행 숫자는 0입니다. 두번째 항목의 행 숫자는 1입니다. 나머지도 이와 같습니다.
VarIndex	선택. 새 항목이나 행이 위치한 개체 내에 위치를 지정한 정수.
참고

varIndex에 유효 값을 제공하는 경우, AddItem 메서드는 목록에서 항목이나 행을 그 위치에 놓습니다. VarIndex 값을 생략한 경우, 메서드는 목록 끝에 항목의 행을 추가합니다.

VarIndex 값은 ListCount 속성 값보다 반드시 작아야 합니다.

다중 열 목록 상자나 콤보 상자에서는 AddItem을 모든 행에 삽입합니다. 즉, 각 컨트롤 열에 항목을 삽입하는 것입니다. 값을 첫번째 열 다음의 항목에 할당하기 위하여, List 속성 또는 Column 속성을 사용하고, 항목의 행과 열을 지정합니다.

컨트롤이 데이터에 바운드된 경우, AddItem 메서드는 실패합니다.

팁   List를 사용하여 콤보 상자나 목록 상자에 한 번에 한 행 이상을 추가할 수 있습니다.


Clear 메서드

개체나 컬렉션에서 모든 개체를 삭제합니다.

구문

object.Clear

Clear 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

다중 페이지나 연속 탭에서, Clear 메서드는 개개의 페이지나 탭을 삭제합니다.

목록 상자나 콤보 상자에서, Clear는 목록의 모든 항목을 삭제합니다.

Controls 컬렉션에서, Clear는 실행 모드에서 Add 메서드로 만들어진 컨트롤을 삭제합니다. 디자인 모드에서 만들어진 컨트롤에 Clear를 사용하면 오류가 발생합니다.

컨트롤이 데이터에 연결되어 있으면, Clear 메서드 사용에 실패하게 됩니다.


Copy 메서드

개체의 내용을 클립보드로 복사합니다.

구문

object.Copy

Copy 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

원본은 개체에 남아 있습니다.

복사될 실제 구문은 실제 구문에 따라 다릅니다. 예를 들어, 페이지에서 Copy 메서드는 현재 선택된 컨트롤 한 개나 여러 개의 컨트롤을 복사합니다. 입력란이나 콤보 상자에서는 현재 선택된 텍스트를 복사합니다.

폼, 프레임 또는 페이지에서 Copy를 사용하면 현재 활성화된 컨트롤을 복사합니다.


Cut 메서드

개체에서 선택된 정보를 삭제하고 클립보드로 전송합니다.

구문

object.Cut

Cut 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

콤보 상자나 입력란에 대해서, Cut 메서드는 컨트롤에서 현재 선택된 텍스트를 클립보드로 삭제합니다. 이 메서드는 포커스가 컨트롤에 맞추어져 있을 것을 요구하지는 않습니다.

폼, 페이지 또는 프레임에서 Cut은 현재 선택된 컨트롤을 클립보드로 삭제합니다. 이 메서드는 실행 모드에서 만들어진 컨트롤을 삭제할 수만 있습니다.


DropDown 메서드

콤보 상자의 목록을 표시합니다.

구문

object.DropDown

DropDown 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

콤보 상자에서 목록을 열기 위해 DropDown 메서드를 사용합니다.


GetFormat 메서드

특정한 유형이 DataObject에 있는지를 나타내는 정수 값을 반환합니다.

구문

Boolean = object.GetFormat( [ format])

GetFormat 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Format	선택. DataObject에 존재할 수 있는 특정 유형을 지정하는 정수나 문자열. 지정된 특정 유형이 DataObject 안에 존재하는 경우, GetFormat은 True를 반환합니다.
설정

format에 대한 설정은 다음과 같습니다.

값	설명
1	텍스트 유형.
문자열이나 1이 아닌 모든 정수	SetText에서 DataObject로 이동하는 사용자 정의 DataObject 유형.
참고

GetFormat 메서드는 DataObject의 현재 유형 목록에서 유형을 찾습니다. 유형이 DataObject에 있는 경우, GetFormat은 True를 반환합니다. 유형이 없다면, GetFormat는 False를 반환합니다.

DataObject는 현재 텍스트 유형만 지원합니다.


GetFromClipboard 메서드

클립보드에서 DataObject로 데이터를 복사합니다.

구문

String = object.GetFromClipboard( [ format])

GetFromClipboard 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
참고

DataObject는 다중 데이터 항목들을 포함할 수 있습니다. 그러나 각 항목은 다른 유형에 있어야 합니다. 예를 들어, DataObject는 한 개의 텍스트 항목과 한 개의 사용자 정의 유형을 포함할 수 있습니다. 그러나 두 개의 텍스트를 포함할 수 없습니다.


GetText 메서드

특정 유형을 사용하여 DataObject로부터 텍스트 문자열을 검색합니다.

구문

String = object.GetText( [ format])

GetText 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Format	선택. DataObject에서 검색하기 위하여 데이터 형식을 지정하는 문자열 또는 정수.
설정

format에 대한 설정은 다음과 같습니다.

값	설명
1	텍스트 유형.
문자열이나 1이 아닌 모든 정수	SetText에서 DataObject로 이동하는 사용자 정의 DataObject 유형.
참고

DataObject는 다중 유형을 지원하는데, 각 유형마다 하나의 데이터 항목만 지원합니다. 예를 들어, DataObject는 한 개의 텍스트 항목과 한 개의 사용자 정의 유형 항목을 포함합니다. 그러나 두 개의 텍스트 항목을 포함하지 않습니다.

어떤 유형도 지정하지 않은 경우, GetText 메서드는 DataObject로 부터 텍스트 유형의 정보를 요구합니다.


Item 메서드

위치나 이름을 사용하여 컬렉션의 구성원을 반환합니다.

구문

Set Object = object.Item(  collectionindex)

Item 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Collectionindex	필수. 컬렉션에서 구성원의 위치나 인덱스.
설정

collectionindex는 문자열이나 정수가 될 수 있습니다. 문자열인 경우, 그것은 유효한 구성원 이름입니다. 정수인 경우, 최소값은 0이고 최대값은 컬렉션의 항목 수보다 작은 값입니다.

참고

잘못된 인덱스와 이름이 지정되면 오류가 발생합니다.


Move 메서드

폼과 컨트롤을 옮기거나, Controls 컬렉션에 있는 모든 컨트롤을 이동시킵니다.

구문

폼 또는 컨트롤일 경우

   object.Move( [Left [,  Top [,  Width [,  Height [,  Layout]]]]])

컨트롤 컬렉션일 경우

   object.Move( X, Y)

Move 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Left	선택. 개체의 왼쪽 끝의 수평 좌표를 포인트 단위로 나타내는 단정도 값
Top	선택. 개체의 위쪽 끝의 수직 좌표를 포인트 단위로 나타내는 단정도 값.
Width	선택. 개체의 폭을 포인트 단위로 나타내는 단정도 값.
Height	선택. 개체의 높이를 포인트 단위로 나타내는 단정도 값.
Layout	선택. Layout 이벤트가 이 이동에 따라 컨트롤의 상위 컨트롤을 초기화하는지의 여부를 나타내는 Boolean 값. False가 기본값입니다.
X, Y	필수. Controls 컬렉션에 있는 각 컨트롤의 현재 수평과 수직 위치로부터 변화를 포인트 단위로 지정하는 단정도 값.
설정

이 속성의 최대값과 최소값은 응용 프로그램마다 다릅니다.

참고

폼이나 컨트롤에서, 선택을 포함하는 폼의 가장자리와 비교하여 지정된 위치로 선택을 이동합니다.

명명된 인수를 사용할 수 있습니다. 또는 위치를 사용해 인수를 입력할 수 있습니다. 명명된 인수를 사용하면, 어떤 순서로든 인수를 열거할 수 있습니다. 명명된 인수를 사용하지 않으면, 지정하지 않은 인수의 상대적인 위치를 지정하기 위해 쉼표를 사용하여 보이는 순서대로 인수를 입력해야 합니다. 지정되지 않은 인수는 변경되지 않은 상태로 남아 있습니다.

Controls 컬렉션에서, 폼, 프레임, 또는 페이지의 현재 위치로부터 지정된 거리만큼 떨어져 있는 컬렉션의 모든 컨트롤을 이동할 수 있습니다.


Paste 메서드

클립보드의 내용을 개체에 전송합니다.

구문

object.Paste

Paste 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

콤보 상자나 입력란으로 붙여 넣어진 데이터는 텍스트로 취급합니다.

붙여넣기 메서드가 폼과 함께 사용될 때, 폼에 개체를 붙여 넣을 수 있습니다.


PutInClipboard 메서드

데이터를 DataObject에서 클립보드로 이동합니다..

구문

object.PutInClipboard

PutInClipboard 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

PutlnClipboard 메서드는 텍스트 유형에 있는 DataObject의 구문을 가진 클립보드의 내용을 바꾸어 놓습니다.


RedoAction 메서드

가장 최근의 실행 취소 동작의 효과를 반전시킵니다.

구문

Boolean = object.RedoAction

RedoAction 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

재실행은 마지막 동작을 반드시 취할 필요 없는 마지막 실행 취소를 반전시킵니다. 모든 동작을 실행 취소할 수는 없습니다.

예를 들어, 텍스트를 입력란에 붙여 넣고 텍스트를 삭제하기 위한 실행 취소 명령을 선택한 후에 텍스트를 다시 되돌리기 위해 재실행 명령을 선택합니다.

팁  CanRedo 속성이 False인 경우, 재실행 명령은 사용자 인터페이스에서 사용할 수 없고, RedoAction 메서드는 코드에서 유효하지 않습니다.

성공적이면, RedoAction은 True를 반환합니다.


Remove 메서드

컬렉션에서 구성원을 삭제합니다. 또는 폼, 프레임, 페이지에서 컨트롤을 삭제합니다.

구문

object.Remove(  collectionindex)

Remove 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Collectionindex	필수. 컬렉션의 구성원 위치나 인덱스. 문자열 값처럼 수도 받아들입니다. 값이 수인 경우, 최소값은 0이고, 최대값은 컬렉션의 구성원 수보다 작은 값입니다. 값이 문자열인 경우, 유효한 구성원 이름에 대응해야 합니다.
참고

이 메서드는 실행 모드에 추가된 컨트롤을 삭제합니다. 하지만 디자인 모드 에 추가된 컨트롤을 삭제하려고 하면 오류를 발생시킵니다.


RemoveItem 메서드

목록 상자나 콤보 상자의 목록에서 행을 삭제합니다.

구문

Boolean = object.RemoveItem(  index)

RemoveItem 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Index	필수. 삭제할 행을 지정합니다. 첫번째 행의 수는 0이고, 두번째 행의 수는 1입니다. 나머지는 이와 같습니다.
이 메서드는 목록 상자가 데이터 바운드인 경우(즉, RowSource 속성이 목록 상자의 데이터 원본을 지정할 때), 목록에서 행을 삭제하지 않습니다.


Repaint 메서드

폼이나 페이지를 다시 그려서 화면을 새로 고칩니다.

구문

Boolean = object.Repaint

Repaint 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

Repaint 메서드는 개체의 구문과 모양이 명백하게 변경되는 경우에는 유용합니다. 그리고 시스템이 자동적으로 영역을 다시 표시하기 전까지 기다릴 필요가 없습니다.


Scroll 메서드

이동줄을 개체에 이동합니다.

구문

object.Scroll( [ ActionX [,  ActionY]])

Scroll 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
ActionX	선택. 수평 방향으로 발생할 동작을 구분합니다.
ActionY	선택. 수직 방향으로 발생할 동작을 구분합니다
설정

ActionX와 ActionY에 대한 설정은 다음과 같습니다.

상수	값	설명
fmScrollActionNoChange	0	지정된 방향으로 이동하지 않습니다.
FmScrollActionLineUp	1	수직 이동줄에서 위로 올라가거나, 수평 이동줄에서 왼쪽으로 움직입니다. 움직임은 이동줄을 움직이기 위해 키보드에서 위쪽이나 왼쪽 화살표키를 누르는 것과 같습니다.
FmScrollActionLineDown	2	수직 이동줄에서 아래로 내려가거나, 수평 이동줄에서  오른쪽으로 움직입니다. 움직임은 이동줄을 움직이기 위해 키보드에서 아래쪽이나 오른쪽 화살표키를 누르는 것과 같습니다.
FmScrollActionPageUp	3	수직 이동줄에서 한 페이지 위로 올라가고, 수평 이동줄에서 한 페이지 왼쪽으로 움직입니다. 움직임은 이동줄을 움직이기 위해 키보드에서 PAGE UP키를 누르는 것과 같습니다.
FmScrollActionPageDown	4	수직 이동줄에서 한 페이지 아래로 내려가고, 수평 이동줄에서 한 페이지 오른쪽으로 움직입니다. 움직임은 이동줄을 움직이기 위해 키보드에서 PAGE DOWN키를 누르는 것과 같습니다.
fmScrollActionBegin	5	수직 이동줄의 최상점이나 수평 이동줄의 왼쪽 끝으로 이동합니다.
fmScrollActionEnd	6	수직 이동줄의 최하점이나 수평 이동줄의 오른쪽 끝으로 이동합니다.
참고

Scroll 메서드는 표시 영역보다 큰 폼, 프레임, 또는 페이지에 나타난 이동줄에 적용합니다. 이 메서드는 독립 실행형 이동줄이나 입력란에 나타난 이동줄에는 적용할 수 없습니다.


SetDefaultTabOrder 메서드

위에서 아래까지, 왼쪽에서 오른쪽까지의 기본 탭 순서 를 사용하여 폼에 각 컨트롤의 TabIndex 속성을 설정합니다.

구문

object.SetDefaultTabOrder

SetDefaultTabOrder 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

Microsoft Forms은 폼의 왼쪽 위 가장자리에서 컨트롤에서 시작하여 오른쪽으로 이동하는 탭 순서를 설정합니다. 탭 순서의 처음에 컨트롤을 폼의 왼쪽 가장자리에 가깝게 둡니다. 두 개 이상의 컨트롤이 폼의 왼쪽 가장자리에서부터 같은 거리에 있다면, 탭 순서의 값을 위에서 아래로 지정합니다.


SetFocus 메서드

포커스를 개체의 인스턴스로 이동합니다.

구문

object.SetFocus

SetFocus 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

포커스 설정이 실패하면 포커스는 이전 개체로 되돌아가고 오류가 발생합니다.

기본적으로 컨트롤에 포커스를 설정하는 것은 컨트롤 창을 활성화시키지 않거나, 그 창을 다른 컨트롤의 위쪽에 둡니다.

SetFocus 메서드는 다른 컨트롤을 포함하는 프레임뿐 아니라 빈 프레임에도 유효합니다. 빈 프레임은 자신의 포커스를 가지고, 계속해서 발생하는 키보드 이벤트는 프레임에 적용됩니다. 다른 컨트롤을 가지고 있는 프레임에서, 포커스는 프레임의 첫번째 컨트롤로 이동하고, 계속해서 발생하는 키보드 이벤트는 포커스를 가지고 있는 컨트롤에 적용됩니다.


SetText 메서드

문자열을 지정된 데이터 형식을 사용하여 DataObject로 복사합니다.

구문

object.SetText(  StoreData [,  format])

SetText 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
StoreData	필수. DataObject에 저장하기 위하여 데이터를 정의합니다.
Format	선택. StoreData 유형을 지정하는 정수나 문자열. DataObject에서 데이터를 검색할 때, 이 유형은 되살릴 데이터를 나타냅니다.
설정

format에 대한 설정은 다음과 같습니다.

값	설명
1	문자열 유형.
문자열이나 1이 아닌 정수	사용자 정의 DataObject 유형
참고

DataObject는 유형에 따라 데이터를 저장합니다. 사용자가 문자열을 제공할 때, DataObject는 지정된 유형 아래에서 텍스트를 저장합니다.

DataObject가 같은 유형의 데이터를 새 데이터로 갖는 경우, 새 데이터는 DataObject 안에서 기존의 데이터를 대신합니다. 새 데이터가 새 유형에 있으면, 새 데이터와 새 유형은 모두 DataObject에 추가되고, 기존 데이터도 함께 존재합니다.

아무런 유형도 지정되지 않은 경우, SetText 메서드는 텍스트 유형을 텍스트 문자열에 할당합니다. 새로운 유형이 지정된 경우, DataObject는 시스템에 새 유형을 등록합니다.


StartDrag 메서드

DataObject에 대한 끌어서 놓기 작업을 초기화합니다.

구문

fmDropEffect=Object.StartDrag([Effect as fmDropEffect])

StartDrag 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
Object	필수. 유효한 개체.
Effect	선택. 대상 컨트롤에 대한 놓기 작업의 영향.
설정

Effect에 대한 설정은 다음과 같습니다.

상수	값	설명
fmDropEffectNone	0	놓기 원본을 놓기 대상으로 복사하거나 이동하지 않습니다.
FmDropEffectCopy	1	놓기 원본을 놓기 대상으로 복사합니다.
FmDropEffectMove	2	놓기 원본을 놓기 대상으로 이동합니다.
FmDropEffectCopyOrMove	3	놓기 원본을 놓기 대상으로 복사하거나 이동합니다.
참고

끌기 동작은 현재 마우스 포인터 위치에서 현재 키보드 상태로 시작해 사용자가 마우스를 놓을 때 끝납니다. 끌어서 놓기 작업의 영향은 놓기 대상에 대해 선택된 영향에 따라 다릅니다.

예를 들어, 컨트롤의 MouseMove 이벤트는 StartDrag 메서드를 포함할 수 있습니다. 사용자가 컨트롤을 누르고 마우스를 움직이면 마우스 포인터는 Effect가 놓기 대상에 대해 유효한지를 나타내기 위해 변경됩니다.


UndoAction 메서드

실행 취소 명령을 지원하는 가장 최근의 동작을 반전시킵니다.

구문

Boolean = object.UndoAction

UndoAction 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

사용자 인터페이스의 실행 취소 명령은 UndoAction 메서드를 사용합니다. 예를 들어, 텍스트를 입력란에 붙여 넣은 경우, 텍스트를 삭제하고 입력란의 이전 구문을 복구하기 위해 UndoAction을 사용할 수 있습니다.

모든 사용자 동작이 취소될 수는 없습니다. 동작이 취소될 수 없으면, 실행 취소 명령은 다음 동작을 사용할 수 없습니다.

팁  CanUndo 속성이 False이면, 실행 취소 명령은 사용자 인터페이스에서 사용할 수 없고 UndoAction은 코드에서 유효하지 않습니다.

UndoAction이 폼에 적용되는 경우, 현재 레코드에 대한 모든 변경 사항은 없어집니다. UndoAction이 컨트롤에 적용되는 경우, 컨트롤 자체만 영향을 받게 됩니다.

폼이나 컨트롤이 새로 고쳐지기 전에 이 메서드를 적용해야 합니다. 이 메서드를 폼의 BeforeUpdate 이벤트나 컨트롤의 Change 이벤트에 포함하고자 할 것입니다.

UndoAction은 이벤트 프로시저에 ESC의 값을 보내기 위해 SendKeys 문을 사용하는 대안입니다.


ZOrder 메서드

z 순서의 전후에 개체를 위치시킵니다.

구문

object.ZOrder( [ zPosition])

ZOrder 메서드 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Zposition	선택. 컨테이너의 z 순서에서 컨트롤의 전후 위치.
설정

zPosition에 대한 설정은 다음과 같습니다.

상수	값	설명
fmTop	0	컨트롤을 z 순서의 앞에 놓습니다. 그 컨트롤은 다른 컨트롤 위에 나타납니다(기본 설정).
FmBottom	1	컨트롤을 z 순서의 뒤에 놓습니다. 그 컨트롤은 다른 컨트롤 아래에 나타납니다
참고

z 순서는 창과 컨트롤이 사용자에게 제공될 때 쌓이는 방법을 결정합니다. z 순서 뒤의 항목은 더 가까운 항목으로 겹쳐집니다. z 순서 앞의 항목은 뒤 항목 최상위에 나타납니다. zPosition 인수를 생략할 때, 개체를 앞으로 가져갑니다.

디자인 모드에서 맨앞으로나 맨뒤로 명령은 z 순서를 설정합니다. 맨앞으로는 ZOrder 메서드를 사용하는 것과 z 순서 앞에 개체를 두는 것에 동일합니다. 맨뒤로는 ZOrder를 사용하는 것과 z 순서 앞에 개체를 두는 것에 동일합니다.

이 메서드는 Controls 컬렉션의 구문이나 일련의 컨트롤에 영향을 미치지 않습니다.

팁   [맨뒤로] 또는 [맨앞으로]처럼 중복 명령을 실행 취소나 재실행할 수 없습니다. 예를 들어, 한 개체를 선택하고 바로 가는 메뉴의 [뒤로 이동]을 누르면, 그 동작을 실행 취소나 재실행할 수 없습니다.


Accelerator 속성

컨트롤에 대한 바로 가는 키를 설정하거나 검색합니다.

구문

object.Accelerator [= String]

Accelerator 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 바로 가는 키로서 사용할 문자.
참고

바로 가는 키를 지정하려면, Accelerator 속성에 한 문자를 입력합니다. 컨트롤의 속성 시트나 코드에서 Accelerator를 설정할 수 있습니다. 이 속성의 값에 두 개 이상의 문자가 있으면, 그 문자열의 첫번째 문자가 Accelerator의 값이 됩니다.

바로 가는 키를 사용할 때, 그 컨트롤이 Click 이벤트를 초기화시켰다는 것을 나타내는 시각적인 피드백(포커스이외의)은 없습니다. 예를 들어, 바로 가는 키가 명령어 단추에 적용되는 경우, 사용자는 인터페이스에서 눌러진 단추를 보지 못할 것입니다. 하지만, 사용자가 바로 가는 키를 누를 때, 그 단추는 포커스를 받습니다.

바로 가는 키가 이름표에 적용된다면, 이름표보다 오히려 탭 순서의 이름표 다음에 있는 컨트롤이 포커스를 받습니다.


ActiveControl 속성

포커스가 있는 컨트롤의 조작을 식별하고 허용합니다.

구문

object.ActiveControl

ActiveControl 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

ActiveControl 속성은 읽기 전용이고 인터페이스에서 컨트롤을 선택할 때 설정됩니다. 속성을 설정하거나 메서드를 호출할 때 컨트롤 이름 대신 ActiveControl을 사용할 수 있습니다.


Alignment 속성

제목과 관계되는 컨트롤의 위치를 지정합니다.

구문

object.Alignment [= fmAlignment]

Alignment 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmAlignment	선택. 제목 위치.
설정

fmAlignment에 대한 설정은 다음과 같습니다.

상수	값	설명
fmAlignmentLeft	0	제목을 컨트롤의 왼쪽에 둡니다.
FmAlignmentRight	1	제목을 컨트롤의 오른쪽에 둡니다 (기본값).
참고

컨트롤의 제목 문자열은 왼쪽 정렬입니다.

팁   전환 단추에 Alignment 속성이 존재할 수 있으나 사용할 수 없습니다. 전환 단추의 속성값을 설정하거나 반환할 수 없습니다.


AutoSize 속성

전체 구문이 표시되게 개체의 크기를 변경할 것인지의 여부를 지정합니다.

구문

object.AutoSize [= Boolean]

AutoSize 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 컨트롤의 크기를 재조절할 것인지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	전체 구문이 나타나도록 자동으로 컨트롤의 크기를 재조절합니다.
False	컨트롤의 크기를 상수로 유지합니다. 구문이 컨트롤의 영역을 초과하면 잘립니다 (기본값).
참고

제목이 있는 컨트롤에서, AutoSize 속성은 제목 전체가 나타나도록 그 컨트롤을 자동으로 조정할 것인지의 여부를 지정합니다.

제목이 없는 컨트롤에 대해서, 이 속성은 컨트롤에 저장된 정보가 나타나도록 그 컨트롤을 자동으로 조정할 것인지의 여부를 지정합니다. 예를 들어, 콤보 상자에서 AutoSize를 True로 설정하면 표시 영역의 너비가 현재 텍스트의 길이에 맞도록 자동으로 설정됩니다.

한 줄짜리 입력란에 대해서, AutoSize를 True로 설정하면 입력란의 문자열의 길이에 대한 표시 영역의 너비가 설정됩니다.

아무런 텍스트도 포함하지 않은 다중 줄 입력란에서, AutoSize를 True로 설정하면 자동으로 텍스트가 열로 나타납니다. 텍스트 열의 너비는 그 글꼴 크기를 가진 가장 넓은 글자를 수용하도록 설정됩니다. 텍스트 열의 높이는 입력란의 텍스트 전체가 나타나도록 설정됩니다.

텍스트를 포함하는 여러 입력란에 대해서, AutoSize를 True로 설정하면 입력란은 전체 문자열을 표시할 수 있도록 자동적으로 수직 확대됩니다. 입력란의 너비는 변하지 않습니다.

메모   Auto Size를 True로 설정하는 동안 수동으로 컨트롤의 크기를 변경하는 경우, 수동 변경은 AutoSize에 의해 설정된 기존 크기보다 우선합니다.


AutoTab 속성

입력란이나 콤보 상자의 입력란에 문자의 최대 허용 가능한 수를 입력할 때, 자동 탭이 일어나게 할 것인지의 여부를 지정합니다.

구문

object.AutoTab [= Boolean]

AutoTab 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 자동 탭이 발생하는지의 여부를 지정합니다.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	탭이 발생합니다.
False	탭이 발생하지 않습니다 (기본값).
참고

MaxLength 속성은 TextBox나 콤보 상자의 입력란에 최대로 허용되는 문자의 수를 지정합니다.

흔히 문자의 집합 번호를 입력하는 폼의 입력란이나 콤보 상자에 대해 AutoTab 속성을 지정할 수 있습니다. 사용자가 문자의 최대수를 입력하면, 포커스는 탭 순서 에 따라 자동으로 다음 컨트롤로 옮겨집니다. 예를 들어, 입력란이 항상 5개의 문자로 된 재고 목록 번호를 표시하는 경우, 사용자가 5개의 문자를 입력한 후 다음 컨트롤에 자동으로 탭으로 이동하기 위해 MaxLength를 사용할 수 있습니다.

AutoTab 지원은 응용 프로그램에 따라 다릅니다. 모든 컨테이너가 이 속성을 지원하지는 않습니다.


AutoWordSelect 속성

단어와 문자 중 선택 사항을 확장하는 데에 사용할 기본 단위를 지정합니다.

구문

object.AutoWordSelect [= Boolean]

AutoWordSelect 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 선택을 확장하는 데 사용할 기본 단위를 지정합니다.
설정

Boolean 에 대한 설정은 다음과 같습니다.

값	설명
True	단어를 기본 단위로 사용합니다 (기본값).
False	문자를 기본 단위로 사용합니다.
참고

AutoWordSelect 속성은 입력란이나 콤보 상자의 편집 영역에서 선택 사항을 확장하거나 단축시키는 방법을 지정합니다.

사용자가 단어의 중간에 삽입점을 넣은 후 AutoWordSelect가 True일 때 선택 사항을 확장하면, 그 선택 사항은 단어 전체를 포함합니다.


BackColor 속성

개체의 배경색을 지정합니다.

구문

object.BackColor [= Long]

BackColor 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 개체의 배경색을 결정하는 값이나 상수.
설정

유효한 색을 나타내는 정수를 사용할 수 있습니다. 또, 빨강, 초록, 파랑의 구성 요소를 가진 RGB 함수를 사용하여 색을 지정할 수 있습니다. 색 구성 요소의 값은 0부터 255까지의 정수입니다. 예를 들어, 회색을 띤 파랑은 4966415로 지정하거나 빨강, 초록, 파랑 구성 요소를 15, 200, 75로 지정할 수 있습니다.

참고

BackStyle 속성이 fmBackStyleOpaque로 설정되어 있는 경우, 개체의 배경색만 볼 수 있습니다.


BackStyle 속성

개체의 배경 유형을 반환하거나 설정합니다.

구문

object.BackStyle [= fmBackStyle]

BackStyle 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmBackStyle	선택. 컨트롤 배경을 지정합니다.
설정

fmBackStyle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmBackStyleTransparent	0	배경이 투명합니다.
FmBackStyleOpaque	1	배경이 불투명합니다 (기본값).
참고

BackStyle 속성은 컨트롤의 투명 여부를 결정합니다. BackStyle이 fmBackStyleOpaque이면, 컨트롤은 투명하지 않고 폼에서 컨트롤 뒤의 것을 볼 수 없습니다. BackStyle이 fmBackStyleTransparent이면, 컨트롤을 꿰뚫어 볼 수 있고 컨트롤 뒤에 위치한 폼의 모든 것을 볼 수 있습니다.

메모  BackStyle은 비트맵의 투명성에는 영향을 미치지 않습니다. 비트맵을 투명하게 만들려면 Paintbrush와 같은 그림 편집기를 사용해야 합니다. 모든 컨트롤이 투명한 비트맵을 지원하는 것은 아닙니다.


Bold, Italic, Size, StrikeThrough, Underline, Weight 속성

표시되거나 인쇄된 폼에서 텍스트의 시각적인 속성을 지정합니다.

구문

object.Bold [= Boolean]

object.Italic [= Boolean]

object.Size [= Currency]

object.StrikeThrough [= Boolean]

object.Underline [= Boolean]

object.Weight [= Integer]

Bold, Italic, Size, StrikeThrough, Underline, 그리고 Weight 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체 이름.
Boolean	선택. 글꼴 유형을 지정합니다.
Currency	선택. 글꼴 크기를 나타내는 숫자.
Integer	선택. 글꼴 유형을 지정합니다.
Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	텍스트가 지정된 속성(굵게, 기울임꼴, 크기, 장평 표시나 밑줄 표시, 무게)을 가집니다.
False	텍스트는 지정된 속성을 갖지 않습니다 (기본값).
Weight 속성은 0부터 1000까지의 값을 나타냅니다. 0 값은 시스템이 가장 적절한 무게를 선택하도록 허용합니다. 1부터 1000까지의 값은 특정한 무게를 가리킵니다. 이 때, 1은 가장 가벼운 형식을 표현하고 1000은 가장 두꺼운 형식을 표현합니다.

참고

이 속성들은 텍스트의 시각적인 특성을 정의합니다. Bold 속성은 문자열이 보통체인지 굵은체인지를 결정합니다. Italic 속성은 문자열이 보통체인지 이탤릭체인지를 결정합니다. Size 속성은 텍스트의 높이를 포인트 단위로 결정합니다. Underline 속성은 텍스트에 밑줄을 그을 것인지의 여부를 결정합니다. StrikeThrough 속성은 텍스트가 strikethrough 표시를 가지고 나타나는지의 여부를 결정합니다. Weight 속성은 형식의 어두운 정도를 결정합니다.

화면에서의 글꼴과 인쇄시의 글꼴이 컴퓨터와 프린터에 따라 다를 수 있습니다. 만약 시스템이 지정된 속성을 가지고 표시하거나 설치할 수 없는 글꼴을 선택하면, 윈도우는 유사한 글꼴을 대신 씁니다. 대용 글꼴은 가능한한 원래 요구된 글꼴과 유사합니다.

Bold의 값을 바꾸면 Weight의 값도 바뀝니다. Bold을 True로 설정하면, Weight는 700으로 설정됩니다. Bold를 False로 설정하면, Weight는 400으로 설정됩니다. 반대로, Weight를 550이 넘는 숫자로 설정하면, Bold는 True로 설정됩니다. Weight를 550 이하로 설정하면, Bold는 False로 설정됩니다.

기본 포인트 크기는 운영 체제에 의해 결정됩니다.


BorderColor 속성

개체의 테두리 색을 지정합니다.

구문

object.BorderColor [= Long]

BorderColor 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 개체의 테두리 색을 결정하는 값이나 상수.
설정

유효한 색을 나타내는 정수를 사용할 수 있습니다. 또, 빨강, 초록, 파랑의 구성 요소를 가진 RGB 함수를 사용하여 색을 지정할 수도 있습니다. 색 구성 요소의 값은 0부터 255까지의 정수입니다. 예를 들어, 회색을 띤 파랑을  4966 415로 지정하거나 빨강, 초록, 파랑의 구성 요소를 15, 200, 75로 지정할 수 있습니다.

참고

BorderColor 속성을 사용하려면, BorderStyle 속성이 fmBorderStyleNone이외의 다른 값으로 설정되어야 합니다.

BorderStyle는 BorderColor를 사용하여 테두리 색을 정의합니다. SpecialEffect 속성은 시스템 색을 단독으로 사용하여 테두리 색을 정의합니다. 윈도우 운영 체제에서, 시스템 색상 설정은 [제어판]의 부분이고 [디스플레이]의 [화면 배색] 탭에 있습니다. Windows NT 3.51에서, 색 설정은 [제어판]의 [색상] 폴더에 저장되어 있습니다.


BorderStyle 속성

컨트롤이나 폼이 사용하는 테두리의 형식을 지정합니다.

구문

object.BorderStyle [= fmBorderStyle]

BorderStyle 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmBorderStyle	선택. 테두리 유형을 지정합니다.
설정

fmBorderStyle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmBorderStyleNone	0	컨트롤이 눈에 보이는 테두리 선을 갖지 않습니다.
FmBorderStyleSingle	1	컨트롤이 한 줄 짜리 테두리 선을 가집니다 (기본값).
콤보 상자, 프레임, 이름표, 목록 상자 또는 입력란에 대한 기본값은 0 (None)입니다. 이미지에 대한 기본값은 1 (Single)입니다.

참고

프레임에서, SpecialEffect 속성이 None이면 BorderStyle 속성은 무시됩니다.

BorderStyle나 SpecialEffect를 사용하여 컨트롤의 테두리를 지정할 수 있지만, 둘 다 사용할 수는 없습니다. 이 두 속성 중 하나에 0이 아닌 값을 지정하는 경우, 시스템은 나머지 하나의 속성 값을 0으로 설정합니다. 예를 들어, BorderStyle을 fmBorderStyleSingle로 설정하면, 시스템은 SpecialEffect를 0 (Flat)으로 설정합니다. SpecialEffect에 대해 0이 아닌 값을 지정하는 경우에는, 시스템은 BorderStyle을 0으로 설정합니다.

BorderStyle은 BorderColor를 사용하여 테두리의 색을 정의합니다.


BoundColumn 속성

여러 열의 콤보 상자나 목록 상자에서 데이터의 원본을 식별합니다.

구문

object.BoundColumn [= Variant]

BoundColumn 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Variant	선택. BoundColumn 값을 선택하는 방법을 나타냅니다.
설정

Variant에 대한 설정은 다음과 같습니다.

값	설명
0	ListIndex 속성의 값을 컨트롤에 지정합니다.
1 이상	지정된 열의 값을 컨트롤에 할당합니다. 이 속성을 사용할 때 열은 숫자가 1부터 매겨집니다 (기본값).
참고

사용자가 여러 열의 목록 상자나 콤보 상자에서 행을 선택할 때, BoundColumn 속성은 그 행의 어떤 항목을 컨트롤의 값으로 저장할 것인지를 식별합니다. 예를 들어, 각 행에 8개의 항목이 있고 BoundColumn이 3이면, 시스템은 현재 선택한 행의 세번째 열에 그 정보를 개체의 값으로 저장합니다.

한 집합의 데이터를 사용자에게 보여줄 수 있지만, BoundColumn 속성과 TextColumn 속성을 사용하여 개체에 대한 상이한 관련 값들을 저장할 수 있습니다. TextColumn은 콤보 상자나 목록 상자 에 나타난 데이터의 열을 식별합니다. BoundColumn은 컨트롤에 저장된 관련 데이터 값의 열을 식별합니다. 예를 들어, 한 열에는 공휴일 이름이 들어 있고 두번째 열에는 공휴일의 날짜가 들어 있는 여러 열의 목록 상자를 설정할 수 있습니다. 공휴일 이름을 사용자에게 보여주려면, 첫번째 열을 TextColumn으로 지정합니다. 공휴일의 날짜를 저장하려면, 두번째 열을 BoundColumn으로 지정합니다.

컨트롤이 데이터 원본에 바운드된 경우, BoundColumn이 지정한 열의 값은 ControlSource 속성에서 명명된 데이터 원본에 저장됩니다.

ListIndex 값은 선택한 행의 번호를 검색합니다. 예를 들어, 선택한 항목의 행을 알고 싶다면, BoundColumn을 0으로 설정해서 선택한 행의 번호를 컨트롤의 값으로 지정합니다. 내용이 변경될 수 있는 목록을 참조하고 있는 경우에는, 이전에 저장된 값에 의존하기 보다 반드시 현재 값을 검색하도록 하십시오.

Column 속성, List 속성, 그리고 ListIndex 속성은 모두 0을 기반으로 번호를 매깁니다. 즉, 첫번째 항목(열이나 행)의 값은 0, 두번째 항목의 값은 1, 등으로 합니다. 이는, BoundColumn이 3으로 설정되면, Column(2) 식을 사용하여 그 열에 저장되어 있는 값을 액세스할 수 있다는 것을 의미합니다.


BoundValue 속성

컨트롤이 포커스를 받을 때 컨트롤의 값을 포함합니다.

구문

object.BoundValue [= Variant]

BoundValue 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Variant	선택. 컨트롤의 현재 상태나 내용
설정

컨트롤	설명
확인란	항목을 선택할지의 여부를 나타내는 정수.
	Null   Null 상태에 있는 항목이 선택되거나 지워지지 않았다는 것을 나타냅니다.
	�1   True. 선택된 항목을 나타냅니다.
	0   False. 삭제된 항목을 나타냅니다.
옵션 단추	확인란과 같습니다.
전환 단추	확인란과 같습니다.
이동줄	Max와 Min 속성에 지정된 값 사이의 정수.
회전자	이동줄과 같습니다.
콤보 상자, 목록 상자	현재 선택된 행의 BoundColumn에 있는 값
명령어 단추	항상 False입니다.
다중 페이지	현재 활성 페이지를 나타내는 정수.
	0은 첫번째 페이지입니다. 최대값은 페이지의 수보다 하나 작습니다.
입력란	편집 영역의 텍스트.
참고

BoundValue는 포커스를 가진 컨트롤에 적용됩니다.

BoundValue와 Value 속성의 내용은 대부분의 시간과 동일합니다. 사용자가 컨트롤을 편집하여 값을 변경할 때, BoundValue와 Value의 내용은 변경이 모두 끝날 때까지 다릅니다.

사용자가 컨트롤의 값을 변경할 때 여러 가지가 발생합니다. 예를 들어, 사용자가 입력란의 텍스트를 변경할 때 다음과 같은 일이 일어납니다.

1	Change 이벤트가 초기화됩니다. 이 때 Value 속성은 새 텍스트와 이전 텍스트를 가진 BoundValue를 포함합니다.

2	BeforeUpdate 이벤트가 초기화됩니다.

3	AfterUpdate 이벤트가 초기화됩니다. BoundValue와 Value의 값은 새 텍스트를 포함하며 다시 같아집니다.

BoundValue은 다중 선택 목록 상자와 함께 사용할 수 없습니다.


Cancel 속성

명령 단추가 폼의 취소 버튼인지의 여부를 나타내는 값을 반환하거나 설정합니다.

구문

object.Cancel [= Boolean]

Cancel 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 개체가 취소 단추인지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	명령어 단추는 취소 단추입니다.
False	명령어 단추는 취소 단추가 아닙니다 (기본값).
참고

명령 단추처럼 동작하는 명령어 단추나 개체는 기본 명령 단추가 될 수 있습니다. OLE 컨테이너 컨트롤에서, Cancel 속성은 명확히 명령 단추로 동작하는 개체에만 제공됩니다.

폼에서 오직 한 가지 명령어 단추만이 취소 단추가 될 수 있습니다. 하나의 명령 단추에 대해 Cancel을 True로 설정하면 폼의 다른 개체에 대해서는 False로 설정됩니다. 명령어 단추의 Cancel 속성이 True로 설정되고 폼이 활성 폼이면, 명령 단추에 포커스가 있을 때 사용자가 마우스를 누르거나, ESC 또는 ENTER키를 눌러 명령 단추를 선택할 수 있습니다.

Cancel의 전형적인 사용은 사용자에게 의도하지 않은 변경 사항을 취소하는 옵션과 폼을 이전 상태로 되돌리는 옵션을 제공하는 것입니다.

취소 단추를, 실행 취소가 불가능한 동작을 지원하는 폼에 대한 기본 단추로 만드는 것을 고려해야 합니다. 이렇게 하려면, Cancel 속성과 Default 속성을 True로 설정합니다.


CanPaste 속성

클립보드에 개체가 지원하는 데이터가 있는지의 여부를 지정합니다.

구문

object.CanPaste

CanPaste 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 붙이기 작업을 수행할 수 있는지의 여부를 지정합니다.
반환 값

CanPaste 속성 반환 값은 다음과 같습니다.

값	설명
True	마우스 포인터 아래의 개체는 클립보드로부터 붙여 넣은 정보를 받을 수 있습니다 (기본값).
False	마우스 포인터 아래의 개체는 클립보드로부터 붙여 넣은 정보를 받을 수 있습니다.
참고

CanPaste는 읽기 전용입니다.

클립보드 데이터가 현재 대상 개체가 지원하지 않는 유형에 있는 경우, CanPaste 속성은 False입니다. 예를 들어, 비트맵을 문자열만 지원하는 개체에 붙여 넣고자 하는 경우, CanPaste는 False가 됩니다.


CanRedo 속성

가장 최근의 실행 취소를 되돌릴 수 있을 것인지의 여부를 가리킵니다.

구문

object.CanRedo

CanRedo 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 가장 최근의 실행 취소를 되돌릴 수 있는지의 여부를 지정합니다.
반환 값

CanRedo 속성 반환 값은 다음과 같습니다.

값	설명
True	가장 최근의 실행 취소를 되돌릴 수 있습니다.
False	가장 최근의 실행 취소를 되돌릴 수 없습니다.
참고

CanRedo는 읽기 전용입니다.

실행을 재실행한다는 것은 실행 취소를 되돌린다는 것을 의미합니다. 그러나 이것이 꼭 마지막에 사용자가 실행한 것을 반복한다는 것을 의미하지는 않습니다.

다음의 사용자 실행은 실행 취소와 재실행을 사용하는 것에 관해 설명하는 것입니다.

1	옵션 단추의 설정을 변경합니다.

2	텍스트를 입력란에 입력합니다.

3	실행 취소를 누릅니다. 텍스트가 입력란에서 사라집니다.

4	실행 취소를 누릅니다. 옵션 단추는 이전 설정으로 되돌립니다.

5	재실행을 누릅니다. 옵션 단추의 값이 변합니다.

6	재실행을 누릅니다. 텍스트가 입력란에서 사라집니다.


CanUndo 속성

이전 사용자의 동작이 실행 취소될 수 있는지의 여부를 가리킵니다.

구문

object.CanUndo

CanUndo 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 가장 최근의 사용자 동작이 실행 취소될 수 있는지의 여부 지정.
반환 값

CanUndo 속성 반환 값은 다음과 같습니다.

값	설명
True	가장 최근의 사용자 동작이 실행 취소될 수 있습니다.
False	가장 최근의 사용자 동작이 실행 취소될 수 없습니다.
참고

CanUndo는 읽기 전용입니다.

많은 사용자 동작이 실행 취소 명령으로 실행 취소될 수 있습니다. CanUndo 속성은 가장 최근의 동작이 실행 취소될 수 있는지의 여부를 가리킵니다.


Caption 속성

개체를 식별하거나 설명하기 위해 개체에 나타내는 설명 텍스트.

구문

object.Caption [= String]

Caption 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 표시된 텍스트에 제목으로 평가되는 문자열 식.
설정

컨트롤에 대한 기본 설정은 컨트롤의 형식에 기본을 둔 고유한 이름입니다. 예를 들어, CommandButton1은 폼의 첫번째 명령 단추에 대한 기본 제목입니다.

참고

텍스트는 관련된 개체를 식별하거나 설명합니다. 단추와 제목에 대해서, Caption 속성은 컨트롤에 나타나는 문자열을 지정합니다. Page 개체와 Tab 개체에 대해서는, 탭에 나타나는 문자열을 지정합니다.

컨트롤의 제목이 너무 긴 경우, 제목이 잘립니다. 폼의 제목이 제목 표시줄에 비해 너무 길다면, 제목은 생략 부호와 함께 나타납니다.

컨트롤의 ForeColor 속성은 제목의 문자열 색을 결정합니다.

팁  컨트롤이 Caption 속성과 AutoSize 속성을 모두 가지고 있는 경우, AutoSize를 True로 설정하면 컨트롤의 크기는 이름표 전체가 프레임에 맞도록 자동으로 조정됩니다.


ClientHeight, ClientLeft, ClientTop, ClientWidth 속성

연속 탭의 표시 영역의 차원과 위치를 정의합니다.

구문

object.ClientHeight [ =Single]

object.ClientLeft [ =Single]

object.ClientTop [ =Single]

object.ClientWidth [ =Single]

ClientHeight, ClientLeft, ClientTop, 그리고 ClientWidth 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. ClientHeight와 ClientWidth에서는, 표시 영역의 높이나 너비를 포인트 단위로 지정합니다. ClientLeft와 ClientTop에서는, 연속 탭의 컨테이너의 위쪽이나 왼쪽 가장자리로부터 거리를 지정합니다.
참고

실행 모드에서 ClientLeft, ClientTop, ClientHeight, 그리고 ClientWidth는 자동으로 연속 탭의 개체에 의해 공유되는 연속 탭의 내부 영역의 좌표와 차원을 저장합니다.


Column 속성

목록 상자나 콤보 상자에서 한 가지 이상의 항목을 지정합니다.

구문

object.Column( column, row ) [= Variant]

Column 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Column	선택. 0부터 총 열 수에서 하나 이하인 숫자까지의 범위를 갖는 정수.
Row	선택. 0부터 총 행 수에서 하나 이하인 숫자까지의 범위를 갖는 정수.
Variant	선택. 목록 상자나 콤보 상자로 불러들일 한 가지 값이나 값의 열, 혹은 2차원 배열을 지정합니다.
설정

열 값과 행 값을 모두 지정하면, Column은 특정 항목을 읽거나 씁니다.

열 값만을 지정한다면, Column 속성은 개체의 현재 행에서 지정한 열을 읽거나 씁니다. 예를 들어, MyListBox.Column(3)은 MyListBox 의 세번째 열을 읽거나 씁니다

Column은 커서로부터 Variant를 반환합니다. 기본 커서가 Variant에 대한 값을 제공할 때(예를 들어, AddItem 메서드를 사용할 때), 그 값은 문자열입니다. 외부 커서가 Variant에 대한 값을 제공할 때, 데이터와 관련해서 유형을 지정하는 것은 Variant에 포함되지 않습니다.

참고

Column을 사용하여 콤보 상자나 목록 상자를 입력란 같은 또 다른 컨트롤에 지정할 수 있습니다. 예를 들어, 입력란의 ControlSource 속성을 목록 상자의 두번째 열의 값으로 설정할 수 있습니다.

콤보 상자나 목록 상자의 열을 참조할 때 사용자가 선택을 하지 않는다면, Column 설정은 Null입니다. IsNull 함수를 사용하여 이 조건을 검사할 수 있습니다.

또한 Column을 사용하여 2차원 배열로 된 값 전체를 컨트롤에 복사할 수 있습니다. AddItem을 사용하여 목록의 구성 요소를 개별적으로 불러오는 것보다 이 구문으로 빠르게 선택의 목록을 열 수 있습니다.

팁  2차원 배열의 데이터를 복사할 때, Column은 컨트롤에서 배열의 문맥을 바꾸어 그 결과 ListBox1.Column(X, Y)의 문맥이 MyArray(Y, X)와 같아집니다. 또한 배열을 바꾸지 않고 List를 사용하여 배열을 복사할 수 있습니다.


ColumnCount 속성

목록 상자나 콤보 상자에서 표시할 열의 숫자를 지정합니다.

구문

object.ColumnCount [= Long]

ColumnCount 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 표시할 열의 숫자를 지정합니다.
참고

직원 폼에서 목록 상자에 대한 ColumnCount 속성을 3으로 설정한다면, 하나의 열에 성씨를 나열하고 또 하나의 열에 이름을 나열하고, 세번째 열에는 직원 ID 번호를 나열할 수 있습니다.

ColumnCount를 0으로 설정하면 열이 나타나지 않고, -1로 설정하면 이용 가능한 열이 모두 나타납니다. 언바운드된 데이터 원본은 10까지의 열 제한이 있습니다(0부터 9까지).

ColumnWidths 속성을 사용하기 위해 컨트롤에 나타나는 열의 너비를 설정할 수 있습니다.


ColumnHeads 속성

열 머리글을 받아들이는 목록 상자, 콤보 상자, 그리고 개체에 대해서 한 행의 열 머리글을 보여 줍니다.

구문

object.ColumnHeads [= Boolean]

ColumnHeads 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 열 머리글의 표시 여부를 지정합니다.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	열 머리글을 표시합니다.
False	열 머리글을 표시하지 않습니다 (기본값).
콤보 상자의 머리글은 목록을 늘어뜨릴때만 나타납니다.

참고

시스템이 데이터 항목의 첫번째 행을 열 머리글로 사용할 때, 그 항목을 선택할 수 없습니다.


ColumnWidths 속성

다중 열 콤보 상자나 목록 상자에서 각 열의 너비를 지정합니다.

구문

object.ColumnWidths [= String]

ColumnWidths 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 열 너비를 포인트 단위로 설정. -1 또는 공백으로의 설정은 계산된 너비. 너비가 0이면 열이 숨겨짐. 다른 측정 단위를 지정하기 위해 측정의 단위를 포함. 0보다 큰 값은 열의 너비를 지정
설정

열 입력을 분리하려면, 세미콜론(;) 기호를 목록 분리기로 사용합니다. 또는 Windows 제어판의 국가별 설정 영역에서 지정한 목록 분리기를 사용합니다.

ColumnWidths 속성 설정 중 어떤 것도 혹은 전부 다 내용이 없을 수 있습니다. 선행하는 값 없이 목록 분리기를 입력해서 내용이 없는 설정을 만들도록 합니다.

이 속성 쪽을 -1로 지정하면, 속성 페이지 안에서 표시되는 값은 공백이 됩니다.

ColumnWidths의 값이 공백이나 -1일 때 열 너비를 계산한다면, 컨트롤의 너비는 목록의 모든 열 사이에서 똑같이 나누어집니다. 지정된 열 너비의 합이 컨트롤의 너비를 초과한다면, 목록은 컨트롤 내에서 왼쪽으로 맞춰지고 오른쪽 끝의 열 중 하나 이상이 보이지 않습니다. 사용자는 수평 이동줄을 사용하여 목록을 이동함으로써 오른쪽 끝의 열을 표시할 수 있습니다.

계산된 열 너비의 최소값은 72 포인트(1인치) 입니다. 너비를 최소값보다 좁게 하려면, 따로 지정해야만 합니다.

그렇지 않고 열 너비를 지정하지 않았다면, 열 너비는 포인트 단위로 측정됩니다. 또 다른 측정 단위를 지정하려면, 그 단위를 값의 일부분으로 포함하도록 합니다. 다음의 예제들은 열 너비를 여러 개의 측정 단위로 지정하고 다양한 설정이 4인치 너비의 세 열 짜리 목록에 어떻게 맞게 되는지 설명해 줍니다.

설정	효과
90;72;90	첫번째 열은 90 포인트 (1.25인치)이고, 두번째 열은 72 포인트  (1인치)이고, 세번째 열은 90 포인트입니다.
6 cm;0;6 cm	첫번째 열은 6cm이고, 두번째 열은 숨겨져 있고, 세번째 열은 6cm입니다. 세번째 열의 일부분이 보이기 때문에, 수평 이동줄이 나타납니다.
1.5 in;0;2.5 in	첫번째 열은 1.5인치이고, 두번째 열은 숨겨져 있고, 세번째 열은 2.5인치입니다.
2 in;;2 in	첫번째 열은 2인치이고, 두번째 열은 1인치 (기본값)이고, 세번째 열은 2인치입니다. 세번째 열 중 절반만 보이기 때문에, 수평 이동줄이 나타납니다.
(Blank)	세 열 모두 같은 너비 (1.33인치)입니다.
참고

콤보 상자에서, 시스템은 컨트롤의 입력란 부분에서 TextColumn 속성이 지명한 열을 표시합니다.


ControlSource 속성

컨트롤의 Value 속성을 설정하거나 저장하기 위해 데이터 위치를 일치시킵니다.

구문

object.ControlSource [= String]

ControlSource 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 컨트롤의 Value 속성에 연결된 작업 시트 셀을 지정합니다.
참고

ControlSource 속성은 셀 또는 필드와 동일합니다. 그러나, 셀이나 필드 안에 저장된 데이터를 포함하지는 않습니다. 컨트롤의 Value를 변경하면, 변화된 값을 연결된 셀이나 필드에 자동으로 반영합니다. 이와 비슷하게, 연결된 셀이나 필드의 값을 변경하면, 변화된 값을 컨트롤의 Value에 자동으로 반영합니다.

ControlSource를 위한 또 다른 컨트롤을 지정할 수 없지만, 지정하게 되면 오류가 발생합니다.

ControlSource에 대한 기본값은 빈 문자열입니다. 만약, ControlSource가 비어 있지 않은 문자열을 포함한다면, 이것은 연결된 셀이나 필드와 동일한 값을 가집니다. 컨트롤이 읽어 들이기를 할 때, 그 셀이나 필드의 내용을 자동적으로 Value 속성에 복사합니다.

메모   만약, Value 속성이 Null이면, ControlSource에 의해 확인된 위치에는 아무런 값도 표시되지 않습니다.


ControlTipText 속성

사용자가 마우스를 누르지 않고 컨트롤 위에 마우스 포인터를 가져다 놓을 때 나타나는 텍스트를 지정합니다.

구문

object.ControlTipText [= String]

ControlTipText 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 사용자가 컨트롤 위에 마우스 포인터를 가져다 놓을 때 나타나는 텍스트.
참고

ControlTipText 속성은 사용자에게 실행 중인 폼의 컨트롤에 관한 설명을 줄 수 있습니다. 디자인 모드에서 속성을 설정할 수 있지만 실행 모드에서 컨트롤에 의해서만 속성이 나타납니다.

ControlTipText의 기본값은 빈 문자열입니다. ControlTipText의 값이 빈 문자열로 설정될 때, 그 컨트롤에 대해 어떤 설명도 얻을 수 없습니다.


Count 속성

컬렉션에 있는 개체의 수를 반환합니다.

구문

object.Count

Count 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
참고

Count 속성은 읽기 전용입니다.

집합의 첫번째 페이지나 탭에 대한 인덱스 값이 0이고, 두번째 페이지나 탭에 대한 값은 1, 이런 식이라는 것을 주의하십시오. 예를 들어, 다중 페이지가 두 페이지를 포함한다면, 페이지 인덱스는 0과 1입니다. 그리고 Count의 값은 2가 됩니다.


CurLine 속성

컨트롤의 현재 줄을 지정합니다.

구문

object.CurLine [= Long]

CurLine 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 컨트롤의 현재 줄을 지정합니다.
참고

컨트롤의 현재 줄은 삽입점이 있는 줄입니다. 첫번째 줄의 번호는 0입니다.

CurLine 속성은 컨트롤에 포커스가 있을 때 유효합니다.


CurTargetX 속성

여러 줄 짜리 입력란이나 콤보 상자에서 선택한 삽입점의 수평 위치를 정정합니다.

구문

object.CurTargetX

CurTargetX 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. Himetric 단위로 측정한 선택 위치를 가리킵니다. Himetric은 0.0001 m입니다.
참고

대상 위치는 컨트롤의 왼쪽 끝과 관련되어 있습니다. 줄의 길이가 CurTargetX 속성의 값보다 작 으면, 삽입점을 줄의 끝에 둘 수 있습니다. CurTargetX의 값은 사용자가 삽입점을 설정할 때나 CurX 속성이 설정될 때 변합니다. CurTargetX는 읽기 전용입니다.

반환값은 개체가 포커스를 가질 때 유효합니다.

사용자가 여러 줄 짜리 입력란이나 콤보 상자의 내용을 이동할 때 CurTargetX와 CurX를 사용하여 삽입점을 옮길 수 있습니다. 사용자가 개체의 내용을 이동해서 삽입점을 텍스트의 또 다른 줄로 옮길 때, CurTargetX는 삽입점에 대해서 선택한 위치를 지정합니다. CurX는 텍스트 줄이 CurTargetX의 값보다 더 길다면 이 값으로 설정됩니다. 그렇지 않으면, CurX는 텍스트 줄의 끝으로 설정됩니다.


CurX 속성

여러 줄 짜리 입력란이나 콤보 상자에서 삽입점의 현재 수평 위치를 지정합니다.

구문

object.CurX [= Long]

CurX 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. Himetrics 단위로 측정한 현재 위치를 가리킵니다. Himetric은 0.0001 m입니다.
참고

CurX 속성은 여러 줄 짜리 입력란이나 콤보 상자에 적용됩니다. 반환값은 개체가 포커스를 가질 때 유효합니다.

사용자가 여러 줄짜리 입력란이나 콤보 상자의 내용을 이동할 때 CurTargetX와 CurX를 사용하여 삽입점의 위치를 정할 수 있습니다. 사용자가 개체의 내용을 이동해서 삽입점을 텍스트의 또다른 줄로 옮길 때, CurTargetX는 삽입점에 대해서 선택한 위치를 지정합니다. CurX는 텍스트의 줄이 CurTargetX의 값보다 더 길다면 이 값으로 설정됩니다. 그렇지 않으면, CurX는 텍스트 줄의 끝으로 설정됩니다.


Cycle 속성

사용자가 프레임이나 페이지에서 마지막 컨트롤을 둘 때 취할 실행을 지정합니다.

구문

object.Cycle [= fmCycle]

Cycle 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmCycle	선택. 순환 과정에 프레임이나 다중 페이지에서 포개져 있는 컨트롤을 포함하는지의 여부를 지정합니다.
설정

fmCycle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmCycleAllForms	0	폼에 있는 컨트롤과 폼에 현재 표시 된 프레임과 다중 페이지의 컨트롤을 순환합니다.
FmCycleCurrentForm	2	폼, 프레임, 혹은 다중 페이지의 컨트롤을 순환합니다. 포커스는 명확하게 폼, 프레임 혹은 다중 페이지 밖의 컨트롤로 설정될 때까지 폼, 프레임, 혹은 다중 페이지 안에 있습니다.
Cycle를 위해 정수가 아닌 값을 지정하면, 가장 가까운 정수로 반올림합니다.

참고

탭 순서는 사용자가 폼이나 하위 폼을 선택할 때, 컨트롤이 포커스를 받는 순서를 식별합니다. Cycle 속성은 사용자가 마지막 컨트롤로부터 탭 순서로 선택할 때 취할 실행을 결정합니다.

fmCycleAllForms 설정은 사용자가 마지막 컨트롤로부터 탭 순서로 선택할 때 포커스를 폼에서 다음 프레임이나 다중 페이지의 첫번째 컨트롤로 이동합니다.

fmCycleCurrentForm 설정은 사용자가 마지막 컨트롤로부터 탭 순서로 선택할 때 같은 폼, 프레임, 혹은 다중 페이지의 첫번째  컨트롤로 이동합니다.


Default 속성

폼의 기본 명령 단추를 선정합니다.

구문

object.Default [= Boolean]

Default 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 명령 단추가 기본 단추인지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	명령어 단추가 기본 단추입니다.
False	명령어 단추가 기본 단추가 아닙니다 (기본값).
참고

명령 단추처럼 동작하는 명령어 단추나 개체는 기본 단추로 설정할 수 있습니다. 폼에서 오직 한 개체만이 기본 명령 단추가 될 수 있습니다. 어떤 개체에 대한 Default 속성을 True로 설정하면 폼에 있는 다른 개체에 대해서는 False로 설정됩니다.

활성화 폼에서 기본 명령 단추를 선택하고, 다른 명령어 단추가 포커스를 갖지 않을 때, 단추나 ENTER키를 누를 수 있습니다. 다른 명령어 단추가 포커스를 갖지 않을 때, ENTER키를 누르면 기본 명령 단추에 대한 KeyUp 이벤트를 초기화합니다.

Default는 명확하게 명령어 단추 컨트롤처럼 동작하는 OLE 컨테이너 컨트롤에 제공됩니다.

팁  취소 단추는 실행 취소가 불가능한 동작(삭제 같은 것)을 지원하는 폼에 대한 기본 단추로 만들 것을 고려해야 합니다. 이렇게 하려면, Default 속성과 Cancel 속성을 모두 True로 설정합니다.


Delay 속성

회전자나 이동줄에서 SpinUp 이벤트, SpinDown 이벤트, 그리고 Change 이벤트에 대한 지연을 지정합니다.

구문

object.Delay [= Long]

Delay 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 이벤트 사이의 지연을 ms 단위로 지정해 놓은 것.
참고

Delay 속성은 사용자가 회전자나 이동줄의 단추를 누르고 끌 때 발생하는 연속된 SpinUp, SpinDown, Change 이벤트들 사이의 시간량에 영향을 미칩니다. 첫번째 이벤트는 즉시 일어납니다. 두번째 발생 이벤트에 대한 지연은 지정한 Delay 값의 5배입니다. 이 초기 지연 때문에 잇단 흐름의 이벤트보다 한가지 이벤트를 발생시키는 것이 쉽습니다.

초기 지연 이후에, 이벤트 사이의 간격은 Delay에 대해 지정한 값입니다.

Delay의 기본값은 50ms입니다. 이것은 그 개체가 250ms(지정한 값의 5배) 후에 첫번째 이벤트를 시작하고 50ms 후에 연속해서 이벤트를 시작한다는 것을 의미합니다.


DragBehavior 속성

시스템에서 입력란이나 콤보 상자의 끌어서 놓기 기능이 사용 가능한지의 여부를 지정합니다.

구문

object.DragBehavior [= fmDragBehavior]

DragBehavior 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmDragBehavior	선택. 끌어서 놓기 기능이 사용 가능한지의 여부를 지정합니다.
설정

fmDragBehavior에 대한 설정은 다음과 같습니다.

상수	값	설명
fmDragBehaviorDisabled	0	목록 표시 실행을 허용하지 않습니다. (기본값).
fmDragBehaviorEnabled	1	목록 표시 실행을 허용합니다.
참고

DragBehavior 속성이 사용 가능한 경우, 입력란이나 콤보 상자에 서 끌면 선택한 문자열에 대한 끌어서 놓기 작업이 시작됩니다. DragBehavior를 사용할 수 없는 경우, 입력란이나 콤보 상자에서 끌면 문자열이 선택됩니다.

콤보 상자의 늘어진 부분이 끌어서 놓기 처리 과정을 지원하지 않는다면, 문자열 사이의 항목 선택도 지원하지 않습니다.

DragBehavior는 Style 속성이 fmStyleDropDownList로 설정된 콤보 상자에는 영향을 주지 않습니다.

팁   EnterFieldBehavior 속성과 DragBehavior의 효과를 조합해서 많은 입력란 유형을 만들 수 있습니다.


DrawBuffer 속성

화면 밖으로 그려지는 프레임 메모리를 제외한 픽셀의 수를 지정합니다.

구문

object.DrawBuffer [= value]

인수	설명
object	필수. 유효한 개체 이름
Value	16,000부터 1,048,576까지의 수에서 개체가 화면 밖에 그릴 수 있는 최대 픽셀 수와 같은 정수
참고

DrawBuffer 속성은 화면에 색을 칠할 때, 한 번에 그릴 수 있는 최대 픽셀 수를 지정합니다. 개체가 사용하는 실제 메모리는 화면 의 해상도에 달려있습니다. DrawBuffer를 위한 값을 크게 설정하면 할수록 실행 속도는 늦어집니다. 큰 버퍼는 여러 개의 큰 이미지 들을 겹쳐서 나타낼 때 도움이 됩니다.

[속성] 창을 사용하여 DrawBuffer의 값을 지정하십시오.


DropButtonStyle 속성

콤보 상자에서 구분 단추에 표시되는 기호를 지정합니다.

구문

object.DropButtonStyle [= fmDropButtonStyle]

DropButtonStyle 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmDropButtonStyle	선택. 구분 단추의 모양.
설정

fmDropButtonStyle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmDropButtonStylePlain	0	보통 단추를 아무 기호 없이 표시합니다.
FmDropButtonStyleArrow	1	아래 방향 화살표를 표시합니다 (기본값).
FmDropButtonStyleEllipsis	2	생략 부호()를 표시합니다.
FmDropButtonStyleReduce	3	수평 줄을 밑줄 문자처럼 표시합니다.
참고

목록에서 항목을 보여주는 설정 중 추천하는 것은 fmDropButtonStyleArrow입니다. 끌기 단추를 또 다른 방법으로 사용하고 싶다면, 설정 대화 상자를 표시하고 싶다면, fmDropButtonStyleEllipsis, fmDropButtonStylePlain, 혹은 fmDropButtonStyleReduce를 지정하고 DropButtonClick 이벤트를 처리합니다.


Enabled 속성

컨트롤이 포커스를 받고 발생하는 이벤트에 반응할 수 있는지의 여부를 지정합니다.

구문

object.Enabled [= Boolean]

Enabled 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 개체가 사용자가 발생시키는 이벤트에 반응할 수 있는지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	컨트롤이 포커스를 받고 사용자가 발생시킨 이벤트에 반응할 수 있습니다. 그리고 코드를 통해 액세스가 가능합니다 (기본값).
False	사용자가 마우스, 키 누름, 혹은 바로 가는 키를 사용하여 컨트롤과 대화할 수 없습니다. 일반적으로 컨트롤은 여전히 코드를 통해서 액세스가 가능합니다.
참고

Enabled 속성을 사용하여 컨트롤을 활성화하거나 비활성화 하십시오. 비활성화된 컨트롤은 흐리게 나타나는 반면, 활성화된 컨트롤은 그렇지 않습니다. 또한, 컨트롤이 비트맵을 표시하고 있다면, 컨트롤이 흐려질 때마다 그 비트맵도 흐려집니다. 만약, 이미지를 위한 Enabled가 False라면, 컨트롤은 이벤트를 초기화하지 못하나 흐려지지 않습니다.

Enabled 속성과 Locked 속성은 함께 작용해서 다음과 같은 효과를 얻어냅니다.

Enabled와 Locked가 모두 True인 경우, 그 컨트롤은 포커스를 받을 수 있고 폼에서 정상적으로(흐려지지 않고) 나타납니다. 사용자는 그 컨트롤의 데이터를 복사할 수 있지만, 편집할 수는 없습니다.

Enabled가 True이고 Locked가 False인 경우, 그 컨트롤은 포커스를 받을 수 있고 폼에서 정상적으로 나타납니다. 사용자는 그 컨트롤의 데이터를 복사하고 편집할 수 있습니다.

Enabled가 False이고 Locked가 True인 경우, 그 컨트롤은 포커스를 받을 수 없고 폼에서 흐려집니다. 사용자는 그 컨트롤의 데이터를 복사도 할 수 없고 편집도 할 수 없습니다.

Enabled와 Locked가 모두 False인 경우, 그 컨트롤은 포커스를 받을 수 없고 폼에서 흐려집니다. 사용자는 그 컨트롤의 데이터를 복사도 할 수 없고 편집도 할 수 없습니다.

Enabled 속성과 TabStop 속성 설정을 조합해서 사용자가 TAB 키로 명령 단추를 선택하는 것을 방지할 수 있습니다. 그러나, 여전히 사용자가 그 단추를 누르는 것은 허용합니다. TabStop을 False로 설정한다는 것은 명령 단추가 탭 순서로 나타나지 않는다는 것을 의미합니다. 그러나, Enabled가 True인 경우, TakeFocusOnClick이 True로 설정되어 있기만 하면, 사용자는 여전히 명령 단추를 누를 수 있습니다.

사용자가 활성화되어 있는 다중 페이지나 연속 탭으로 탭할 때, 컨트롤의 첫번째 페이지나 탭이 포커스를 받습니다. 다중 페이지나 연속 탭이 비활성화되어 있다면, 그 컨트롤의 활성화된 첫번째 페이지나 탭은 포커스를 받습니다. 다중 페이지나 연속 탭의 모든 페이지나 탭이 비활성화되어 있다면, 그 컨트롤은 비활성화되고 포커스를 받을 수 없습니다.

프레임이 비활성화되면, 그 프레임에 있는 모든 컨트롤이 비활성화 됩니다.

비활성화된 목록 상자를 누르는 것은 Click 이벤트를 초기화할 수 없습니다.


EnterFieldBehavior 속성

입력란이나 콤보 상자에 입력할 때 선택 동작을 지정합니다.

구문

object.EnterFieldBehavior [= fmEnterFieldBehavior]

EnterFieldBehavior 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmEnterFieldBehavior	선택. 원하는 선택 사항 동작.
설정

fmEnterFieldBehavior에 대한 설정은 다음과 같습니다.

상수	값	설명
fmEnterFieldBehaviorSelectAll	0	컨트롤에 입력할 때 편집 영역의 내용 전체를 선택합니다 (기본값).
fmEnterFieldBehaviorRecallSelection	1	선택 사항을 바뀌지 않은 채로 놓아둡니다. 시각적으로 이것은 실제로 컨트롤이 활성이었던 마지막 시간인 선택 사항을 사용합니다.
참고

EnterFieldBehavior 속성은 SetFocus 메서드의 결과로서 포커스를 받는 컨트롤이 아닌, 컨트롤에 탭을 줄 때, 문자열을 선택하는 방법을 제어합니다. 뒤에 오는 SetFocus는 컨트롤의 내용을 선택하지 않으면, 삽입점을 컨트롤 편집 영역의 마지막 문자 뒤에 위치시킵니다.


EnterKeyBehavior 속성

입력란에서 ENTER키를 누르는 효과를 정의합니다.

구문

object.EnterKeyBehavior [= Boolean]

EnterKeyBehavior 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. ENTER키를 누르는 효과를 지정합니다.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	ENTER키를 누르면 새 줄이 만들어집니다.
False	ENTER키를 누르면 포커스는 탭 순서에 따라 다음 개체로 이동합니다 (기본값).
참고

EnterKeyBehavior 속성과 MultiLine 속성은 밀접하게 관련되어 있습니다. 위에서 설명한 값들은 MultiLine이 True일 때에만 적용됩니다. MultiLine이 False일 때, ENTER키를 누르면 EnterKeyBehavior의 값에 상관없이 항상 포커스가 탭 순서에 따라 다음 컨트롤로 이동합니다.

또, CTRL+ENTER키를 누르는 효과도 MultiLine의 값에 따라 다릅니다. MultiLine이 True일 때 CTRL+ENTER키를 누르면 EnterKeyBehavior의 값에 상관없이 새 줄이 만들어집니다. MultiLine이 False일 때 CTRL+ENTER키를 누르면 아무런 효과도 없습니다.


ForeColor 속성

개체의 전경색을 지정합니다.

구문

object.ForeColor [= Long]

ForeColor 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 개체의 전경색을 결정하는 값이나 상수.
설정

유효한 색을 표현하는 상수를 사용할 수 있습니다. 또, 빨강, 초록, 파랑의 구성 요소를 가진 RGB 함수를 사용하여 색을 지정할 수도 있습니다. 색 구성 요소의 값은 0부터 255까지의 정수입니다. 설정, 회색을 띤 파랑은 4966415로 지정하 거나 빨강, 초록, 파랑은 구성 요소를 15, 200, 75로 지정할 수 있습 니다.

참고

폼에서 컨트롤에 대한 ForeColor 속성을 사용하여 그 컨트롤을 읽기 쉽게 만들거나 그 컨트롤이 특별한 의미를 전달하도록 만드 십시오. 예를 들어, 입력란이 재고에 있는 단위 수를 보고하면, 값이 재순서 수준 아래로 떨어질 때 텍스트의 색을 변경할 수 있습니다.두 줄 이상의 문자열 표시 가능(기본)

이동줄이나 회전자에 대해서, ForeColor는 화살표의 색을 설정합니다. 프레임에 대해서, ForeColor는 제목의 색을 변경합니다. Font 개체에 대해, ForeColor는 텍스트의 색을 결정합니다.


GroupName 속성

상호 단독인 옵션 단추 컨트롤 그룹을 만듭니다.

구문

object.GroupName [= String]

GroupName 속성은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 옵션 단추.
String	선택. 옵션 단추를 포함하는 그룹 이름. 그룹 안의  모든 단추를 동일한 방법으로 설정. 기본 설정은  빈 문자열
참고

상호 단독인 옵션 단추 컨트롤을 만들기 위해, 폼 위에 있는 프레임 안에 단추를 놓거나,  GroupName 속성을 사용합니다. GroupName은 아래와 같은 이유로 훨씬 효과적입니다.

각각의 그룹을 위해 프레임을 포함할 필요는 없습니다. 프레임을 사용하지 않아도 폼 위의 컨트롤 수를 줄일 수 있습니다. 그리고 차례로, 성능을 향상시키거나 폼의 크기를 줄일 수 있습니다.

디자인하기가 훨씬 유연합니다. 만약, 그룹을 만들기 위해 프레임을 사용하면, 모든 단추들은 프레임 안에 위치하여야 합니다. 그리고 한 개 이상의 그룹을 만들려면, 각각의 그룹은 한 개의 프레임을 가져야 합니다. 그러나, 그룹을 만들기 위해 GroupName을 사용하면, 그룹은 폼 위에 있는 모든 선택 단추들을 포함합니다. 한 개 이상의 그룹을 만들 때는, 각각의 그룹에 특별한 이름을 지정합니다. 개개의 컨트롤을 폼 위의 어느 곳에나 위치시킬 수 있습니다.

투명한 배경과 함께 단추를 만들 수 있는데, 폼의 시각적 표현 방법을 향상시킵니다. 프레임은 투명 컨트롤이 아닙니다.

그룹의 단추를 만드는데 사용한 메서드에는 상관없이, 그룹에서 한 개의 단추를 누르는 것은 같은 그룹에 있는 다른 모든 단추들을 False로 설정합니다. 한 개의 컨테이너안에 있는 GroupName의 모든 선택 단추들은 상호 단독입니다. 두 개의 컨테이너 안에 같은 그룹 이름을 사용할 수 있으나, 양쪽의 컨테이너를 포함하는 한 개의 그룹을 만드는 것이 아니고, 두 개의 그룹(각각의 컨테이너에 한 개)을 만듭니다.

예를 들어, 폼이 몇 개의 선택 단추들과 선택 단추들을 포함한 다중 페이지를 함께 포함한다고 가정합니다. 폼 위에 있는 몇 개의 선택 단추들은 한 개의 그룹이고, 다중 페이지 위에 있는 그룹도 다른 한 개의 그룹입니다. 이 두 개의 그룹은 서로 영향을 주지 않습니다. 다중 페이지 위에 있는 단추의 설정을 변경해도, 폼 위에 있는 단추에게는 영향을 주지 않습니다.


Height, Width 속성

포인트 단위로 표현한 개체의 높이나 너비입니다.

구문

object.Height [= Single]

object.Width [= Single]

Height 속성 구문과 Width 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 개체의 차원을 지정하는 숫자 식.
참고

Height 속성과 Width 속성은 컨트롤을 옮기거나 컨트롤의 크기를 조절할 때 자동으로 새로 변경됩니다. 컨트롤의 크기를 변경한다면, Height 속성이나 Width 속성은 새로운 높이나 너비를 저장하고 OldHeight 속성이나 OldWidth 속성은 이전의 높이나 너비를 저장합니다. Left 속성이나 Top 속성에 대해 0보다 작은 설정을 지정한다면, 그 값은 그 컨트롤의 높이나 너비를 계산하는 데에 사용되지만, 그 컨트롤의 일부분이 폼에서 보이지 않게 됩니다.

컨트롤을 폼의 한 부분에서 다른 부분으로 옮긴다면, Height나 Width의 설정은 옮기는 동안 컨트롤의 크기를 조절할 때만 변합니다. 컨트롤의 Left 속성과 Top 속성에 대한 설정은 그 컨트롤을 포함하는 폼의 가장자리에 대해 상대적인 새 위치를 반영하도록 변경됩니다.

Height나 Width에 지정된 값은 0보다 크거나 같아야 합니다. 대부분의 시스템에서, 추천하는 값의 범위는 0부터 +32,767입니다. 더 높은 값도 시스템 구성에 따라 허용될 수 있습니다.


HelpContextID 속성

사용자 정의 Microsoft Windows 도움말 파일의 특정한 주제를 특정한 컨트롤과 연관짓습니다.

구문

object.HelpContextID [= Long]

HelpContextID 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 양의 정수는 개체와 관련된 도움말 파일에 있는 주제의 구문 ID를 지정합니다. 0은 그 개체와 관련된 도움말 주제가 없다는 것을 가리킵니다 (기본값). 지정한 도움말 파일에서 유효한 구문 ID가 되어야 합니다.
참고

HelpContextID 속성이 식별하는 주제는 폼이 실행 중일 때 사용자에게 유용합니다. 그 주제를 표시하려면, 사용자가 그 컨트롤을 선택하거나 포커스를 그 컨트롤에 설정하고, F1을 눌러야 합니다.

HelpContextID 속성은 폼이나 응용 프로그램을 설명하려고 만든 사용자 정의 도움말 파일의 주제와 관련되어 있습니다. Visual Basic에서, 사용자 정의 도움말 파일은 프로젝트의 속성입니다.


HideSelection 속성

컨트롤에 포커스가 없을 때, 선택한 문자열이 반전된 채로 남겨둘 것인지의 여부를 지정합니다.

구문

object.HideSelection [= Boolean]

HideSelection 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 컨트롤에 포커스가 없을 때에도 선택한 텍스트를 반전된 채로 남겨둘 것인지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	컨트롤에 포커스가 없다면 선택한 텍스트는 반전되지 않습니다  (기본값).
False	선택한 텍스트는 항상 반전되어 나타납니다.
참고

맞춤법 검사 프로시저처럼, 다른 폼이나 대화 상자가 포커스를 받을 때 HideSelection 속성을 사용하여 강조된 텍스트를 유지할 수 있습니다.


IMEMode 속성

컨트롤에 대한 Input 메서드 편집기(IME)의 기본 실행 모드를 지정합니다. 이 속성은 Far East를 위한 응용 프로그램에 적용되며, 그 외의 응용 프로그램에는 무시됩니다.

구문

object.IMEMode [= fmIMEMode]

IMEMode 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmIMEMode	선택. IME의 모드.
설정

fmIMEMode에 대한 설정은 다음과 같습니다.

상수	값	설명
fmIMEModeNoControl	0	IME를 제어하지 않습니다 (기본값).
FmIMEModeOn	1	IME를 켭니다.
FmIMEModeOff	2	IME를 끕니다. 영어 모드.
FmIMEModeDisable	3	IME를 끕니다. 사용자는 키보드로 IME을 켤 수 없습니다.
FmIMEModeHiragana	4	전체 너비의 히라가나 모드로 IME를 켭니다.
FmIMEModeKatakana	5	전체 너비의 가타가나 모드로 IME를 켭니다.
FmIMEModeKatakanaHalf	6	절반 너비의 히라가나 모드로 IME를 켭니다.
FmIMEModeAlphaFull	7	절반 너비의 가타가나 모드로 IME를 켭니다.
FmIMEModeAlpha	8	절반 너비의 영문 및 숫자 모드로 IME를 켭니다.
fmIMEModeNoControl 설정은 컨트롤이 실행 모드에서 포커스를 받을 때 IME의 모드가 변하지 않는다는 것을 가리킵니다. 다른 값에 대해서는, 포커스를 받는 컨트롤 실행 모드에서 IME의 모드가 IMEMode 속성이 지정한 값으로 설정됩니다.

참고

IME의 모드를 설정하는 데에는 두 가지 방법이 있습니다. 한 가지는 IME 도구 모음을 통해서 설정하는 방법입니다. 다른 한 가지는 컨트롤의 IMEMode 속성으로 설정하는 방법입 니다. 이 속성은 IME의 현재 모드를 반환하거나 설정합니다. 이 속성은 코드를 통해서 IME을 동적으로 제어하는 것을 허용합니다.

다음의 예제는 IMEMode가 IME의 도구 모음과 대화하는 방법을 설명합니다. TextBox1과 CheckBox1을 가진 폼을 디자인했다고 가 정해 보십시오. TextBox1.IMEMode를 0으로 설정하고, CheckBox1.IMEMode를 1로 설정했다고 가정해 보십시오. 디자인 모드에서, IME 도구 모음을 사용하여 IME를 모드 2로 설정해 놓았다고 가정해 보십시오.

폼을 실행할 때, IME는 모드 2로 시작합니다. TextBox1를 누르면, IME는 이 컨트롤에 대한 IMEMode가 0이기 때문에 변하지 않는다. CheckBox1를 누르면, IME는 이 컨트 롤에 대한 IMEMode가 1이기 때문에 모드 1로 변합니다. TextBox1에 다시 누르면, IME는 모드 1로 남아있게 된다 (IMEMode는 0이므로, IME는 마지막 설정을 보유합 니다).

그러나, IMEMode를 무시할 수 있습니다. 설정, CheckBox1을 누르고 확인란에 대한 IMEMode가 정의한 것처럼 IME가 모드 1로 들어간다고 가정해 보십시오. 그 다음 IME 도구 모음을 사용하여 IME를 모드 3으로 설정한다면, IME는 컨트롤을 누를 때마다 모드 3으로 설정됩니다. 이것은 속성의 값을 바꾸지 않고, 다음에 폼을 실행할 때까지 그 속성을 무시합니다.


Index 속성

Tabs 집합의 Tab 개체나 Pages 집합의 Page 개체의 위치입니다.

구문

object.Index [= Integer]

Index 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Integer	선택. 현재 선택한 Tab 개체의 인덱스.
참고

Index 속성은 탭이 나타나는 순서를 지정합니다. Index의 값을 시각적으로 변경하면 연속 탭에서 다중 페이지나 탭의 페이지 순서를 지정합니다. 첫번째 페이지나 탭에 대한 인덱스 값은 0이고, 두번째 페이지나 탭의 인덱스 값은 1, 이런 식입니다.

다중 페이지에서, Index 는 그 페이지의 탭은 물론이고 페이지도 참조합니다. 연속 탭에서, Index는 탭만 참조합니다.


InsideHeight, InsideWidth 속성

InsideHeight는 폼 안의 클라이언트 영역의 높이를 포인트 단위로 반환합니다. InsideWidth는 폼 안의 클라이언트 영역의 너비를 포인트 단위로 반환합니다.

구문

object.InsideHeight

object.InsideWidth

InsideHeight 속성 구문과 InsideWidth 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 클라이언트 영역의 높이나 너비.
참고

InsideHeight와 InsideWidth 속성은 읽기 전용입니다. 영역에 이동줄이 있다면, 반환되는 값에는 이동줄의 높이나 너비가 없습니다.


IntegralHeight 속성

목록 상자 혹은 입력란이 목록이나 일부분의 줄에서 텍스트의 전체 줄을 표시할 것인지의 여부를 가리킵니다.

구문

object.IntegralHeight [= Boolean]

IntegralHeight 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 목록이 텍스트의 일부 줄을 나타내는지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	목록이 자신의 크기를 조절해서 완전한 항목만 표시하도록 합니다  (기본값).
False	항목이 너무 길어서 완전히 나타나지 않더라도 목록은 자신의 크기를 조절하지 않습니다.
참고

IntegralHeight 속성은 마치 AutoSize 속성이 목록의 너비와 관련되어 있는 것처럼 목록의 높이와 관련되어 있습니다.

IntegralHeight가 True이면, 목록 상자의 전체 행을 보여줄 필요가 있을 때 자동으로 크기가 조절됩니다. False이면, 목록은 고정 크기로 남아있습니다. 항목이 목록에서 사용 가능한 공간보다 길면, 항목 전체가 보이지는 않습니다.


TakeFocusOnClick 속성

컨트롤을 눌렀을 때 그 컨트롤이 포커스를 받는지의 여부를 지정합니다.

구문

object.TakeFocusOnClick [= Boolean]

TakeFocusOnClick 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 컨트롤을 눌렀을 때 그 컨트롤이 포커스를 받는지의 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	단추를 눌렀을 때 그 단추가 포커스를 받습니다 (기본값).
False	단추를 눌렀을 때 그 단추가 포커스를 받지 못합니다.
참고

TakeFocusOnClick 속성은 사용자가 컨트롤을 누를 때 일어나는 것만 정의합니다. 사용자가 그 컨트롤로 탭하면, 그 컨트롤은 TakeFocusOnClick의 값에 상관없이 포커스를 받습니다.

이 속성을 사용하여, 컨트롤이 포커스를 포기할 것을 요구하지 않고서 컨트롤에 영향을 미치는 실행을 완성하십시오. 예로, 폼에 텍스트의 올바른 맞춤법을 검사하는 입력란과 명령어 단추가 있다고 가정하십시오. 입력란에서 텍스트를 선택한 후 명령어 단추를 누르고 입력란으로부터 포커스를 없애지 않고 맞춤법 검사기를 실행한다고 가정하십시오. 명령어 단추의 TakeFocusOnClick 속성을 False로 설정함으로써 이렇게 할 수 있습니다.


KeepScrollBarsVisible 속성

이동줄이 필요하지 않을 때도 보이게 하는지의 여부를 지정합니다.

구문

object.KeepScrollBarsVisible [= fmScrollBars]

KeepScrollBarsVisible 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmScrollBars	선택. 이동줄을 표시할 장소.
설정

fmScrollBars에 대한 설정은 다음과 같습니다.

상수	값	설명
fmScrollBarsNone	0	아무런 이동줄도 표시하지 않습니다.
FmScrollBarsHorizontal	1	수평 이동줄을 표시합니다.
FmScrollBarsVertical	2	수직 이동줄을 표시합니다.
FmScrollBarsBoth	3	수명 이동줄과 수직 이동줄을 모두 표시합니다 (기본값).
참고

보이는 영역이 Page 개체나 폼 같은 개체의 컨트롤을 모두 표시할 만큼 충분히 크면, 이동줄이 필요 없습니다. KeepScrollBarsVisible 속성은 이동줄이 필요 없을 때도 보이게 하는지의 여부를 결정합니 다.

이동줄이 필요 없을 때도 보이게 하면, 보통 크기로 나타나고 이동 상자가 이동줄의 너비나 높이를 꽉 채우게 됩니다.


LargeChange 속성

사용자가 이동 상자와 이동 화살표 사이를 누를 때 발생하는 이동량을 지정합니다.

구문

object.LargeChange [= Long]

LargeChange 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. Value 속성에 대한 변화량을 지정하는 정수.
참고

LargeChange 속성은 ScrollBar에만 적용됩니다. 입력란이나 늘어진 콤보 상자와 같이, 다른 컨트롤의 이동줄에는 적용되지 않습니다.

LargeChange의 값은 사용자가 이동 상자와 이동 화살표 사이의 영역을 누를 때 ScrollBar의 Value 속성이 변하는 양입니다. 이동의 방향은 항상 사용자가 누르는 장소를 향합니다. 예를 들면, 수평 이동줄에서, 이동 상자의 왼쪽을 누르면 이동 상자가 왼쪽으로 움직입니다. 수직 이동줄에서, 이동 상자의 위쪽을 누르면 이동 상자가 위쪽으로 움직입니다.

LargeChange는 단위가 없습니다. 정수면 모두 LargeChange에 대해 유효한 설정입니다. 추천하는 값의 범위는 �32,767부터 +32,767까지이고, 그 값은 이동줄의 Max 속성과 Min 속성의 값 사이에 있는 값이어야 합니다.


LayoutEffect 속성

컨트롤이 윤곽 변경 시에 움직이는지의 여부를 지정합니다.

구문

object.LayoutEffect

LayoutEffect 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmLayoutEffect	선택. 컨트롤이 움직이는지의 여부 지정.
Return 값

fmLayoutEffect 인수는 다음과 같은 값을 가지고 있습니다.

상수	값	설명
fmLayoutEffectNone	0	컨트롤이 움직이지 않았습니다.
FmLayoutEffectInitiate	1	컨트롤이 움직입니다.
참고

LayoutEffect 속성은 읽기 전용이고, Layout 이벤트에서만 사용 가능합니다. Layout 이벤트는 Layout 인수가 True일 때 Move 메서드가 시작합니다.

Layout 이벤트는 컨트롤의 Left 속성, Top 속성, Height 속성, 혹은 Width 속성의 설정을 변경할 때 시작되지 않습니다.

Layout 이벤트는 이동 동작에 관여하는 컨트롤에 대한 LayoutEffect를 설정합니다. 설정, 컨트롤의 그룹을 옮기면, 각 컨트롤의 LayoutEffect가 설정됩니다.


Left, Top 속성

컨트롤과 그 컨트롤이 있는 폼의 왼쪽 혹은 오른쪽 가장자리 사이의 거리입니다.

구문

object.Left [= Single]

object.Top [= Single]

Left 속성 구문과 Top 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 개체의 좌표를 지정하는 숫자 식.
설정

Left 속성이나 Top 속성을 0으로 설정하면, 컨트롤의 가장자리가 그 컨트롤이 있는 컨테이너의 왼쪽 혹은 오른쪽 가장자리에 있게 됩니다.

참고

대부분의 시스템에서, Left와 Top에 대해서 추천하는 값의 범위는 -32,767부터 +32,767까지입니다. 다른 값도 시스템 구성에 따라 동작할 수 있습니다. 콤보 상자에서, Left와 Top의 값은 그 컨트롤의 텍스트 부분에 적용되고, 목록 부분에는 적용되지 않습니다. 컨트롤을 옮기거나 컨트롤의 크기를 조절할 때, 새로운 Left 설정이 자동으로 속성 시트에 입력됩니다. 폼을 인쇄할 때, 그 컨트롤의 수평 혹은 수직 위치는 Left나 Top 설정이 결정합니다.


LineCount 속성

입력란이나 콤보 상자에서 텍스트 줄의 수를 반환합니다.

구문

object.LineCount

LineCount 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	반환값. 컨트롤에서 문자열 줄의 숫자를 반환합니다.
참고

LineCount 속성은 읽기 전용입니다.

팁  콤보 상자는 하나의 줄만 가지게 됩니다.


List 속성

목록 상자나 콤보 상자의 목록 항목을 반환하거나 설정합니다.

구문

object.List( row, column ) [= Variant]

List 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
row	필수. 0부터 목록 항목 개수 이하까지의 범위를 갖는 정수.
column	필수. 0부터 열의 개수 이하까지의 범위를 갖는 정수.
Variant	선택. 목록 상자나 콤보 상자에서 지정한 항목의 내용.
설정

행과 열은 0으로 번호를 매기기 시작합니다. 즉, 목록에서 첫번째 행의 행 번호는 0이고, 첫번째 열의 열 번호는 0입니다. 두번째 행 혹은 열의 번호는 1, 이런 식입니다.

참고

List 속성은 ListCount 속성과 ListIndex 속성과 함께 작용합니다. List를 사용하여 목록 항목을 액세스하십시오. 목록은 다양한 배열이고, 목록의 각 항목에는 행 번호와 열 번호가 있습니다.

초기에, 콤보 상자와 목록 상자에는 빈 목록이 있습니다.

팁  콤보 상자나 목록 상자에서 표시하고 싶은 항목을 지정하려면, AddItem 메서드를 사용하십시오. 항목을 제거하려면, RemoveItem 메서드를 사용하십시오.

List를 사용하여 2차원 배열로 된 값 전체를 컨트롤에 복사할 수 있습니다. AddItem을 사용하면, 1차원 배열을 읽어 들이거나 각 요소를 읽어 들일 수 있습니다.


ListCount 속성

컨트롤에서 목록 항목의 수를 반환합니다.

구문

object.ListCount

ListCount 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	반환값. 컨트롤의 항목의 수를 보고합니다. 기본값은 0입니다.
참고

ListCount 속성은 읽기 전용입니다. ListCount는 이동할 수 있는 행의 개수입니다. ListRows는 한 번에 표시할 수 있는 최대량입니 다. ListCount는 항상 ListIndex 속성의 최대값보다 큽니다. 왜냐하면, 인덱스 번호가 0으로 시작하고 항목의 수가 1로 시작하기 때문입니다. 아무런 항목도 선택하지 않는다면, ListCount 는 0이고 ListIndex는 �1입니다.


ListIndex 속성

목록 상자나 콤보 상자에서 현재 선택한 항목을 식별합니다.

구문

object.ListIndex [= Variant]

ListIndex 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Variant	선택. 컨트롤에서 현재 선택한 항목.
참고

ListIndex 속성에는 목록에서 선택한 행의 인덱스가 있습니다. ListIndex의 값의 범위는 �1부터 목록에서 행의 총수 이하의 수(즉, ListCount � 1)까지입니다. 아무런 행도 선택하지 않으면, ListIndex는 -1을 반환합니다. 사용자가 목록 상자나 콤보 상자에서 행을 선택할 때, 시스템은 ListIndex 값을 설정합니다. 목록에서 첫번째 행의 ListIndex 값은 0이고, 두번째 행의 값은 1이고, 이런 식입니다.

팁  MultiSelect 속성을 사용하여 다중 선택을 허용하는 목록 상자를 만든다면, 목록 상자(ListIndex 속성보다는)의 Selected 속성은 선택한 행을 식별합니다. Selected 속성은 목록 상자에서 행의 개수와 같은 값의 숫자를 가진 배열입니다. 목록 상자의 각 행에서, 그 행이 선택되면 Selected는 True이고, 그렇지 않으면 False입니다. 다중 선택을 허용하는 목록 상자에서, ListIndex는 그 행을 현재 선택하는지의 여부에 상관없이 포커스가 있는 행의 인덱스를 반환합니다.

ListIndex 값은 콤보 상자나 목록 상자에 대해서 BoundColumn 속성을 0으로 설정해서도 얻을 수 있습니다. BoundColumn이 0이면, 콤보 상자나 목록 상자가 바운드된 하부 데이터 원본에는 ListIndex와 같은 목록 인덱스 값이 있게 됩니다.


ListRows 속성

목록에 표시할 행의 최대수를 지정합니다.

구문

object.ListRows [= Long]

ListRows 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 행의 최대수를 가리키는 정수. 기본값은 8입니다.
참고

목록에서 항목의 수가 ListRows 속성의 값을 초과하면, 이동줄이 콤보 상자의 목록 상자 부분의 오른쪽 끝에 나타납니다.


ListStyle 속성

목록 상자나 콤보 상자에서 목록의 시각적인 모양을 지정합니다.

구문

object.ListStyle [= fmListStyle]

ListStyle 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmListStyle	선택. 목록의 시각적인 유형.
설정

fmListStyle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmListStylePlain	0	보통 목록 상자처럼 보이고 배경에는 항목이 반전됩니다.
fmListStyleOption	1	옵션 단추나, 다중 선택 목록에 대한 확인란을 보여줍니다 (기본값). 사용자가 그룹에서 항목을 선택할 때, 그 항목과 관련된 옵션 단추가 선택되고 그룹에서 다른 항목에 대한 옵션 단추는 선택되지 않습니다.
참고

ListStyle 속성으로 목록 상자나 콤보 상자의 시각적인 모습을 변경할 수 있습니다. fmListStylePlain과 다른 설정을 지정함으로써, 컨트롤의 내용을 개별적인 항목의 그룹으로 표현할 수 있습니다. 이 때, 각 항목에는 그것을 선택하는지의 여부를 가리키는 시각적인 도우미가 있습니다.

컨트롤이 한 가지 선택 사항을 지원하면 (MultiSelect 속성이 fmMultiSelectSingle로 설정), 사용자는 그룹에서 하나의 단추를 누를 수 있습니다. 컨트롤이 다중 선택을 지원하면, 사용자는 그룹에서 두 가지 이상의 단추를 누를 수 있습니다.


ListWidth 속성

콤보 상자에서 목록의 너비를 지정합니다.

구문

object.ListWidth [= Variant]

ListWidth 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Variant	선택. 목록의 너비. 값이 0이면 목록은 콤보 상자와 같은 너비. 기본값은 목록을 컨트롤의 텍스트 부분만큼 넓게 만드는 것입니다.
참고

다중 열 목록을 표시하고 싶다면, 목록 상자를 모든 열에 알맞은 너비를 갖게 만드는 값을 입력합니다.

팁  콤보 상자를 디자인할 때, 데이터와 수직 이동줄을 표시하기에 충분한 공간을 남겨 두십시오.


Locked 속성

컨트롤의 편집 가능 여부를 지정합니다.

구문

object.Locked [= Boolean]

Locked 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 컨트롤의 편집 가능 여부 지정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	값을 편집할 수 없습니다.
False	값을 편집할 수 있습니다 (기본값).
참고

컨트롤이 잠겨 있고 활성화되어 있을 때, 여전히 이벤트를 초기화할 수 있고 포커스를 받을 수 있습니다.


MatchEntry 속성

목록 상자 또는 콤보 상자가 사용자의 입력에 따라 목록을 찾는 방법을 지시하는 값을 반환하거나 설정합니다.

구문

object.MatchEntry [= fmMatchEntry]

The MatchEntry 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmMatchEntry	선택. 목록에 있는 항목과 비교하는데 사용되는 규칙.
설정

fmMatchEntry 는 다음과 같이 설정할 수 있습니다.

상수	값	설명
fmMatchEntryFirstLetter	0	기본 조건. 컨트롤은 입력된 문자로 시작되는 항목을 찾습니다. 동일한 문자 순환을 반복하여 입력하면 그 문자로 시작 하는 모든 항목을 차례로 찾아갈 수 있습니다.
FmMatchEntryComplete	1	확장 조건. 문자를 입력할 때마다 그 때까지 입력된 모든 문자를 포함하는 항목을 찾습니다 (기본).
FmMatchEntryNone	2	일치하는 항목 없음.
참고

The MatchEntry 속성은 목록 상자 또는 콤보 상자의 TextColumn 속성에서 항목을 찾습니다.

컨트롤은 TextColumn이 지정한 열에서 사용자가 입력한 항목과 일치하는 항목을 찾습니다. 일치하는 항목이 있는 행이 선택되며, 그 열의 내용이 표시됩니다. 컨트롤은 그 열의 BoundColumn 속성의 내용을 값으로 가집니다. 일치하는 항목이 명확할 경우에는 Click 이벤트가 개시됩니다.

사용자가 입력한 문자열과 정확히 일치하는 항목이 목록에서 발견되면 컨트롤은 Click 이벤트를 시작합니다. 사용자가 문자를 입력하면, 입력된 항목은 목록의 현재 행 및 다음 행과 비교됩니다. 만일 입력값이 현재 행과만 일치할 경우에 일치하는 항목이 명확하다고 말합니다.

Microsoft Forms의 경우 이 정의가 목록의 정렬 여부와 무관하게 적용됩니다. 이는 컨트롤이 목록에 있는 순서에 따라 검색을 하여 첫번째로 일치하는 항목을 찾음을 의미합니다. 예를 들어 아래와 같은 목록에서 �abc�나 �bc�를 입력하면 모두 Click 이벤트가 시작됩니다.

abcde

bcdef

abcxyz

bchij

두 경우 모두 일치하는 항목이 고유하지 않다는 사실을 유의하십시오. 하지만 인접하는 항목과는 상당히 다르기 때문에 컨트롤은 일치하는 항목이 명확하다고 판단하고 Click 이벤트를 시작하게 됩니다.


MatchFound 속성

콤보 상자에 사용자가 입력한 텍스트와 일치하는 항목이 목록에 있는지의 여부를 가리킵니다.

구문

object.MatchFound

MatchFound 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효 개체.
Boolean	선택. 일치하는 항목이 발견되었는지의 여부.
반환 값

MatchFound 속성이 반환하는 값은 다음과 같습니다 :

값	설명
True	Value 속성의 내용이 목록 내의 항목과 일치.
False	Value 속성의 내용이 목록 내의 항목과 일치하지 않음 (기본값)
참고

MatchFound 속성은 읽기 전용입니다. MatchEntry 속성이 fmMatchEntryNone으로 설정되었을 때는 적용할 수 없습니다.


MatchRequired 속성

콤보 상자의 문자열 부분에 입력된 값이 반드시 컨트롤의 기존 목록에 존재하는 항목과 일치해야 하는지의 여부를 결정합니다. 일치하지 않는 값을 컨트롤에 입력할 수는 있지만, 일치하는 값이 입력되기 전까지는 컨트롤을 떠날 수 없습니다.

구문

object.MatchRequired [= Boolean]

MatchRequired 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 입력된 텍스트가 목록에 있는 항목과 일치해야 하는지의 여부.
설정

Boolean은 다음과 같이 설정할 수 있습니다.

값	설명
True	입력된 텍스트는 목록의 기존 항목과 반드시 일치하여야 합니다.
False	입력된 텍스트는 기존 목록의 항목과 일치하지 않아도 됩니다 (기본).
참고

MatchRequired 속성이 True일 경우 기존 목록의 항목과 일치하는 텍스트가 입력되기 전까지 콤보 상자를 빠져나갈 수 없습니다. MatchRequired는사용자가 기존의 항목을 선택하도록 함으로써 목록의 무결성을 유지합니다.

팁  모든 컨테이너가 반드시 이 속성을 요구하지는 않습니다.


Max, Min 속성

이동줄 또는 회전자의 Value 속성에 입력할 수 있는 최대, 최소값을 지정합니다.

구문

object.Max [= Long]

object.Min [= Long]

Max, Min 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. Value 속성의 최대 및 최소 설정을 지정하는 숫자 식.
참고

회전자를 누르거나 이동줄의 이동 상자를 움직이면 컨트롤의 Value 속성이 변합니다.

Max 속성의 값은 수직 이동줄의 최저 위치와 수평 이동줄의 우측 상단 끝 위치에 영향을 받습니다. Min 속성의 값은 수직 이동줄의 최고 위치와 수평 이동줄의 좌측 하단 끝 위치에 영향을 받습니다.

이 속성에는 모든 정수를 입력할 수 있습니다. 권장 값의 범위는 --32,767에서 +32,767까지이며, 기본값은 1입니다.

메모  Min, Max는 이동줄의 상대값이 아니라 위치를 나타냅니다. 따라서 Max 값이 Min 값보다 적을 수도 있습니다. 이 경우
 Max (아래) 위치를 향해 움직이면 Value가 감소하며, Min(위) 위치를 향해 움직이면 Value가 증가합니다.


MaxLength 속성

입력란 또는 콤보 상자에 사용자가 입력할 수 있는 문자의 최대 개수를 지정합니다.

구문

object.MaxLength [= Long]

MaxLength 속성 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Long	선택. 입력 가능한 문자열의 수를 나타내는 정수.
참고

MaxLength 속성을 0으로 설정하면 메모리 용량 외의 다른 제약은 받지 않게 됩니다.


MouseIcon 속성

개체에 사용자 정의 아이콘을 지정합니다.

구문

object.MouseIcon = LoadPicture( pathname )

MouseIcon 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Pathname	필수. 사용자 정의 아이콘을 포함하는 파일의 경로와 이름을 지정하는 문자열 식.
참고

MouseIcon 속성은 MousePointer 속성이 99로 설정되었을 때 유효합니다. 개체의 마우스 아이콘은 사용자가 마우스를 개체 위로 지나가게할 때 나타나는 이미지입니다.

마우스 포인터로 사용하기 위한 이미지를 지정하려면 MouseIcon 속성에 그림을 지정하거나 LoadPicture 기능으로 파일에서 그림을 불러와야 합니다.


MousePointer 속성

사용자가 마우스를 특정한 개체 위로 이동시켰을 때 나타나는 포인터의 형식을 지정합니다.

구문

object.MousePointer [= fmMousePointer]

MousePointer 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmMousePointer	선택. 마우스 포인터로 사용하고 싶은 모양.
설정

fmMousePointer에 대한 설정은 다음과 같습니다.

상수	값	설명
fmMousePointerDefault	0	일반 포인터. 이미지는 개체에 의해 결정됩니다. (기본).
FmMousePointerArrow	1	화살표.
FmMousePointerCross	2	십자 모양 포인터
fmMousePointerIBeam	3	I-빔.
FmMousePointerSizeNESW	6	북동쪽과 남서쪽을 가리키는 이중 화살표.
FmMousePointerSizeNS	7	북쪽과 남쪽을 가리키는 이중 화살표.
FmMousePointerSizeNWSE	8	북서쪽과 남동쪽을 가리키는 이중 화살표.
FmMousePointerSizeWE	9	서쪽과 동쪽을 가리키는 이중 화살표.
FmMousePointerUpArrow	10	위쪽을 가리키는 화살표.
FmMousePointerHourglass	11	모래시계.
FmMousePointerNoDrop	12	끌기 작업 중인 있는 개체 위에 금지 표시(�Not� symbol; 대각선이 그려진 원)가 그려진 것. 놓을 수 없는 위치를 나타냅니다.
fmMousePointerAppStarting	13	모래시계와 화살표.
fmMousePointerHelp	14	물음표와 화살표.
fmMousePointerSizeAll	15	동서남북을 모두 가리키는 화살표
fmMousePointerCustom	99	MouseIcon 속성에 의해 지정된 아이콘을 사용.
참고

MousePointer 속성은 마우스 포인터가 폼의 컨트롤 위를 지나갈 때의 기능 변화를 나타내고 싶을 때 사용하는 것입니다. 예를 들어, 모래시계 설정(11)은 사용자가 컴퓨터가 현재 수행 중인 작업을 마칠때까지 기다려야 한다는 사실을 나타낼때 유용합니다.

바탕 화면 테마 등에 의존하는 아이콘들은 시스템 설정에 따라 바뀔 수도 있습니다.


MultiLine 속성

컨트롤이 두줄 이상의 텍스트를 받아서 표시할 수 있는지의 여부를 지정합니다.

구문

object.MultiLine [= Boolean]

MultiLine 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 컨트롤의 두줄 이상의 문자열 지원 여부.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	여러 줄에 걸쳐 텍스트 표시 가능 (기본)
False	여러 줄에 걸쳐 텍스트 표시 불가능
참고

다중 행 입력란은 절대 줄바꿈이 가능하고, 입력된 텍스트를 수용하기 위해 줄의 개수를 조절합니다. 필요한 경우에는 수직 이동줄이 생기기도 합니다.

한 줄 입력란에는 절대 줄바꿈이 불가능하며 수직 이동줄도 생기지 않습니다.

한 줄 컨트롤은 WordWrap 속성의 값을 무시합니다.

팁   다중 행 입력란 안에서 MultiLine을 False로 변경하면, 입력란의 모든 문자열은 한 줄로 합쳐집니다. 출력되지 않는 글자는 텍스트의 줄 사이에 표시됩니다.


MultiRow 속성

컨트롤이 두개 이상의 탭을 가질 수 있는지를 지정합니다.

구문

object.MultiRow [= Boolean]

MultiRow 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 컨트롤이 두개 이상의 탭을 가질 수 있는지의 여부.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	둘 이상의 행에 탭 허용.
False	하나의 행에만 탭 제한 (기본).
참고

행의 개수는 탭의 개수와 너비에 의해 결정됩니다. 컨트롤의 크기를 변경하는 것 역시 행의 수를 바꿉니다. 이것은 개발자가 컨트롤의 크기를 바꿀때 탭이 컨트롤의 크기에 맞추어 접히도록 허용합니다. MultiRow 속성이 False인 경우 탭의 너비가 컨트롤의 너비보다 크다면 끝부분이 잘리게 됩니다.

MultiRow 속성이 False이면서 탭의 끝부분이 잘릴 경우에는 연속 탭에 조그만 이동줄이 생겨 다른 탭이나 페이지로 이동할 수 있게 됩니다.


MultiSelect 속성

두 개 이상의 개체 선택 여부를 지정합니다.

구문

object.MultiSelect [=fmMultiSelect]

MultiSelect 속성의 구문은 다음과 같은 구성 요소로 되어 있습 니다.

구성 요소	설명
object	필수. 유효한 개체.
FmMultiSelect	선택. 컨트롤이 사용하는 선택 모드.
설정

fmMultiSelect에 대한 설정은 다음과 같습니다.

상수	값	설명
fmMultiSelectSingle	0	개체 하나만 선택 가능(기본).
fmMultiSelectMulti	1	SPACEBAR키를 눌러서 목록의 항목을 선택하거나 해제.
fmMultiSelectExtended	2	SHIFT키를 누른 상태에서 마우스를 누르거나 SHIFT키를 누른 상태에서 화살표키를 누르면 이미 선택된 항목과 현재 항목 사이에 있는 모든 항목이 선택됨. CTRL키를 누른 상태에서 마우스를 누르면 한 항목씩 선택하거나 해제.
참고

MultiSelect 속성이 Extended나 Simple로 설정되면 목록 상자의 Selected 속성으로 선택된 항목을 확인해야 합니다. 또한, 컨트롤의 Value 속성은 언제나 Null이 됩니다.

ListIndex 속성은 키보드 포커스로 행의 인덱스를 반환합니다.


Name 속성

컨트롤이나 개체의 이름을 지정합니다. Font 개체와 관련된 글꼴의 이름을 지정하기도 합니다.

구문

글꼴에서
Font.Name [=String]

모든 다른 컨트롤과 개체에서
object.Name [= String]

Name 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 글꼴이나 컨트롤에 지정하고 싶은 이름.
설정

이름의 최대 길이 등, Name에 지정할 문자열에 대한 권장 사항은 응용 프로그램에 따라 다릅니다.

참고

개체의 경우, Name의 기본값은 개체의 클래스 이름 다음에 정수가 나오는 형태로 구성됩니다. 예를 들 어 폼에서 처음으로 설정한 입력란의 기본 이름은 TextBox1입니다. 두번째 입력란의 이름은 TextBox2가 됩니다.

컨트롤의 Name 속성은 컨트롤의 속성 시트에서 설정할 수 있습니 다. 실행 모드에서 추가되는 컨 트롤에는 프로그램 명령문을 이용하여 설정할 수 있습니다. 디자인 모드에서 컨트롤을 추가하면 실행 모드에서 Name 속성을 수정할 수 없습니다.

디자인 모드에서 폼에 추가되는 각 컨트롤은 하나의 고유한 이름을 가져야 합니다.

Font 개체의 경우, Name은 컨트롤, 개체, 폼의 텍스트 부분에 사용 할 특정 글자 모양을 구분합니다. 화면에 나타나는 글꼴의 모양과 출력 시 나타나는 모양은 컴퓨터와 프린터에 따라 다를 수도 있습 니다. 시스템이 표시할 수 없거나 설치되지 않은 글꼴을 선택할 경우 윈도우는 비슷한 글꼴을 대신 사용하게 됩니다.


Object 속성

새 컨트롤이 같은 이름의 메서드나 속성을 갖는 경우, 표준 속성 또는 표준 메서드를 덮어씁니다.

구문

object.Object[.property |.method]

Object 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. Microsoft Forms 도구 상자에 추가한 개체 이름.
Property	선택. 표준 Microsoft Forms 속성과 같은 이름 속성.
Method	선택. 표준 Microsoft Forms 메서드와 같은 이름 메서드.
참고

Object 는 읽기 전용입니다.

Microsoft Forms 도구 상자에 새로운 컨트롤을 추가시키면, 추가된 컨트롤은 표준 Microsoft Forms 속성 또는 메서드와 같은 이름의 속성이나 메서드를 가질 수 있습니다. 그리고 Object 속성을 사용하면, 표준 속성과 표준 메서드가 아닌 추가된 컨트롤에게서  속성 또는 메서드를 사용할 수 있습니다.


OldHeight, OldWidth 속성

컨트롤의 이전 높이와 너비를 포인트 단위로 지정합니다.

구문

object.OldHeight [ =Single]

object. OldWidth [ =Single]

OldHeight, OldWidth 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 이전의 높이와 너비를 반환.
참고

OldHeight와 OldWidth 는 읽기 전용입니다.

OldHeight, OldWidth 속성은 컨트롤을 움직이거나 크기를 바꿀때마다 자동적으로 변경됩니다. 컨트롤의 크기를 바꾸면 Height와 Width 속성이 각각 새로운 높이와 너비의 값을 저장하며, OldHeight, OldWidth는 각각 이전의 높이와 너비를 저장합니다.

이들 속성은 Layout 이벤트에서만 유효합니다.


OldLeft, OldTop 속성

컨트롤의 이전 위치와 컨트롤을 포함하는 폼의 왼쪽 혹은 위쪽 모서리 사이의 거리를 포인트 단위로 나타냅니다.

구문

object.OldLeft

object.OldTop

OldLeft, OldTop 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 왼쪽 혹은 위쪽의 직전 좌표를 반환.
참고

OldLeft와 OldTop은 읽기 전용입니다.

OldLeft, OldTop 속성은 컨트롤을 이동시키거나 크기를 바꿀때마다 자동적으로 변경됩니다. 컨트롤을 이동시키면 Left와 Top 속성은 컨트롤에서 컨테이너의 왼쪽 가장자리까지의 새로운 거리를 저장하며, OldLeft, OldTop 속성에는 각각 Left와 Top의 이전 값이 저장됩니다.

OldLeft, OldTop 속성은 Layout 이벤트에서만 유효합니다.


Orientation 속성

회전자나 이동줄의 방향이 수직 또는 수평인지의 여부를 지정합니다.

구문

object.Orientation [= fmOrientation]

Orientation 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmOrientation	선택. 컨트롤의 방향.
설정

fmOrientation에 대한 설정은 다음과 같습니다.

상수	값	설명
fmOrientationAuto	�1	컨트롤의 규모에 따라 방향을 자동적으로 결정(기본).
FmOrientationVertical	0	수직 컨트롤.
FmOrientationHorizontal	1	수평 컨트롤.
참고

방향 지정을 자동으로 설정하면 컨트롤의 높이와 너비가 방향을 결정하게 됩니다. 예를 들어, 컨트롤의 너비가 높이보다 길면 컨트롤은 수평 방향으로 설정됩니다. 만일 높이가 더 길면 컨트롤은 수직으로 나타납니다.


Parent 속성

특정한 컨트롤, 개체, 컬렉션을 보유한 컨트롤, 개체, 컬렉션의 이름을 반환합니다.

구문

object.Parent

Parent 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Object	선택. 부모 개체.
참고

Parent 는 읽기 전용입니다.

부모 개체의 속성, 메서드, 컨트롤에 접근하려면 Parent 속성을 사용하십시오.

이 속성은 개체를 인수로 전달하는 응용 프로그램에서 유용합니다. 예를 들어, 컨트롤 변수를 모듈 내의 일반 프로시저에 전달한 후 그 상위 폼에 액세스하기 위하여 Parent를 사용합니다.


PasswordChar 속성

입력란에 실제로 입력된 글자 대신 자리표시자를 표시할 것인지의 여부를 지정합니다.

구문

object.PasswordChar [= String]

PasswordChar 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 공간 점유 문자를 지정하는 문자열 식.
참고

PasswordChar 속성을 사용하여 암호나 보안 코드 등의 민감한 정보를 보호할 수 있습니다. PasswordChar의 값은 사용자가 입력하는 실제 문자 대신 컨트롤에 나타날 문자입니다. 문자를 지정하지 않을 경우에는 컨트롤에 사용자가 입력한 문자가 표시됩니다.


Picture 속성

개체 위에 표시할 비트맵을 지정합니다.

구문

object.Picture = LoadPicture( pathname )

Picture 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Pathname	필수. 그림 파일의 전체 경로.
참고

폼을 디자인하는 동안 컨트롤의 속성 페이지를 사용하여 비트맵을 Picture 속성에 지정할 수 있습니다. 폼을 실행시키는 동안은 LoadPicture 함수를 이용해야만 Picture에 비트맵을 지정할 수 있습니다.

컨트롤에 지정된 그림을 제거하려면 속성 페이지 내의 Picture 속성 값을 누른 후 DELETE키를 누르면 됩니다. BACKSPACE키를 눌렀을 때에는 그림이 제거되지 않습니다.

팁  이름표가 포함된 컨트롤의 경우는 PicturePosition 속성을 이용하여 개체 위에 그림을 표시할 것인지 정할 수 있습니다. PictureSizeMode 속성을 사용하여 그림이 개체를 어떻게 채울지 결정할 수 있습니다.

투명한 그림들은 가끔 흐리게 표현됩니다. 만약, 이 모양을 원하지 않을 경우, 불투명 이미지를 지원하는 컨트롤 위에 그림을 표시하 십시오. 이미지와 다중 페이지가 불투명 이미지를 지원합니다.


PictureAlignment 속성

배경 그림의 위치를 지정합니다.

구문

object.PictureAlignment [=fmPictureAlignment]

PictureAlignment 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmPictureAlignment	선택. 컨트롤과 함께 배열할 그림의 위치.
설정

fmPictureAlignment에 대한 설정은 다음과 같습니다.

상수	값	설명
fmPictureAlignmentTopLeft	0	좌측 상단 모서리.
FmPictureAlignmentTopRight	1	우측 상단 모서리.
FmPictureAlignmentCenter	2	중앙.
FmPictureAlignmentBottomLeft	3	좌하단 모서리.
FmPictureAlignmentBottomRight	4	우하단 모서리.
참고

PictureAlignment 속성은 컨트롤이나 컨테이너의 어느 꼭지점이 그 속에 들어갈 그림의 해당 꼭지점과 일치할지 결정합니다.

예를 들어, PictureAlignment를 fmPictureAlignmentTopLeft로 설정할 경우 그림의 좌측 상단 꼭지점이 컨트롤이나 컨테이너의 좌측 상단 꼭지점과 일치합니다. PictureAlignment를 fmPictureAlignmentCenter로 설정할 경우 그림은 컨트롤이나 컨테이너의 중앙에 위치하게 됩니다.

이미지를 컨트롤이나 컨테이너에 바둑판 식으로 배열할 경우에는 PIctureAlignment 속성이 배열 패턴에 영향을 미칩니다. 예를 들어, PIctureAlignment 속성이 fmPictureAlignmentUpperLeft으로 설정되면 첫번째 이미지가 컨트롤이나 컨테이너의 좌측 상단 구석 에 위치하며 나머지 이미지들은 첫번째 이미지를 기준으로 왼쪽에 서 오른쪽으로 한 줄씩 차례로 배열됩니다. PIctureAlignment 속성 이 fmPictureAlignmentCenter으로 설정되면 첫번째 이미지가 컨트 롤이나 컨테이너의 중앙에 위치하며 나머지 이미지들은 첫번째 이미지를 기준으로 좌우로 차례로 배열되어 한 줄을 완성합니다. 그 후 아래위로 한줄씩 이미지가 추가되어 컨트롤이나 컨테이너를 모두 채우게 됩니다.

팁 PictureSizeMode 속성을 fmSizeModeStretch로 설정하면 PictureAlignment는 무시됩니다. PictureSizeMode 속성을 fmSizeModeStretch로 설정하면 그림을 확대 혹은 축소하여 컨트롤이나 컨테이너를 전부 채웁니다.


PicturePosition 속성

제목과 상대적인 그림의 위치를 지정합니다.

구문

object.PicturePosition [= fmPicturePosition]

PicturePosition 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmPicturePosition	선택. 그림의 배열 방식.
설정

fmPicturePosition에 대한 설정은 다음과 같습니다.

상수	값	설명
fmPicturePositionLeftTop	0	그림은 제목 왼쪽에 표시됩니다. 제목은 그림의 맨위에서부터 표시됩니다.
FmPicturePositionLeftCenter	1	그림은 제목 왼쪽에 표시됩니다. 제목은 그림의 중간 위치에 표시됩니다.
FmPicturePositionLeftBottom	2	그림은 제목 왼쪽에 표시됩니다. 제목은 그림의 맨아래서부터 표시됩니다.
FmPicturePositionRightTop	3	그림은 제목 오른쪽에 표시됩니다. 제목은 그림의 맨위에서부터 표시됩니다.
FmPicturePositionRightCenter	4	그림은 제목 오른쪽에 표시됩니다. 제목은 그림의 중간 위치에 표시됩니다.
FmPicturePositionRightBottom	5	그림은 제목 오른쪽에 표시됩니다. 제목은 그림의 맨아래서부터 표시됩니다.
FmPicturePositionAboveLeft	6	그림은 제목 위에 표시됩니다. 제목은 그림의 왼쪽 끝에 표시됩니다.
FmPicturePositionAboveCenter	7	그림은 제목 위에 표시됩니다. 제목은 그림의 중앙 부분에 표시됩니다 (기본).
FmPicturePositionAboveRight	8	그림은 제목 위에 표시됩니다. 제목은 그림의 오른쪽 끝에 표시됩니다
fmPicturePositionBelowLeft	9	그림은 제목 아래에 표시됩니다. 제목은 그림의 왼쪽 끝에 표시됩니다.
FmPicturePositionBelowCenter	10	그림은 제목 아래에 표시됩니다. 제목은 그림의 중앙 부분에 표시됩니다.
FmPicturePositionBelowRight	11	그림은 제목 아래에 표시됩니다. 제목은 그림의 오른쪽 끝에 표시됩니다
fmPicturePositionCenter	12	그림은 컨트롤의 중앙에 표시됩니다. 제목은 그림의 내부 중앙에 표시됩니다.
참고

그림과 제목이 하나의 단위로 컨트롤의 중앙에 위치합니다. 제목이 존재하지 않으면 그림의 위치는 컨트롤의 중앙을 기준으로 결정됩 니다.

Picture 속성이 그림을 지정하지 않았을 경우에는 이 속성이 무시 됩니다.


PictureSizeMode 속성

컨트롤, 폼, 페이지에 배경 그림을 표시하는 방법을 지정합니다.

구문

object.PictureSizeMode [=fmPictureSizeMode]

PictureSizeMode 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
fmPictureSizeMode	선택. 그림의 크기가 폼, 페이지와 다를 경우에 취할 행동.
설정

fmPictureSizeMode에 대한 설정은 다음과 같습니다.

상수	값	설명
fmPictureSizeModeClip	0	그림이 폼이나 페이지보다 큰 부분을 잘라냅니다 (기본).
FmPictureSizeModeStretch	1	그림을 늘여서 폼이나 페이지에 맞춥니다. 이 설정은 그림의 모양을 수평 혹은 수직 방향으로 왜곡시킵니다.
FmPictureSizeModeZoom	3	그림을 확대하지만 수직, 수평 방향으로 왜곡하지는 않습니다.
참고

fmPictureSizeModeClip 설정은 그림을 원래 크기와 모양 그대로 보여줍니다. 만일 폼이나 페이지가 그림보다 작을 경우에는 그림의 일부분만 보입니다.

fmPictureSizeModeStretch 와 fmPictureSizeModeZoom 설정은 모두 그림을 확대하지만, fmPictureSizeModeStretch 설정은 그림의 모양을 왜곡시킵니다. fmPictureSizeModeStretch 설정은 이미지를 수직, 수평 방향으로 확대하여 해당하는 컨테이너나 컨트롤의 모서리에 맞춥니다. fmPictureSizeModeZoom 설정은 이미지가 수직이나 수평 모서리 중 하나에 먼저 도달할 경우 이미지의 확대를 멈추고 남은 부분은 빈 공간으로 남겨둡니다. 만일 수직 모서리에 먼저 이미지가 도달한다면 수평 모서리까지의 남은 부분은 빈 공간으로 남습니다.


PictureTiling 속성

폼이나 페이지에 그림을 바둑판처럼 배열합니다.

구문

object.PictureTiling [= Boolean]

PictureTiling 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 그림을 배경 방향으로 반복하여 배열할지를 결정.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	그림이 배경에 바둑판처럼 배열.
False	그림이 배열되지 않음 (기본).
참고

그림이 배경 폼이나 페이지보다 작을 경우에 그 그림을 바둑판처럼 배열할 수 있습니다.

배열 방식은 PictureAlignment와 PictureSizeMode 현재 속성에 좌우됩니다. 예를 들어, PictureAlignment가 fmPictureAlignmentTopLeft로 설정된 경우에는 폼이나 페이지의 좌측 상단 구석에서부터 그림이 차례로 배열됩니다. PictureSizeMode가 fmPictureSizeModeClip으로 설정된 경우는 마지막 그림이 폼이나 페이지와 꼭 들어맞지 않을 경우에 맞지 않는 부분을 잘라냅니다.


ProportionalThumb 속성

이동 상자의 크기가 이동 영역에 비례할 것인지 고정될 것인지 지정합니다.

구문

object.ProportionalThumb [= Boolean]

ProportionalThumb 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Boolean	선택. 이동 상자의 크기의 이동 영역 비례 여부.
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	이동 상자의 크기가 이동 영역에 비례 (기본).
False	이동 상자의 크기를 고정.
참고

비례 이동 상자의 크기는 창에 나타나는 개체의 백분율을 시각적으로 나타냅니다. 예를 들어, 75 퍼센트의 개체가 보일 경우에 이동 상자는 이동줄 내의 이동 영역 크기의 3/4을 차지합니다.

이동 상자의 크기가 고정될 경우에 시스템은 이동줄의 높이와 너비를 기준으로 이동 상자의 크기를 결정합니다.


RowSource 속성

콤보 상자나 목록 상자에 표시할 목록의 원본을 지정합니다.

구문

object.RowSource [= String]

RowSource 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
String	선택. 콤보 상자나 목록 상자에 표시할 목록의 원본.
참고

RowSource 속성은 Microsoft Excel의 워크시트 범위를 적용합니다.


ScrollBars 속성

컨트롤, 폼, 페이지가 수직, 수평 이동줄을 가지는지의 여부를 지정합니다.

구문

object.ScrollBars [= fmScrollBars]

ScrollBars 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmScrollBars	선택. 이동줄 표시 위치.
설정

fmScrollBars에 대한 설정은 다음과 같습니다.

상수	값	설명
fmScrollBarsNone	0	표시되는 이동줄 없음 (기본)
fmScrollBarsHorizontal	1	수평 이동줄 표시
fmScrollBarsVertical	2	수직 이동줄 표시
fmScrollBarsBoth	3	수평, 수직 이동줄 모두 표시
참고

KeepScrollBarsVisible 속성이 True일 때는 개체의 내용과는 상관없이 언제나 폼이나 페이지에 있는 모든 이동줄이 표시합니다.

이동줄은 이동 상자가 언제나 보이도록 조절합니다. 또한 이동줄은 이동줄 전체가 보일 수 있도록 이동 위치를 필요에 따라 변경시킵니다. 이동줄의 범위는 ScrollBars 속성의 값이 바뀌거나, 이동 크기가 변하거나, 보이는 영역의 크기가 바뀔 때 함께 바뀝니다.

이동줄이 보이지 않는 경우 이동 위치를 어떤 값으로든 설정할 수 있습니다. 음수와 이동 크기보다 큰 값도 허용됩니다.

한 줄 컨트롤의 경우 ScrollBars와 AutoSize 속성을 이용하여 수평 이동줄을 표시할 수 있습니다. 이동줄은 다음과 같은 규칙에 따라 숨겨지거나 표시됩니다.

1	ScrollBars 속성이 fmScrollBarsNone으로 설정되면 이동줄은 표시되지 않습니다.

2	ScrollBars가 fmScrollBarsHorizontal이나 fmScrollBarsBoth로 설정되면, 텍스트가 편집 영역보다 크고 컨트롤이 편집 영역 아래에 이동줄을 표시할 수 있을 정도로 클 경우에 컨트롤은 수평 이동줄을 표시합니다.

3	AutoSize가 True일 경우에는, 컨트롤이 최대 크기이거나 최대 크기에 근접하지 않을 때 이동줄을 표시할 수 있도록 자동적으로 확대됩니다.

두 줄 이상의 입력란에서는 ScrollBars, WordWrap, AutoSize 등의 속성을 이용하여 이동줄을 표시할 수 있습니다. 이동줄은 다음과 같은 규칙에 따라 숨겨지거나 표시됩니다.

1	ScrollBars 속성이 fmScrollBarsNone으로 설정되면 이동줄은 표시되지 않습니다.

2	ScrollBars 가 fmScrollBarsVertical이나 fmScrollBarsBoth로 설정되면, 텍스트가 편집 영역보다 크고 컨트롤이 편집 영역 아래에 이동줄을 표시할 수 있을 정도로 클 경우에 컨트롤은 수직 이동줄을 표시합니다.

3	WordWrap이 True일 때 두 줄 이상의 컨트롤은 수평 이동줄을 표시하지 않습니다. 대부분의 두 줄 이상의 컨트롤은 수평 이동 줄을 사용하지 않습니다.

4	두 줄 이상의 컨트롤은 다음과 같은 조건들이 동시에 만족될 때 수평 이동줄을 표시합니다.

편집 영역의 너비보다 긴 단어가 입력되었을 때.

컨트롤이 수평 이동줄을 사용할 수 있을 때.

편집 영역 아래에 이동줄을 표시할 수 있을만한 공간이 있을 때

WordWrap 속성이 False로 설정되었을 때.


ScrollHeight, ScrollWidth 속성

컨트롤, 폼, 페이지에 있는 이동줄을 움직임으로써 볼 수 있는 전체 영역의 높이를 포인트 단위로 지정합니다.

구문

object.ScrollHeight [= Single]

object.ScrollWidth [= Single]

ScrollHeight, ScrollWidth 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 이동 가능한 영역의 높이와 너비.


ScrollLeft, ScrollTop 속성

표시된 폼의 좌측, 상단 모서리와 논리적 폼, 페이지, 컨트롤의 좌측, 상단 모서리의 거리를 포인트 단위로 지정합니다.

구문

object.ScrollLeft [= Single]

object.ScrollTop [= Single]

ScrollLeft and ScrollTop 속성의 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
Single	선택. 폼의 모서리 사이의 거리.
참고

최소값은 0이고 최대값은 폼, 페이지의 ScrollWidth 속성과 Width 속성의 값 사이의 차이입니다.


Selected 속성

목록 상자의 항목 선택 상태를 반환하거나 설정합니다.

구문

object.Selected( index ) [= Boolean]

Selected 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Index	필수. 0부터 목록 안에 있는 항목 수보다 1 작은 정수까지의 범위
Boolean	선택. 항목의 선택 여부 지정
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	항목이 선택됨
False	항목이 선택되지 않음
참고

Selected 속성은 사용자가 선택을 여러 개 할 경우에 유용합니다. 다중 선택 목록 상자 안의 선택된 행을 결정하는데 이 속성이 사용됩니다. 이 속성은 코드로부터 목록에 있는 행을 선택하거나 선택을 해제하는 경우에도 사용될 수 있습니다.

이 속성의 기본값은 목록 상자의 현재 선택 상태에 근거합니다.

단일 선택 목록 상자를 위해 Value 속성 또는 ListIndex 속성이 선택된 것을 얻거나 설정하는데 권장되어집니다. 이러한 경우에, ListIndex는 선택된 항목의 인덱스를 반환합니다. 그러나, 다중 선택의 경우, 목록 상자는 행이 실제로 선택되었는지에 상관없이 사각형 포커스 내에 포함된 행의 인덱스를 반환합니다.

목록 상자 컨트롤의 MultiSelect 속성이 None으로 설정되면, 하나의 행만이 True로 설정된 Selected 속성을 가질 수 있습니다.

인덱스의 범위를 넘는 값이 입력되어도 오류 메시지를 나타내지 않으며 목록의 항목에는 어떤 속성도 설정할 수 없습니다.


SelectedItem 속성

현재 선택된 Tab이나 Page 개체를 반환합니다.

구문

object.SelectedItem

SelectedItem 속성 구문은 아래와 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 연속 탭 또는 다중 페이지.
Object	선택. 지정된 연속 탭 또는 다중 페이지 중에서 현재 선택된 탭이나 페이지.
참고

SelectedItem 속성은 실행 중일 때 읽기 전용입니다. SelectedItem 은 프로그램적으로 현재 선택된 Tab이나 Page 개체를 제어하기 위해 사용됩니다. 예를 들어, SelectedItem은 Tab 또는 Page 개체의 속성에 값을 지정하기 위해 사용합니다.


SelectionMargin 속성

사용자가 텍스트의 왼쪽 영역 안을 누르면, 텍스트의 한 줄을 선택할 수 있는지의 여부를 지정합니다.

구문

object.SelectionMargin [= Boolean]

SelectionMargin 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Boolean	선택. 여백 안을 누르면 텍스트의 한 줄이 선택되는지의 여부를 지정
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	여백 안을 누르면 텍스트를 선택함 (기본값)
False	여백 안을 눌러도 텍스트를 선택하지 않음.
참고

SelectionMargin 속성이 True일 때, 선택 여백은 컨트롤 편집 영역 의 왼쪽 가장자리를 따라 얇은 띠 모양을 차지합니다. False일 때는, 모든 편집 영역은 텍스트를 저장할 수 있습니다.

SelectionMargin 속성이 True로 설정되고, 컨트롤이 출력되면, 선택 여백도 함께 출력됩니다.


SelLength 속성

입력란 또는 콤보 상자 일부분에서 선택된 문자열의 수를 나타냅니다.

구문

object.SelLength [= Long]

SelLength 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Long	선택. 한 개의 숫자 식이 선택된 문자열의 수를 지정합니다. SelLength와 SelStart를 위한 설정의 유효한 범위는 0부터, 콤보 상자 또는 입력란의 편집 영역 안에 있는 문자열 수의 합까지입니다.
참고

컨트롤이 포커스를 갖지 않더라도, SelLength 속성은 언제나 유효합니다. SelLength 값을 0보다 작게 설정하면 오류를 만들게 됩니다. SelLength 값을 컨트롤 안에서 사용 가능한 문자열의 수보다 크게 설정하면, 그 값은 컨트롤의 문자열 수와 같게 됩니다.

팁  SelStart 속성 값을 변경시키면 컨트롤 안에 있는 기존의 선택을 모두 취소하게 되며, 삽입점을 텍스트 안에 두고, SelLength를 0으로 설정합니다.

기본값은 0인데, 아무런 텍스트도 선택되지 않음을 뜻합니다.


SelStart 속성

선택된 텍스트의 시작점을 표시하거나, 텍스트가 선택되어 있지 않을 때는 삽입점을 표시합니다.

구문

object.SelStart [= Long]

SelStart 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Long	선택. 한 개의 숫자 식이 선택된 텍스트의 시작점을 지정.  SelLength와 SelStart 설정의 유효 범위는 0부터 콤보 상자 또는 입력란의 편집 영역에 있는 문자열 수의 합까지. 기본값은 0입니다.
참고

컨트롤이 포커스를 갖지 않더라도 SelStart 속성은 언제나 유효합니다. SelStart 값을 0보다 작게 설정하면 오류를 만들게 됩니다. SelStart 값을 컨트롤 안에서 사용 가능한 문자열의 수보다 크게 설정하면, 그 값은 컨트롤의 문자열 수와 같게 됩니다.

SelStart 속성 값을 변경시키면, 컨트롤 안에 있는 기존의 선택을 모두 취소하게 되며, 삽입점을 텍스트 안에 두고 SelLength 속성을 0으로 설정합니다.


SelText 속성

컨트롤의 선택된 텍스트를 반환하거나 설정합니다.

구문

object.SelText [= String]

SelText 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
String	선택. 하나의 문자열 식은 선택된 문자열을 포함
참고

만약, 컨트롤 편집 영역 안에 아무런 문자열도 선택되지 않았다면, SelText 속성은 길이가 0인 문자열을 반환합니다. 이 속성은 컨트롤이 포커스를 가지고 있는지에 상관없이 유효합니다.


ShowDropButtonWhen 속성

콤보 상자 또는 입력란의 늘어진 단추를 보여줄 때 지정합니다.

구문

object.ShowDropButtonWhen [= fmShowDropButtonWhen]

ShowDropButtonWhen 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
fmShowDropButtonWhen	선택. 늘어진 단추가 표시될 환경
설정

fmShowDropButtonWhen 에 대한 설정은 다음과 같습니다.

상수	값	설명
fmShowDropButtonWhenNever	0	모든 상황에서 늘어진 단추를 표시하지 않음.
FmShowDropButtonWhenFocus	1	컨트롤이 포커스를 가지고 있을 때만 늘어진 단추를 표시함.
FmShowDropButtonWhenAlways	2	항상 늘어진 단추를 표시.
콤보 상자의 경우에 기본값은 fmShowDropButtonWhenAlways이고 입력란의 경우에 기본값은 fmShowDropButtonWhenNever입니다.


SmallChange 속성

사용자가 회전자나 이동줄 안의 이동 화살표를 눌렀을 때 움직이는 양을 지정합니다.

구문

object.SmallChange [= Long]

SmallChange 속성은 아래와 같은 구성 요소를 가집니다.

구성 요소	설명
object	필수. 유효한 개체
Long	선택. 변화량을 Value 속성에 지정하는 정수
참고

SmallChange 속성은 단위를 가지지 않습니다.

어떠한 정수도 이 속성을 설정하는데 유용합니다. 권장되는 값의 범위는 �32,767부터 +32,767까지이고, 기본값은 1입니다.


SpecialEffect 속성

개체의 시각적 모양을 지정합니다.

구문

확인란, 옵션 단추, 전환 단추일 때,
object.SpecialEffect [= fmButtonEffect]

다른 컨트롤일 때
object.SpecialEffect [= fmSpecialEffect]

SpecialEffect 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체.
FmButtonEffect	선택. 확인란, 옵션 단추, 전환 단추의 시각적 표현 방법 지정
fmSpecialEffect	선택. 확인란, 옵션 단추, 전환 단추를 제외한 다른 개체의 시각적 표현 방법 지정
설정

fmSpecialEffect에 대한 설정은 다음과 같습니다.

상수	값	설명
fmSpecialEffectFlat	0	개체는 평면으로 표현되고, 색의 변화나 테두리선으로 주변 양식과 구별되는데, 둘 다 사용 가능합니다. 이미지와 이름표의 기본값이며, 모든 컨트롤에 유효.
FmSpecialEffectRaised	1	개체의 위와 왼쪽은 반전으로 표시되고, 아래와 오른쪽은 음영으로 표시. 확인란이나 옵션 단추에는 유효하지 않음.
fmSpecialEffectSunken	2	개체의 위와 왼쪽은 음영으로 표시되고, 아래와 오른쪽은 반전으로 표시. 컨트롤과 컨트롤 괘선은 이것들을 포함한 양식 안에 새겨진 모습. 확인란과 옵션 단추의 기본값이며, 모든 컨트롤에 유효. (기본값).
fmSpecialEffectEtched	3	괘선은 컨트롤의 가장자리를 돌아가며 새겨진 모습. 확인란이나 옵션 단추에는 유효하지 않음.
fmSpecialEffectBump	6	개체는 아래와 오른쪽이 돌출되고, 위와 왼쪽은 평면의 모습. 확인란이나 옵션 단추에는 유효하지 않음.
프레임의 기본값은 Sunken입니다.

Flat과 Sunken(0과 2)만이 확인란, 옵션 단추, 전환 단추에 대해 유용한 값이라는 사실을 유의하십시오. 위에 나열된 모든 값들은 다른 컨트롤에 유용합니다.

참고

컨트롤의 가장자리 표현 방법을 지정하기 위해 SpecialEffect 속성 또는 BorderStyle 속성을 사용하는데, 두 가지를 동시에 사용하지는 않습니다. 만약 0이 아닌 값으로 이런 속성 중의 하나를 지정하면, 시스템은 나머지 속성 값을 0으로 설정하게 됩니다. 예를 들면, SpecialEffect를 fmSpecialEffectRaised이라 설정하면, 시스템은 BorderStyle을 0으로 설정합니다 (fmBorderStyleNone).

프레임의 경우, SpecialEffect가 fmSpecialEffectFlat이면 BorderStyle은 무시됩니다.

SpecialEffect는 시스템의 테두리선을 정의하기 위해, 시스템 색을 사용합니다.

팁   SpecialEffect 속성이 전환 단추 위에 존재하더라도, 그 속성을 활성화할 수 없습니다. 전환 단추 위에서 이 속성값을 설정하거나 반환할 수 없습니다.


Style 속성

콤보 상자의 경우, 사용자가 어떻게 컨트롤 값을 선택하고 설정하는지를 지정합니다. 다중 페이지와 연속 탭의 경우에는 컨트롤 상에 있는 탭의 유형과 동일하게 만듭니다.

구문

콤보 상자인 경우,
object.Style [= fmStyle]

다중 페이지와 연속 탭인 경우,
object.Style [= fmTabStyle]

Style 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
fmStyle	선택. 사용자의 콤보 상자 값 설정 방법 지정
fmTabStyle	선택. 다중 페이지 또는 연속 탭의 탭 유형 지정
설정

fmStyle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmStyleDropDownCombo	0	콤보 상자는 늘어진 콤보 상자처럼 작동합니다. 사용자는 편집 영역에 있는 값의 형식을 정하거나, 늘어진 목록으로부터 값을 선택합니다  (기본값).
FmStyleDropDownList	2	콤보 상자는 목록 상자처럼 작동합니다. 사용자는 반드시 목록에서 값을 선택해야 합니다.
fmTabStyle에 대한 설정은 다음과 같습니다.

상수	값	설명
fmTabStyleTabs	0	탭 줄 위에 있는 탭을 표시 (기본값).
FmTabStyleButtons	1	탭 줄 위에 있는 단추를 표시.
FmTabStyleNone	2	탭 줄을 표시하지 않음.


TabFixedHeight, TabFixedWidth 속성

포인트의 탭 고정 높이 또는 고정 너비를 반환하거나 설정합니다.

구문

object.TabFixedHeight [= Single]

object.TabFixedWidth [= Single]

TabFixedHeight와 TabFixedWidth 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Single	선택. 연속 탭 또는 다중 페이지 위에 있는 탭 높이 또는 탭 너비의 포인트 수
설정

값이 0이면, 탭 너비는 각 탭은 탭의 내용을 수용할 수 있을 만큼 자동적으로 넓게 조정되고, 탭의 각 행들은 컨트롤의 너비만큼 조정됩니다.

값이 0보다 크면, 모든 탭은 이 속성에 의해 지정된 것과 동일한 너비를 갖게 됩니다.

참고

최소 크기는 4포인트입니다.


TabIndex 속성

양식의 탭 순서에 의한 단일 개체의 위치를 지정합니다.

구문

object.TabIndex [= Integer]

TabIndex 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Integer	선택. 0부터 TabIndex 속성을 갖는 양식의 컨트롤 개수보다 1작은 수까지의 정수입니다. 0보다 작은 TabIndex 값의 지정은 오류를 생성합니다. TabIndex 값을 가장 큰 인덱스 값보다 크게 지정하면, 시스템은 그 지정된 값을 최대 허용값으로 재설정합니다.
참고

첫번째 개체의 탭 순서에 의한 인덱스 값은 0입니다.


TabKeyBehavior 속성

편집 영역에서 탭이 허용되는지를 결정합니다.

구문

object.TabKeyBehavior [=Boolean]

TabKeyBehavior 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Boolean	선택. TAB키를 누른 효과
설정

Boolean를 위한 설정은 아래와 같습니다.

값	설명
True	TAB키를 누르면 편집 영역 안에 탭을 삽입.
False	TAB키를 누르면 탭 순서에 따라 다음 개체로 포커스를 이동 (기본값).
참고

TabKeyBehavior 속성과 MultiLine 속성은 밀접한 관련이 있습니다. 위에서 설명한 값들은 MultiLine이 True일 때만 적용됩니다. 만일, MultiLine이 False라면, TAB키를 누르는 것은 TabKeyBehavior의 값에 상관없이 항상 탭 순서에 의해서 다음 컨트롤로 포커스를 이동시킵니다.

또한, CTRL키와 TAB키를 함께 누른 효과는 MultiLine 값에 달려 있습니다. MultiLine이 True인 경우, CTRL키와 TAB키를 함께 누른 것은 TabKeyBehavior의 값에 상관없이 새로운 줄 하나를 만듭니다. 그러나, MultiLine이 False인 경우, CTRL키와 TAB키를 함께 누르는 것은 아무런 효과가 없습니다.


TabOrientation 속성

다중 페이지나 연속 탭 위에서 탭의 위치를 지정합니다.

구문

object.TabOrientation [= fmTabOrientation]

TabOrientation 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
fmTabOrientation	선택. 탭이 나타나는 위치
설정

fmTabOrientation의 설정은 아래와 같습니다.

상수	값	설명
fmTabOrientationTop	0	탭은 컨트롤의 위에 나타납니다. (기본값).
FmTabOrientationBottom	1	탭은 컨트롤의 아래에 나타납니다.
FmTabOrientationLeft	2	탭은 컨트롤의 왼쪽면에 나타납니 다.
FmTabOrientationRight	3	탭은 컨트롤의 오른쪽면에 나타납니 다.
참고

TrueType 글꼴을 사용하는 경우, TabOrientation 속성이 fmTabOrientationLeft나 fmTabOrientationRight로 설정되었을 때, 텍스트는 회전합니다. 그러나 비트맵 글꼴이라면 텍스트는 회전하지 않습니다.


TabStop 속성

사용자가 어떤 개체에 탭을 지정했을 때, 그 개체가 포커스를 받을 수 있는지를 나타냅니다.

구문

object.TabStop [= Boolean]

TabStop 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Boolean	선택. 개체가 탭 정지인지를 지정
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	개체를 탭 정지라 명명 (기본값).
False	TabIndex 속성에 의해 결정된 개체가 여전히 실제 탭 순서에 따라 개체의 자리를 유지하더라도, 사용자가 탭을 지정 중이면 그 개체는 무시됨.


Tag 속성

개체에 대한 추가 정보를 저장합니다.

구문

object.Tag [= String]

Tag 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
String	선택. 개체를 식별하는 문자열 식. 기본값은 문자열의 길이가 0("").
참고

다른 속성의 설정이나 속성에 영향을 주지 않고, 한 개의 인식 문자열을 한 개체에 지정하기 위해 Tag 속성을 사용합니다.

예를 들어, 프로시저에 변수 역할로서 전달되는 컨트롤이나 폼의 동일성을 확인하기 위해 Tag를 사용합니다.


Text 속성

입력란의 텍스트를 반환하거나 설정합니다. 콤보 상자나 목록 상자의 선택된 행을 변경합니다.

구문

object.Text [= String]

Text 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
String	선택. 텍스트를 지정하는 문자열 식.  기본값은 문자열의 길이가 0("").
참고

입력란을 위해 Text 속성에 지정한 모든 값은, Value 속성에 지정됩니다.

콤보 상자의 컨트롤의 값을 변경하기 위해 Text를 사용할 수 있습니다. Text의 값이 기존의 목록 항목과 일치하는 경우, ListIndex 속성의 값은 Text와 일치하는 행으로 설정됩니다. 그러나, Text 값이 행과 일치하지 않으면, ListIndex는 -1로 설정됩니다.

목록 상자인 경우, Text의 값은 반드시 기존의 목록 항목과 일치해야만 합니다. 기존의 목록 항목과 일치하지 않는 값을 지정하면 오류를 일으킵니다.

콤보 상자나 목록 상자 안에 있는 항목의 값을 변경하기 위해서 Text를 사용할 수는 없습니다. 이러한 경우에는 Column 속성이나 List 속성을 사용합니다.

ForeColor 속성은 텍스트의 색을 결정합니다.


TextAlign 속성

컨트롤에서 텍스트를 맞추는 방법을 지정합니다.

구문

object.TextAlign [= fmTextAlign]

TextAlign 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
fmTextAlign	선택. 컨트롤에서 텍스트를 맞추는 방법
설정

fmTextAlign에 대한 설정은 다음과 같습니다.

상수	값	설명
fmTextAlignLeft	1	컨트롤의 표시 또는 편집 영역의 왼쪽 가장자리에 표시된 텍스트의 첫번째 문자를 맞춤 (기본값).
FmTextAlignCenter	2	컨트롤의 표시 또는 편집 영역 안에 있는 텍스트를 가운데로 맞춤
fmTextAlignRight	3	컨트롤의 표시 또는 편집 영역의 오른쪽 가장자리에 표시된 텍스트의 마지막 문자를 맞춤
참고

콤보 상자의 TextAlign 속성은 단지 편집 영역에만 영향을 주는데, 이 속성은 목록의 텍스트 맞춤에는 영향을 주지 않습니다. 독립 실행형 이름표일 경우, TextAlign은 이름표의 제목 맞춤을 결정합니다.


TextColumn 속성

콤보 상자나 목록 상자 안의 열을 지정하여 표시합니다.

구문

object.TextColumn [= Variant]

TextColumn 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Variant	선택. 표시될 열
설정

TextColumn 속성의 값의 범위는 �1부터 목록에 있는 열의 수까지 입니다. 첫째 열의 TextColumn 값은 1이고, 둘째 열의 값은 2가 됩니다. TextColumn을 0으로 설정하면, ListIndex 값을 표시합니다. TextColumn 값을 -1로 설정하면, 0보다 큰 ColumnWidths 값을 가진 첫번째 열을 표시합니다.

참고

사용자가 콤보 상자나 목록 상자에서 행을 선택할 때, TextColumn에 의해 참조된 열이 Text 속성에 저장됩니다. 예를 들어, 하나의 열에는 공휴일의 이름을 두번째 열에는 공휴일의 날짜를 포함하는 여러 열의 목록 상자를 설정할 수 있습니다. 사용자에게 공휴일 이름을 나타내기 위해 TextColumn으로 첫번째 열을 지정합니다. 공휴일의 날짜를 저장하려면 BoundColumn으로 두번째 열을 지정합니다.

콤보 상자의 Text 속성이 변하면(사용자가 컨트롤 안으로 항목을 입력할 때와 같이), 새로운 텍스트는 TextColumn에 의해 지정된 데이터의 열과 비교됩니다.


TextLength 속성

입력란이나 콤보 상자의 편집 영역에 있는 텍스트의 문자열에 길이를 반환합니다.

구문

object.TextLength [ =Long]

TextLength 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Long	편집 영역에 있는 문자열의 수
참고

TextLength 속성은 읽기 전용입니다. 여러 줄의 입력란에서 TextLength는 LF(라인 피드)와 CR(캐리지 리턴) 문자열을 포함합니다.


TopIndex 속성

목록의 제일 위에 나타나는 항목을 반환하거나 설정합니다.

구문

object.TopIndex [= Variant]

TopIndex 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Variant	선택. 제일 위에 나타나는 목록 항목의 수. 기본값은 0이거나, 목록의 첫번째 항목
설정

만약, 목록이 비어있거나 표시되지 않는다면, -1을 반환합니다


TransitionEffect 속성

한 페이지에서 다른 페이지로 변경할 때의 시각적 효과를 지정합니다.

구문

object.TransitionEffect [= fmTransitionEffect]

TransitionEffect 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
fmTransitionEffect	선택. 페이지를 사이에서 나타나는 화면 전환 효과
설정

fmTransitionEffect에 대한 설정은 다음과 같습니다.

상수	값	설명
fmTransitionEffectNone	0	특별한 효과 없음 (기본값).
FmTransitionEffectCoverUp	1	아래에서 위로 이동하며, 새 페이지가 이전 페이지 를 덮어버림.
FmTransitionEffectCoverRightUp	2	왼쪽 아래 모서리에서 오 른쪽 위 모서리로 이동하 며, 새 페이지가 이전 페 이지를 덮어버림
fmTransitionEffectCoverRight	3	왼쪽 가장자리에서 오른쪽으로 이동하며, 새 페이지가 이전 페이지를 덮어버림
fmTransitionEffectCoverRightDown	4	왼쪽 위 모서리에서 오른쪽 아래 모서리로 이동하며, 새 페이지가 이전 페이지를 덮어버림
fmTransitionEffectCoverDown	5	위에서 아래로 이동하며, 새 페이지가 이전 페이지를 덮어버림
fmTransitionEffectCoverLeftDown	6	오른쪽 위 모서리에서 왼쪽 아래 모서리로 이동하며, 새 페이지가 이전 페이지를 덮어버림
fmTransitionEffectCoverLeft	7	오른쪽에서 왼쪽으로 이동하며, 새 페이지가 이전 페이지를 덮어버림
fmTransitionEffectCoverLeftUp	8	오른쪽 아래 모서리에서 왼쪽 위 모서리로 이동하며, 새 페이지가 이전 페이지를 덮어버림
fmTransitionEffectPushUp	9	아래에서 위로 이동하며, 새 페이지가 이전 페이지를 화면 밖으로 밀어버림
fmTransitionEffectPushRight	10	왼쪽에서 오른쪽으로 이동하며, 새 페이지가 이전 페이지를 화면 밖으로 밀어버림
fmTransitionEffectPushDown	11	위에서 아래로 이동하며, 새 페이지가 이전 페이지를 화면 밖으로 밀어버림
fmTransitionEffectPushLeft	12	오른쪽에서 왼쪽으로 이동하며, 새 페이지가 이전 페이지를 화면 밖으로 밀어버림
참고

TransitionPeriod 속성은 화면 전환 효과의 지속 시간을 설정하는데 사용합니다.


TransitionPeriod 속성

천분의 일초 단위로, 화면 전환 효과의 지속 시간을 지정합니다.

구문

object.TransitionPeriod [= Long]

TransitionPeriod 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Long	선택. 한 페이지에서 다른 페이지로, 화면 전환을 완료하는데 걸리는 시간
참고

이 속성에는 0부터 10000까지의 정수를 사용할 수 있습니다. TransitionPeriod 속성 값을 0으로 설정하면 화면 전환 효과는 유효하지 않으며, TransitionPeriod 속성 값을 10000으로 설정하면, 화면 전환을 완료하는데 10초가 걸리게 됩니다.


TripleState 속성

사용자 인터페이스에서, 확인란이나 전환 단추에 대한 Null 상태를 지정할 수 있는지를 결정합니다.

구문

object.TripleState [= Boolean]

TripleState 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Boolean	선택. 컨트롤의 Null 상태 지원 여부
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	세가지 상태를 통한 단추 누르기
False	단추는 True와 False만을 지원 (기본값).
참고

TripleState 속성이 옵션 단추에 있어도 속성을 사용할 수 없습니다. TripleState 의 값에 상관 없이, 사용자 인터페이스를 사용하여 컨트롤을 Null로 설정할 수 없습니다.

TripleState 속성이 True면, 사용자는 Null, True, False의 값을 선택할 수 있습니다. Null 값은 음영 단추로 표시됩니다.

TripleState 속성이 False면, 사용자는 True나 False를 선택할 수 있습니다.

컨트롤이 Null로 설정되면, 컨트롤은 Click 이벤트를 초기화하지 않습니다.

속성의 설정에 상관없이, Null 값은 항상 프로그램적으로 확인란이나 전환 단추에 지정되는데, 그 단추는 음영으로 나타나게 됩니다.


Value 속성

주어진 컨트롤의 상태 혹은 내용을 지정합니다.

구문

object.Value [= Variant]

Value 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Variant	선택. 컨트롤의 상태나 내용
설정

컨트롤	설명
확인란	항목이 선택 되었는지를 나타내는 정수 값
	Null 항목이 null 상태임을 표시. 즉, 선택되거나 지워지지않은 상태
	True는 -1. 선택된 항목임을 표시.
	False는 0. 지워진 항목임을 표시.
옵션 단추	확인란과 동일
전환 단추	확인란과 동일
이동줄	Max 속성과 Min 속성에 지정된 값 사이의 정수.
회전자	이동줄과 동일
콤보 상자, 목록 상자	현재 선택된 행의 BoundColumn 값
명령어 단추	항상 False
다중 페이지	현재 활성화된 페이지를 나타내는 정수
	0은 첫번째 페이지를 나타냄. 최대값은 페이지 수보다 1작은 수
입력란	편집 영역에 있는 텍스트
참고

명령어 단추일 경우, 프로시저 혹은 매크로 안에서 Value 속성을 True라고 설정하면, 단추 Click 이벤트가 시작됩니다.

콤보 상자일 경우, Value의 내용을 변경해도, BoundColumn의 값을 바꿀 수는 없습니다. 콤보 상자 안의 항목들을 추가하거나 삭제하기 위해 AddItem 또는 RemoveItem 방법을 사용합니다.

Value는 다중 선택 목록 상자와 함께 사용할 수 없습니다.


VerticalScrollbarSide 속성

수직 이동줄이 폼 또는 페이지의 오른쪽 면이나 왼쪽 면에 나타나는지를 지정합니다.

구문

object.VerticalScrollbarSide [= fmVerticalScrollbarSide]

VerticalScrollbarSide 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
fmVerticalScrollbarSide	선택. 이동줄이 나타날 위치
설정

fmVerticalScrollbarSide에 대한 설정은 다음과 같습니다.

상수	값	설명
fmVerticalScrollbarSideRight	0	이동줄을 오른쪽 면에 두기 (기본값).
FmVerticalScrollBarSideLeft	1	이동줄을 왼쪽 면에 두기
참고

VerticalScrollBarSide 속성은 오른쪽에서 왼쪽으로 읽는 환경에서 쓰여질 폼에서 특별히 유용합니다.


Visible 속성

개체의 표시 또는 숨김을 지정합니다.

구문

object.Visible [= Boolean]

Visible 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Boolean	선택. 개체의 표시 또는 숨김 여부
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	개체의 표시 (기본값).
False	개체의 숨김
참고

화면 표시 없이 Visible 속성을 사용하여 정보에 대한 액세스를 제어합니다. 예를 들어, 질의를 찾는 조건처럼, 숨겨진 양식 위에서 컨트롤 값을 사용할 수 있습니다.

모든 컨트롤은 디자인 모드에서 보여집니다.


WordWrap 속성

컨트롤의 내용이 줄의 끝에서 자동으로 줄바꿈을 하는지를 나타냅니다.

구문

object.WordWrap [= Boolean]

WordWrap 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Boolean	선택. 텍스트에 맞추기 위한 컨트롤의 확장
설정

Boolean에 대한 설정은 다음과 같습니다.

값	설명
True	줄 바꿈 (기본값).
False	줄 바꾸지 않음
참고

MultiLine 속성과 함께 WordWrap 속성을 지원하는 컨트롤에서, MultiLine이 False면 WordWrap은 무시됩니다.


Zoom 속성

표시되는 개체에 대한 크기의 변화량을 지정합니다.

구문

object.Zoom [= Integer]

Zoom 속성 구문은 다음과 같은 구성 요소로 되어 있습니다.

구성 요소	설명
object	필수. 유효한 개체
Integer	선택. 표시되는 이미지를 크게 또는 작게 하는 배율
참고

Zoom 속성은, 변경될 이미지의 확대 또는 축소의 배율을 지정합니다. 유효값의 범위는 10부터 400까지입니다. 값은 개체의 원본 크기의 대한 배율을 지정합니다. 따라서, 값을 400으로 설정하면, 원본 크기의 4배만큼 확대한다는 뜻입니다(400퍼센트). 반면에, 값을 10으로 설정하면, 원본 크기의 10분의 1로 축소한다는 뜻입니다(10퍼센트).


Item 메서드 예제

다음의 예제는 Item 메서드를 사용하여 Controls과 Pages 컬렉션의 구성원에 액세스하는 것을 나타냅니다. 사용자는 Controls 컬렉션이나 다중 페이지에 대한 선택 단추 중 하나를 선택하여 명령어 단추를 누르십시오. 그러면 적절한 컨트롤의 이름이 이름표에 반환됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때, 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

Label1이라 명명된 이름표

OptionButton1과 OptionButton2라 명명된 두 개의 옵션 단추

MultiPage1이라 명명된 다중 페이지

Dim MyControl As Object

Dim ControlsIndex As Integer

Private Sub CommandButton1_Click()

    If OptionButton1.Value = True Then

        'UserForm의 컨트롤 컬렉션 처리 과정

        Set MyControl = Controls.Item(ControlsIndex)

        Label1.Caption = MyControl.Name

        'Userform 의 다음 컨트롤 인덱스 준비

        ControlsIndex = ControlsIndex + 1

        If ControlsIndex >= Controls.Count Then

            ControlsIndex = 0

        End If

    ElseIf OptionButton2.Value = True Then

        'Pages 컬렉션의 현재 페이지 처리 과정

        Set MyControl = MultiPage1.Pages.Item(MultiPage1.Value)

        Label1.Caption = MyControl.Name

    End If

End Sub

Private Sub UserForm_Initialize()

    ControlsIndex = 0

    'TabsIndex = 0

    OptionButton1.Caption = "Controls Collection"

    OptionButton2.Caption = "Pages Collection"

    OptionButton1.Value = True

    CommandButton1.Caption = "Get Member Name"

End Sub


Object 속성 예제

새로운 컨트롤이 Microsoft Forms의 표준 Top 속성과는 다른 Top 속성을 가지고 있다고 가정해 봅시다. 구문을 기초로 한 속성을 다 사용할 수 있습니다.

control.Top은 표준 Top 속성을 사용합니다.

control.Object.Top은 Top 속성을 추가한 컨트롤에서 사용합니다.


TabStop 속성 예제

다음의 예제는 TabStop 속성을 사용하여 사용자가 특정 컨트롤에 포커스를 옮기기 위하여 TAB키를 누르는지의 여부를 조정합니다. 폼 컨트롤 사이에서 포커스를 옮기려면 TAB키를 누르고 나서, 전환 단추를 눌러 CommandButton1에 대한 TabStop을 바꿉니다. TabStop이 False일 때, CommandButton1은 TAB키에 의해 포커스를 받지 않을 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

ToggleButton1이라 명명된 전환 단추

옵션 단추 또는 목록 상자와 같은, 하나 또는 둘 이상의 컨트롤

Private Sub CommandButton1_Click()

    MsgBox "CommandButton1을 눌렀습니다."

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1 = True Then

        CommandButton1.TabStop = True

        ToggleButton1.Caption = "TabStop On"

    Else

        CommandButton1.TabStop = False

        ToggleButton1.Caption = "TabStop Off"

    End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Show Message"

    ToggleButton1.Caption = "TabStop On"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

End Sub


TakeFocusOnClick 속성 예제

다음의 예제는 TakeFocusOnClick을 사용하여 사용자가 단추를 누르고 있을 때 명령어 단추가 포커스를 받는지의 여부를 조정합니다. 사용자는 CommandButton1 대신에 컨트롤을 누르고 나서 CommandButton1을 누릅니다. TakeFocusOnClick이 True면 CommandButton1은 단추를 누르고 난 뒤에 포커스를 가지게 됩니다. 전환 단추를 눌러 TakeFocusOnClick 값을 변경할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

ToggleButton1이라 명명된 전환 단추

옵션 단추 또는 목록 상자와 같은, 하나 또는 둘 이상의 컨트롤

Private Sub CommandButton1_Click()

    MsgBox "CommandButton1이 포커스를 취했는지 보기위해 그것을 조사합니다."

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1 = True Then

        CommandButton1.TakeFocusOnClick = True

        ToggleButton1.Caption = "TakeFocusOnClick On"

    Else

        CommandButton1.TakeFocusOnClick = False

        ToggleButton1.Caption = "TakeFocusOnClick Off"

    End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Show Message"

    ToggleButton1.Caption = "TakeFocusOnClick On"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

End Sub


MatchEntry 속성 예제

다음의 예제는 MatchEntry 속성을 사용하여 콤보 상자와 목록 상자에 유용한 문자 결합을 설명합니다. 이 예제를 보면, 사용자는 옵션 단추와 결합하는 형식을 설정한 다음 콤보 상자에 입력하여 목록에서 항목을 규정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

OptionButton1에서 OptionButton3까지의 명명된 세 개의 옵션 단추 컨트롤

ComboBox1이라 명명된 콤보 상자

Private Sub OptionButton1_Click()

    ComboBox1.MatchEntry = fmMatchEntryNone

End Sub

Private Sub OptionButton2_Click()

    ComboBox1.MatchEntry = fmMatchEntryFirstLetter

End Sub

Private Sub OptionButton3_Click()

        ComboBox1.MatchEntry = fmMatchEntryComplete

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 9

        ComboBox1.AddItem "Choice " & i

    Next i

    ComboBox1.AddItem "Chocoholic"

    OptionButton1.Caption = "No matching"

    OptionButton1.Value = True

    OptionButton2.Caption = "Basic matching"

    OptionButton3.Caption = "Extended matching"

End Sub


MatchFound, MatchRequired 속성 예제

다음의 예제는 MatchFound와 MatchRequired 속성을 사용하여 콤보 상자에 어울리는 추가 문자를 설명합니다. 결합의 확인은 Change 이벤트에서 나타납니다.

이 예제를 보면, 사용자는 콤보 상자의 텍스트 부분이 콤보 상자의 항목 중 하나와 결합이 되는지의 여부를 규정합니다. 사용자는 콤보 상자에 입력하여 확인란을 규정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ComboBox1이라 명명된 콤보 상자

CheckBox1이라 명명된 확인란

Private Sub CheckBox1_Click()

    If CheckBox1.Value = True Then

        ComboBox1.MatchRequired = True

        MsgBox " 콤보 상자에서 포커스를 움직이려면, 목록에서 항목을 일치시키거나 ESC를 눌러야 합니다."

    Else

        ComboBox1.MatchRequired = False

        MsgBox " 콤보 상자에서 포커스를 움직이려면, 다른 컨트롤에 탭하거나 누르기만 하면 됩니다. 일치는 선택 사항입니다."

    End If

End Sub

Private Sub ComboBox1_Change()

    If ComboBox1.MatchRequired = True Then

    'MSForms는 이러한 경우를 자동적으로 처리합니다.

    Else

        If ComboBox1.MatchFound = True Then

            MsgBox "일치를 찾았습니다; 일치하는 선택."

        Else

            MsgBox "일치를 찾지 못했습니다; ."

        End If

    End If

End Sub

Private Sub UserForm_Initialize()

Dim i As Integer

For i = 1 To 9

    ComboBox1.AddItem "Choice " & i

Next i

ComboBox1.AddItem "Chocoholic"

CheckBox1.Caption = "MatchRequired"

CheckBox1.Value = True

End Sub


MultiSelect, Selected 속성 예제

다음의 예제는 MultiSelect와 Selected 속성을 사용하여 목록 상자에서 하나 또는 더 많은 항목을 선택하는 방법을 설명합니다. 사용자는 옵션 단추를 누르고 목록 상자에서 항목을 선택함으로써 선택 방법을 규정하게 됩니다. 사용자는 명령어 단추를 눌러 두번째 목록 상자에서 선택된 항목을 보여줍니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1과 ListBox2라 명명된 두 개의 목록 상자 컨트롤

CommandButton1이라 명명된 명령어 단추

OptionButton1에서 OptionButton3까지의 명명된 세 개의 옵션 단추 컨트롤

Dim i As Integer

Private Sub CommandButton1_Click()

    ListBox2.Clear

    For i = 0 To 9

        If ListBox1.Selected(i) = True Then

            ListBox2.AddItem ListBox1.List(i)

        End If

    Next i

End Sub

Private Sub OptionButton1_Click()

    ListBox1.MultiSelect = fmMultiSelectSingle

End Sub

Private Sub OptionButton2_Click()

    ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

Private Sub OptionButton3_Click()

    ListBox1.MultiSelect = fmMultiSelectExtended

End Sub

Private Sub UserForm_Initialize()

    For i = 0 To 9

        ListBox1.AddItem "Choice " & (ListBox1.ListCount + 1)

    Next i

    OptionButton1.Caption = "Single Selection"

    ListBox1.MultiSelect = fmMultiSelectSingle

    OptionButton1.Value = True

    OptionButton2.Caption = "Multiple Selection"

    OptionButton3.Caption = "Extended Selection"

    CommandButton1.Caption = "Show selections"

    CommandButton1.AutoSize = True

End Sub


콤보 상자에 대한 Style 속성 예제

다음의 예제는 Style 속성을 사용하여 콤보 상자의 텍스트 영역에 입력된 효과를 변경합니다. 사용자는 옵션 단추 컨트롤을 선택함으로써 유형을 선택하고 콤보 상자에 입력하여 항목을 선택합니다. Style이 fmStyleDropDownList일 때, 사용자는 늘어진 목록에서 항목을 선택해야 합니다. Style이 fmStyleDropDownCombo일 때, 사용자는 늘어진 목록에서 텍스트 영역에 입력하여 항목을 규정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

OptionButton1과 OptionButton2라 명명된 두 개의 옵션 단추 컨트롤

ComboBox1이라 명명된 콤보 상자

Private Sub OptionButton1_Click()

    ComboBox1.Style = fmStyleDropDownCombo

End Sub

Private Sub OptionButton2_Click()

    ComboBox1.Style = fmStyleDropDownList

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 10

        ComboBox1.AddItem "Choice " & i

    Next i

    OptionButton1.Caption = "Select like ComboBox"

    OptionButton1.Value = True

    ComboBox1.Style = fmStyleDropDownCombo

    OptionButton2.Caption = "Select like ListBox"

End Sub


다중 페이지와 연속 탭에 대한 Style 속성 예제

다음의 예제는 Style 속성을 사용하여 다중 페이지와 연속 탭에 있는 탭의 모양을 규정합니다. 이 예제를 보면, 이름표를 사용하는 것을 설명합니다. 사용자는 옵션 단추를 선택함으로써 유형을 선택할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

OptionButton1에서 OptionButton3까지의 명명된 세 개의 옵션 단추 컨트롤

MultiPage1이라 명명된 다중 페이지

TabStrip1이라 명명된 연속 탭

연속 탭 안의 모든 컨트롤

다중 페이지 각 페이지의 모든 컨트롤

Private Sub OptionButton1_Click()

    MultiPage1.Style = fmTabStyleTabs

    TabStrip1.Style = fmTabStyleTabs

End Sub

Private Sub OptionButton2_Click()

    '페이지의 테두리선이 보이지 않으니 유의하십시오.

    MultiPage1.Style = fmTabStyleButtons

    TabStrip1.Style = fmTabStyleButtons

End Sub

Private Sub OptionButton3_Click()

    '페이지의 테두리선이 보이지 않고 페이지의 본문은 탭이 정상적으로 나타나는 지점에서 시작된다는 점을 유의하십시오.

    MultiPage1.Style = fmTabStyleNone

    TabStrip1.Style = fmTabStyleNone

End Sub

Private Sub UserForm_Initialize()

    Label1.Caption = "Page/Tab Style"

    OptionButton1.Caption = "Tabs"

    OptionButton1.Value = True

    MultiPage1.Style = fmTabStyleTabs

    TabStrip1.Style = fmTabStyleTabs

    OptionButton2.Caption = "Buttons"

    OptionButton3.Caption = "No Tabs or Buttons"

End Sub


OldLeft, OldTop, OldHeight, OldWidth 속성 예제

다음의 예제는 OldLeft, OldTop, OldHeight, OldWidth 속성이 현재 위치와 크기에서 컨트롤을 유지하기 위하여 Layout 이벤트 내에서 사용됩니다. 사용자는 컨트롤을 옮기고 메시지 상자에 응답하기 위하여 명령어 단추를 눌러 [콤보 상자 이동]을 컨트롤로 옮깁니다. 사용자는 반복되는 다른 컨트롤을 재설정하기 위하여 명령어 단추를 눌러 [콤보 상자 재설정]으로 옮깁니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1과 CommandButton2라 명명된 두 개의 명령어 단추 컨트롤

ComboBox1이라 명명된 콤보 상자

Dim Initialize As Integer

Dim ComboLeft, ComboTop, ComboWidth, ComboHeight As Integer

Private Sub UserForm_Initialize()

    Initialize = 0

    CommandButton1.Caption = "Move ComboBox"

    CommandButton2.Caption = "Reset ComboBox"

    '콤보 상자 재설정에 관한 정보

    ComboLeft = ComboBox1.Left

    ComboTop = ComboBox1.Top

    ComboWidth = ComboBox1.Width

    ComboHeight = ComboBox1.Height

End Sub

Private Sub CommandButton1_Click()

        ComboBox1.Move 0, 0, , , True

End Sub

Private Sub UserForm_Layout()

    Dim MyControl As Control

    Dim MsgBoxResult As Integer

    If Initialize = 0 Then   '초기 Layout 이벤트의 메시지 상자를 없앱니다.

        Initialize = 1

        Exit Sub

    End If

    MsgBoxResult = MsgBox("In Layout event - Continue move?", vbYesNo)

    If MsgBoxResult = vbNo Then

        ComboBox1.Move ComboBox1.OldLeft, ComboBox1.OldTop, ComboBox1.OldWidth, ComboBox1.OldHeight

    End If

End Sub

Private Sub CommandButton2_Click()

    ComboBox1.Move ComboLeft, ComboTop, ComboWidth, ComboHeight

    '여기서 OldLeft, OldTop, OldWidth, 그리고 OldHeight 속성은 인식되지 않습니다.

    '주석이 만들어져 있지 않으면, 다음과 같은 언급은 실행 시 오류를 발생하게 합니다.

    'ComboBox1.ComboBox1 이동.OldLeft, ComboBox1.OldTop, ComboBox1.OldWidth, ComboBox1.OldHeight

End Sub


TabFixedHeight, TabFixedWidth 속성 예제

다음의 예제는 TabFixedHeight와 TabFixedWidth 속성을 사용하여 다중 페이지와 연속 탭에 쓰이는 탭의 크기를 설정합니다. 사용자는 회전자 컨트롤을 사용하여 다중 페이지와 연속 탭 내의 탭 크기와 너비를 조정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

MultiPage1이라 명명된 다중 페이지

TabStrip1이라 명명된 연속 탭

Width 컨트롤의 Label1이라 명명된 이름표

Width 컨트롤의 SpinButton1이라 명명된 회전자

Width 컨트롤의 TextBox1이라 명명된 입력란

Height 컨트롤의 Label2라 명명된 이름표

Height 컨트롤의 SpinButton2라 명명된 회전자

Height 컨트롤의 TextBox2라 명명된 입력란

Private Sub UpdateTabWidth()

    TextBox1.Text = SpinButton1.Value

    TabStrip1.TabFixedWidth = SpinButton1.Value

    MultiPage1.TabFixedWidth = SpinButton1.Value

End Sub

Private Sub UpdateTabHeight()

    TextBox2.Text = SpinButton2.Value

    TabStrip1.TabFixedHeight = SpinButton2.Value

    MultiPage1.TabFixedHeight = SpinButton2.Value

End Sub

Private Sub UserForm_Initialize()

    MultiPage1.Style = fmTabStyleButtons

    Label1.Caption = "Tab Width"

    SpinButton1.Min = 0

    SpinButton1.Max = TabStrip1.Width / TabStrip1.Tabs.Count

    SpinButton1.Value = 0

    TextBox1.Locked = True

    UpdateTabWidth

    Label2.Caption = "Tab Height"

    SpinButton2.Min = 0

    SpinButton2.Max = TabStrip1.Height

    SpinButton2.Value = 0

    TextBox2.Locked = True

    UpdateTabHeight

End Sub

Private Sub SpinButton1_SpinDown()

    UpdateTabWidth

End Sub

Private Sub SpinButton1_SpinUp()

    UpdateTabWidth

End Sub

Private Sub SpinButton2_SpinDown()

    UpdateTabHeight

End Sub

Private Sub SpinButton2_SpinUp()

    UpdateTabHeight

End Sub


TabIndex 속성 예제

다음의 예제는 TabIndex 속성을 사용하여 각 컨트롤의 탭 순서를 나타내고 설정합니다. 사용자는 TAB키를 눌러 탭 순서에 의한 다음 컨트롤을 선택하고 컨트롤의 TabIndex를 나타냅니다. 또한, TabIndex를 나타내기 위하여 컨트롤에서 단추를 누릅니다. 사용자 는 입력란에서 새 인덱스 값을 규정하고 CommandButton3을 눌러 TabIndex를 변경할 수 있습니다. 하나의 컨트롤에 대한 TabIndex를 변경하는 것은 또한 프레임 안의 다른 컨트롤에 대한 TabIndex를 변경합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

TextBox1이라 명명된 입력란

Frame1이라 명명된 프레임

TextBox2라 명명된 프레임 안의 입력란

CommandButton1과 CommandButton2라 명명된 프레임 안의 두 개의 명령어 단추 컨트롤

ScrollBar1이라 명명된 프레임 안의 이동줄

CommandButton3이라 명명된 명령어 단추 (프레임에 없는)

Private Sub MoveToFront()

    Dim i, Temp As Integer

    Temp = Frame1.ActiveControl.TabIndex

    For i = 0 To Temp - 1

        Frame1.Controls.Item(i).TabIndex = i + 1

    Next i

    Frame1.ActiveControl.TabIndex = 0

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton3_Click()

    Dim i, Temp As Integer

    If IsNumeric(TextBox1.Text) Then

        Temp = Val(TextBox1.Text)

        If Temp >= Frame1.Controls.Count Or Temp < 0 Then

            '항목이 범위를 벗어났습니다. 컨트롤을 탭 순서의 앞으로 이동합니다.

            MoveToFront

        ElseIf Temp > Frame1.ActiveControl.TabIndex Then

            '항목을 목록 아래로 이동합니다.

            For i = Frame1.ActiveControl.TabIndex + 1 To Temp

                Frame1.Controls.Item(i).TabIndex = i - 1

            Next i

            Frame1.ActiveControl.TabIndex = Temp

            TextBox1.Text = Frame1.ActiveControl.TabIndex

        Else

            '항목을 목록 위로 이동합니다.

            For i = Frame1.ActiveControl.TabIndex - 1 To Temp

                Frame1.Controls.Item(i).TabIndex = i + 1

            Next i

            Frame1.ActiveControl.TabIndex = Temp

            TextBox1.Text = Frame1.ActiveControl.TabIndex

        End If

    Else

        '문자열 항목; 컨트롤을 탭 순서의 앞으로 이동합니다.

         MoveToFront

    End If

End Sub

Private Sub UserForm_Initialize()

    Label1.Caption = "TabIndex"

    Frame1.Controls(0).SetFocus

    TextBox1.Text = Frame1.ActiveControl.TabIndex

    Frame1.Cycle = fmCycleCurrentForm

    CommandButton3.Caption = "Set TabIndex"

    CommandButton3.TakeFocusOnClick = False

End Sub

Private Sub TextBox2_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton1_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton2_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub ScrollBar1_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub


Layout Event, LayoutEffect 속성 예제

다음의 예제는 Move 메서드와 함께 폼에서 선택된 컨트롤을 옮기고, 움직인(그리고 UserForm의 레이아웃을 변경한) 컨트롤을 명시하기 위하여 Layout 이벤트와 LayoutEffect 속성을 사용합니다. 사용자는 컨트롤을 눌러 옮기고 명령어 단추를 누릅니다. 메시지 상자는 옮기고 있는 컨트롤의 이름을 나타냅니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

ComboBox1이라 명명된 콤보 상자

OptionButton1이라 명명된 옵션 단추

CommandButton1이라 명명된 명령어 단추

ToggleButton1이라 명명된 전환 단추

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Move current control"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    ToggleButton1.Caption = "Use Layout Event"

    ToggleButton1.Value = True

End Sub

Private Sub CommandButton1_Click()

    If ActiveControl.Name = "ToggleButton1" Then

        '계속 고정을 유지하십시오.

    Else

        'ToggleButton1의 값이 True일 때 Layout 이벤트를 사용하여 컨트롤을 이동하십시오.

        ActiveControl.Move 0, 0, , , ToggleButton1.Value

    End If

End Sub

Private Sub UserForm_Layout()

    Dim MyControl As Control

    MsgBox "In the Layout Event"

    '이동 중인 컨트롤을 찾으십시오.

    For Each MyControl In Controls

        If MyControl.LayoutEffect = fmLayoutEffectInitiate Then

            MsgBox MyControl.Name & " is moving."

            Exit For

        End If

    Next

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Use Layout Event"

    Else

        ToggleButton1.Caption = "No Layout Event"

    End If

End Sub


Tag 속성 예제

다음의 예제는 UserForm의 각 컨트롤에 대해 추가되는 정보를 저장하기 위하여 Tag 속성을 사용합니다. 사용자는 컨트롤 단추를 누르고 명령어 단추를 누릅니다. 적당한 컨트롤에 대한 Tag의 내용은 입력란에서 반환됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

CommandButton1이라 명명된 명령어 단추

ScrollBar1이라 명명된 이동줄

ComboBox1라 명명된 콤보 상자

MultiPage1라 명명된 다중 페이지

Private Sub CommandButton1_Click()

    TextBox1.Text = ActiveControl.Tag

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Locked = True

    TextBox1.Tag = "태그 속성을 위한 구역을 표시합니다."

    TextBox1.AutoSize = True

    CommandButton1.Caption = "Show Tag of Current Control."

    CommandButton1.AutoSize = True

    CommandButton1.WordWrap = True

    CommandButton1.TakeFocusOnClick = False

    CommandButton1.Tag = "Shows tag of control that has the focus."

    ComboBox1.Style = fmStyleDropDownList

    ComboBox1.Tag = "ComboBox Style is that of a ListBox."

    ScrollBar1.Max = 100

    ScrollBar1.Min = -273

    ScrollBar1.Tag = "Max = " & ScrollBar1.Max & " , Min = " & ScrollBar1.Min

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    MultiPage1.Tag = "This MultiPage has " & MultiPage1.Pages.Count & " pages."

End Sub


TopIndex 속성 예제

다음의 예제는 목록 상자 안에 포커스를 가지는 항목과 목록 상자에 나타나는 가장 중요한 항목을 명시합니다. 이 예제에서는, 목록 상자의 위에 나타나는 항목을 규정하는 TopIndex 속성과, 포커스를 가지고 있는 항목을 규정하는 ListIndex 속성을 사용합니다. 사용자는 목록 상자에서 항목을 선택합니다. 나타난 TopIndex와 ListIndex 값은 사용자가 항목을 선택할 때 또는 사용자가 명령어 단추를 누를 때 변경됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

TextBox1이라 명명된 입력란

Label2라 명명된 이름표

TextBox2라 명명된 입력란

CommandButton1이라 명명된 명령어 단추

ListBox1이라 명명된 목록 상자

Private Sub CommandButton1_Click()

    ListBox1.TopIndex = ListBox1.ListIndex

    TextBox1.Text = ListBox1.TopIndex

    TextBox2.Text = ListBox1.ListIndex

End Sub

Private Sub ListBox1_Change()

    TextBox1.Text = ListBox1.TopIndex

    TextBox2.Text = ListBox1.ListIndex

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 0 To 24

        ListBox1.AddItem "Choice " & (i + 1)

    Next i

    ListBox1.Height = 66

    CommandButton1.Caption = "Move to top of list"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    Label1.Caption = "Index of top item"

    TextBox1.Text = ListBox1.TopIndex

    Label2. Caption = "Index of current item"

    Label2.AutoSize = True

    Label2.WordWrap = False

    TextBox2.Text = ListBox1.ListIndex

End Sub


TripleState 속성 예제

다음의 예제는 Null을 확인란과 전환 단추의 legal 값으로 허용하는 TripleState 속성을 사용합니다. 사용자는 ToggleButton2를 통해 TripleState의 값을 조절합니다. 사용자는 TripleState의 값에 기초를 둔 확인란 또는 전환 단추의 값을 설정할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CheckBox1이라 명명된 확인란

ToggleButton1이라 명명된 전환 단추

ToggleButton2라 명명된 전환 단추

Private Sub UserForm_Initialize()

    CheckBox1.Caption = "Value is True"

    CheckBox1.Value = True

    CheckBox1.TripleState = False

    ToggleButton1.Caption = "Value is True"

    ToggleButton1.Value = True

    ToggleButton1.TripleState = False

    ToggleButton2.Value = False

    ToggleButton2.Caption = "Triple State Off"

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        ToggleButton2.Caption = "Triple State On"

        CheckBox1.TripleState = True

        ToggleButton1.TripleState = True

    Else

        ToggleButton2.Caption = "Triple State Off"

        CheckBox1.TripleState = False

        ToggleButton1.TripleState = False

    End If

End Sub

Private Sub CheckBox1_Change()

    If IsNull(CheckBox1.Value) Then

        CheckBox1.Caption = "Value is Null"

    ElseIf CheckBox1.Value = False Then

        CheckBox1.Caption = "Value is False"

    ElseIf CheckBox1.Value = True Then

        CheckBox1.Caption = "Value is True"

    End If

End Sub

Private Sub ToggleButton1_Change()

    If IsNull(ToggleButton1.Value) Then

        ToggleButton1.Caption = "Value is Null"

    ElseIf ToggleButton1.Value = False Then

        ToggleButton1.Caption = "Value is False"

    ElseIf ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Value is True"

    End If

End Sub


Value 속성 예제

다음의 예제는 다른 형식의 컨트롤이 선택된 컨트롤의 Value 속성을 나타냄으로써 가질 수 있는 값을 설명합니다. 사용자는 TAB키를 누르거나 컨트롤에서 단추를 누름으로써 컨트롤을 선택합니다. 컨트롤의 형식에 의존하기 때문에 사용자는 컨트롤의 텍스트 영역에서 입력하거나, 컨트롤에서 한번 또는 그 이상으로 단추를 누르거나, 컨트롤 내에서 항목, 페이지, 또는 탭을 선택함으로써 컨트롤에 대한 값을 규정할 수 있습니다. 사용자는 정확히 이름표가 만들어진 명령어 단추를 눌러 선택된 컨트롤의 값을 나타낼 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

TextBox1이라 명명된 입력란

CheckBox1이라 명명된 확인란

ComboBox1이라 명명된 콤보 상자

CommandButton2라 명명된 명령어 단추

ListBox1이라 명명된 목록 상자

MultiPage1이라 명명된 다중 페이지

OptionButton1과 OptionButton2라 명명된 옵션 단추

ScrollBar1이라 명명된 이동줄

SpinButton1이라 명명된 회전자

TabStrip1이라 명명된 연속 탭

TextBox2라 명명된 입력란

ToggleButton1이라 명명된 전환 단추

Dim i As Integer

Private Sub CommandButton1_Click()

    TextBox1.Text = "Value of " & ActiveControl.Name & " is " & ActiveControl.Value

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Get value of current control"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    CommandButton1.TabStop = False

    TextBox1.AutoSize = True

    For i = 0 To 10

        ComboBox1.AddItem "Choice " & (i + 1)

        ListBox1.AddItem "Selection " & (100 - i)

    Next i

    CheckBox1.TripleState = True

    ToggleButton1.TripleState = True

    TextBox2.Text = "Enter text here."

End Sub


KeyPress 이벤트 예제

다음의 예제는 한 입력란을 두번째 입력란으로 복사키를 누르는 KeyPress 이벤트를 사용합니다. 사용자는 정확히 표기된 입력란에 입력합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1과 TextBox2라 명명된 두 개의 입력란 컨트롤

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    TextBox2.Text = TextBox2.Text & Chr(KeyAscii)

    '(SHIFT, CTRL, ALT,그리고 다른 키를 사용하여) 키보드 결합을 처리하거나,

    'TAB 또는 ENTER로 KeyDown 또는 KeyUp 이벤트를 사용하십시오.

End Sub

Private Sub UserForm_Initialize()

    Move 0, 0, 570, 380

    TextBox1.Move 30, 40, 220, 160

    TextBox1.MultiLine = True

    TextBox1.WordWrap = True

    TextBox1.Text = "Type text here."

    TextBox1.EnterKeyBehavior = True

    TextBox2.Move 298, 40, 220, 160

    TextBox2.MultiLine = True

    TextBox2.WordWrap = True

    TextBox2.Text = "Typed text copied here."

    TextBox2.Locked = True

 End Sub


Zoom 이벤트 예제

다음의 예제는 Zoom 속성의 새로운 값을 계산하고 적당한 폼에 이동줄을 추가하기 위하여 Zoom 이벤트를 사용합니다. 예제에서는, 현재 값을 나타내기 위하여 이름표를 사용합니다. 사용자는 회전자를 사용하여 폼의 크기를 규정하고 명령어 단추를 눌러서 Zoom 속성의 값을 설정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

SpinButton1이라 명명된 회전자

CommandButton1이라 명명된 명령어 단추

다른 컨트롤은 폼의 가장자리 근처에 위치합니다.

Private Sub CommandButton1_Click()

    Zoom = SpinButton1.Value

End Sub

Private Sub SpinButton1_SpinDown()

    Label1.Caption = SpinButton1.Value

End Sub

Private Sub SpinButton1_SpinUp()

    Label1.Caption = SpinButton1.Value

End Sub

Private Sub UserForm_Initialize()

    SpinButton1.Min = 10

    SpinButton1.Max = 400

    SpinButton1.Value = 100

    Label1.Caption = SpinButton1.Value

    CommandButton1.Caption = "Zoom it!"

End Sub

Private Sub UserForm_Zoom(Percent As Integer)

    Dim MyResult As Double

    If Percent > 99 Then

        ScrollBars = fmScrollBarsBoth

        ScrollLeft = 0

        ScrollTop = 0

        MyResult = Width * Percent / 100

        ScrollWidth = MyResult

        MyResult = Height * Percent / 100

        ScrollHeight = MyResult

    Else

        ScrollBars = fmScrollBarsNone

        ScrollLeft = 0

        ScrollTop = 0

    End If

End Sub


Max, Min, MaxLength 속성 예제

다음의 예제는 독립형 이동줄과 함께 사용될 때 Max 속성과 Min 속성을 설명합니다. 사용자는 1000에서 1000까지의 범위에 걸친 모든 정수의 Max 값과 Min 값을 설정할 수 있습니다. 이 예제에서는 MaxLength 속성을 사용하여 Max 값과 Min 값에 등록된 문자 수를 제한합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표와 TextBox1이라 명명된 입력란

Label2라 명명된 이름표와 TextBox2라 명명된 입력란

ScrollBar1이라 명명된 이동줄

Label3이라 명명된 이름표

Dim TempNum As Integer

Private Sub UserForm_Initialize()

    Label1.Caption = "Min -1000 to 1000"

    ScrollBar1.Min = -1000

    TextBox1.Text = ScrollBar1.Min

    TextBox1.MaxLength = 5

    Label2.Caption = "Max -1000 to 1000"

    ScrollBar1.Max = 1000

    TextBox2.Text = ScrollBar1.Max

    TextBox2.MaxLength = 5

    ScrollBar1.SmallChange = 1

    ScrollBar1.LargeChange = 100

    ScrollBar1.Value = 0

    Label3.Caption = ScrollBar1.Value

End Sub

Private Sub TextBox1_Change()

    If IsNumeric(TextBox1.Text) Then

        TempNum = CInt(TextBox1.Text)

        If TempNum >= -1000 And TempNum <= 1000 Then

            ScrollBar1.Min = TempNum

        Else

            TextBox1.Text = ScrollBar1.Min

        End If

    Else

        TextBox1.Text = ScrollBar1.Min

    End If

End Sub

Private Sub TextBox2_Change()

    If IsNumeric(TextBox2.Text) Then

        TempNum = CInt(TextBox2.Text)

        If TempNum >= -1000 And TempNum <= 1000 Then

            ScrollBar1.Max = TempNum

        Else

            TextBox2.Text = ScrollBar1.Max

        End If

    Else

        TextBox2.Text = ScrollBar1.Max

    End If

End Sub

Private Sub ScrollBar1_Change()

Label3.Caption = ScrollBar1.Value

End Sub


LargeChange, SmallChange 속성 예제

다음의 예제는 독립형 이동줄과 함께 사용되는 LargeChange 속성과 SmallChange 속성을 설명합니다. 사용자는 LargeChange 값과 SmallChange 값을 0부터 100에 걸쳐 모든 정수에 설정할 수 있습니다. 이 예제에서는 MaxLength 속성을 사용하여 LargeChange 값과 SmallChange 값에 등록된 문자 수를 제한합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표와 TextBox1이라 명명된 입력란

Label2라 명명된 이름표와 TextBox2라 명명된 입력란

ScrollBar1이라 명명된 이동줄

Label3이라 명명된 이름표

Dim TempNum As Integer

Private Sub ScrollBar1_Change()

    Label3.Caption = ScrollBar1.Value

End Sub

Private Sub TextBox1_Change()

    If IsNumeric(TextBox1.Text) Then

        TempNum = CInt(TextBox1.Text)

        If TempNum >= 0 And TempNum <= 100 Then

            ScrollBar1.SmallChange = TempNum

        Else

            TextBox1.Text = ScrollBar1.SmallChange

        End If

    Else

        TextBox1.Text = ScrollBar1.SmallChange

    End If

End Sub

Private Sub TextBox2_Change()

    If IsNumeric(TextBox2.Text) Then

        TempNum = CInt(TextBox2.Text)

        If TempNum >= 0 And TempNum <= 100 Then

            ScrollBar1.LargeChange = TempNum

        Else

            TextBox2.Text = ScrollBar1.LargeChange

        End If

    Else

        TextBox2.Text = ScrollBar1.LargeChange

    End If

End Sub

Private Sub UserForm_Initialize()

    ScrollBar1.Min = -1000

    ScrollBar1.Max = 1000

    Label1.Caption = "SmallChange 0 to 100"

    ScrollBar1.SmallChange = 1

    TextBox1.Text = ScrollBar1.SmallChange

    TextBox1.MaxLength = 3

    Label2.Caption = "LargeChange 0 to 100"

    ScrollBar1.LargeChange = 100

    TextBox2.Text = ScrollBar1.LargeChange

    TextBox2.MaxLength = 3

    ScrollBar1.Value = 0

    Label3.Caption = ScrollBar1.Value

End Sub


ScrollBars, KeepScrollBarsVisible 속성 예제

다음의 예제는 다중 페이지와 프레임의 페이지에 Scrollbars를 추가하기 위하여 Scrollbars 속성과 KeepScrollbarsVisible 속성을 사용합니다. 사용자는 차례대로 옵션 단추를 선택하고 KeepScrollbarsVisible 값을 규정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

MultiPage1이라 명명된 다중 페이지

Frame1이라 명명된 프레임

OptionButton1에서 OptionButton4까지의 명명된 네 개의 옵션 단추 컨트롤

Private Sub UserForm_Initialize()

    MultiPage1.Pages(0).ScrollBars = fmScrollBarsBoth

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsNone

    Frame1.ScrollBars = fmScrollBarsBoth

    Frame1.KeepScrollBarsVisible = fmScrollBarsNone

    OptionButton1.Caption = "No scroll bars"

    OptionButton1.Value = True

    OptionButton2.Caption = "Horizontal scroll bars"

    OptionButton3.Caption = "Vertical scroll bars"

    OptionButton4.Caption = "Both scroll bars"

End Sub

Private Sub OptionButton1_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsNone

    Frame1.KeepScrollBarsVisible = fmScrollBarsNone

End Sub

Private Sub OptionButton2_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsHorizontal

    Frame1.KeepScrollBarsVisible = fmScrollBarsHorizontal

End Sub

Private Sub OptionButton3_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsVertical

    Frame1.KeepScrollBarsVisible = fmScrollBarsVertical

End Sub

Private Sub OptionButton4_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsBoth

    Frame1.KeepScrollBarsVisible = fmScrollBarsBoth

End Sub


ScrollHeight, ScrollLeft, ScrollTop, ScrollWidth 속성 예제

다음의 예제는 다중 페이지의 페이지를 이동 영역으로 사용합니다. 사용자는 초기화 때 나타나지 않은 페이지의 부분에 액세스하기 위하여 다중 페이지의 Page2에 이동줄을 사용합니다.

이 예를 사용하려면, 이 샘플 코드를 폼의 선언 부분에 복사하십시오. 폼은 MultiPage1이라 명명된 다중 페이지를 포함하고 있고, 다중 페이지의 각 페이지가 하나 또는 그 이상의 컨트롤을 포함하고 있다는 사실을 확인하십시오.

참고   다중 페이지의 각 페이지는 유일합니다. Page1에는 이동줄이 없습니다. Page2에는 수직, 수평 이동줄이 있습니다.

Private Sub UserForm_Initialize()

    MultiPage1.Pages(1).ScrollBars = fmScrollBarsBoth

    MultiPage1.Pages(1).KeepScrollBarsVisible = fmScrollBarsNone

    MultiPage1.Pages(1).ScrollHeight = 2 * MultiPage1.Height

    MultiPage1.Pages(1).ScrollWidth = 2 * MultiPage1.Width

    'ScrollLeft, ScrollTop을 설정하기 전에 ScrollHeight, ScrollWidth를 설정하십시오.

    MultiPage1.Pages(1).ScrollLeft = MultiPage1.Width / 2

    MultiPage1.Pages(1).ScrollTop = MultiPage1.Height / 2

End Sub


InsideHeight, InsideWidth 속성 예제

다음의 예제는 InsideHeight 속성과 InsideWidth 속성을 사용하여 명령어 단추의 크기를 다시 설정합니다. 사용자가 크기를 재설정하려면, 명령어 단추를 누르면 됩니다.

참고   InsideHeight 속성과 InsideWidth 속성은 읽기 전용입니다

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

Dim Resize As Single

Private Sub UserForm_Initialize()

    Resize = 0.75

    CommandButton1.Caption = "Resize Button"

End Sub

Private Sub CommandButton1_Click()

    CommandButton1.Move 10, 10, UserForm1.InsideWidth * Resize, UserForm1.InsideHeight * Resize

    CommandButton1.Caption = "Button resized using InsideHeight and InsideWidth!"

End Sub


ListRows 속성 예제

다음의 예제는 회전자를 사용하여 콤보 상자의 늘어진 목록의 행 수를 조정합니다. 사용자는 회전자 값을 바꾸고, 목록을 나타내기 위하여 콤보 상자의 늘어진 화살 모양을 누릅니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ComboBox1이라 명명된 콤보 상자

SpinButton1이라 명명된 회전자

Label1이라 명명된 이름표

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 20

        ComboBox1.AddItem "Choice " & (ComboBox1.ListCount + 1)

    Next i

    SpinButton1.Min = 0

    SpinButton1.Max = 12

    SpinButton1.Value = ComboBox1.ListRows

    Label1.Caption = "ListRows = " & SpinButton1.Value

End Sub

Private Sub SpinButton1_Change()

    ComboBox1.ListRows = SpinButton1.Value

    Label1.Caption = "ListRows = " & SpinButton1.Value

End Sub


ListWidth 속성 예제

다음의 예제는 회전자를 사용하여 콤보 상자의 늘어진 목록의 너비를 조정합니다. 사용자는 회전자의 값을 변경하고 목록을 나타내기 위하여 콤보 상자의 늘어진 화살 모양을 누릅니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ComboBox1이라 명명된 콤보 상자

SpinButton1이라 명명된 회전자

Label1이라 명명된 이름표

Private Sub SpinButton1_Change()

    ComboBox1.ListWidth = SpinButton1.Value

    Label1.Caption = "ListWidth = " & SpinButton1.Value

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 20

        ComboBox1.AddItem "Choice " & (ComboBox1.ListCount + 1)

    Next i

    SpinButton1.Min = 0

    SpinButton1.Max = 130

    SpinButton1.Value = Val(ComboBox1.ListWidth)

    SpinButton1.SmallChange = 5

    Label1.Caption = "ListWidth = " & SpinButton1.Value

End Sub


ListStyle, MultiSelect 속성 예제

다음의 예제는 ListStyle 속성과 MultiSelect 속성을 사용하여 목록 상자의 모양을 조정합니다. 사용자는 전환 단추를 사용하는 ListStyle 값을 선택하여 MultiSelect 값 중의 하나에 대한 옵션 단추를 선택합니다. 목록 상자 모양은 목록 상자 내의 선택 동작뿐 아니라 때에 따라 바뀌기도 합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1이라 명명된 목록 상자

Label1이라 명명된 이름표

OptionButton1에서 OptionButton3까지의 명명된 세 개의 옵션 단추 컨트롤

ToggleButton1이라 명명된 전환 단추

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 8

        ListBox1.AddItem "Choice" & (ListBox1.ListCount + 1)

    Next i

    Label1.Caption = "MultiSelect Choices"

    Label1.AutoSize = True

    ListBox1.MultiSelect = fmMultiSelectSingle

    OptionButton1.Caption = "Single entry"

    OptionButton1.Value = True

    OptionButton2.Caption = "Multiple entries"

    OptionButton3.Caption = "Extended entries"

    ToggleButton1.Caption = "ListStyle - Plain"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

    ToggleButton1.Height = 30

End Sub

Private Sub OptionButton1_Click()

    ListBox1.MultiSelect = fmMultiSelectSingle

End Sub

Private Sub OptionButton2_Click()

    ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

Private Sub OptionButton3_Click()

    ListBox1.MultiSelect = fmMultiSelectExtended

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Plain ListStyle"

        ListBox1.ListStyle = fmListStylePlain

    Else

        ToggleButton1.Caption = "OptionButton or CheckBox"

        ListBox1.ListStyle = fmListStyleOption

    End If

End Sub


MouseIcon, MousePointer 속성 예제

다음의 예제는 특정 컨트롤이나 상황에 적당한 마우스 포커스를 규정하는 방법을 설명합니다. MousePointer 속성을 사용함으로써 몇 가지의 유용한 마우스 포커스 중 하나를 지정할 수 있고, 또는 MousePointer 속성과 MouseIcon 속성을 사용하는 사용자 정의 아이콘을 지정할 수 있습니다.

이 예제는 다음 방법에서 적용됩니다.

처음 명령어 단추와 관련 있는 마우스 포커스를 변경하려면 목록 상자에서 마우스 포커스를 선택하십시오.

두번째 명령어 단추와 그 마우스 포커스를 연관 지으려면 첫번째 명령어 단추를 누르십시오.

마우스 포커스에 대해 사용자 정의 아이콘을 불러오려면 두번째 명령어 단추를 누르십시오.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때, 다음의 폼을 포함해야 합니다.

CommandButton1과 CommandButton2라 명명된 두 개의 명령어 단추 컨트롤

ListBox1이라 명명된 목록 상자

참고   이 예제에서는 LoadPicture 기능을 사용할 때 불러오는 두 개의 아이콘 파일(아이콘 파일 확장자와 동일한)을 사용합니다. 사용자의 시스템에 있는 아이콘 파일을 규정하려면, 각 LoadPicture 기능 호출을 편집해야 합니다.

Private Sub ListBox1_Click()

    If IsNull(ListBox1.Value) = False Then

        CommandButton1.MousePointer = ListBox1.Value

        If CommandButton1.MousePointer = fmMousePointerCustom Then

            CommandButton1.MouseIcon = LoadPicture("c:\msvc20\cdk32\samples\circ1\bix.ico")

        End If

    End If

End Sub

Private Sub CommandButton1_Click()

    CommandButton2.MousePointer = CommandButton1.MousePointer

    If CommandButton2.MousePointer = fmMousePointerCustom Then

        CommandButton2.MouseIcon = CommandButton1.MouseIcon

    End If

End Sub

Private Sub CommandButton2_Click()

    CommandButton2.MousePointer = fmMousePointerCustom

    CommandButton2.MouseIcon = LoadPicture("c:\msvc20\cdk32\samples\push\push.ico")

End Sub

Private Sub UserForm_Initialize()

    ' MousePointer 선택을 사용하여 목록 상자를 읽어들입니다

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "fmMousePointerDefault"

    ListBox1.List(0, 1) = fmMousePointerDefault

    ListBox1.AddItem "fmMousePointerArrow"

    ListBox1.List(1, 1) = fmMousePointerArrow

    ListBox1.AddItem "fmMousePointerCross"

    ListBox1.List(2, 1) = fmMousePointerCross

    ListBox1.AddItem "fmMousePointerIBeam"

    ListBox1.List(3, 1) = fmMousePointerIBeam

    ListBox1.AddItem "fmMousePointerSizeNESW"

    ListBox1.List(4, 1) = fmMousePointerSizeNESW

    ListBox1.AddItem "fmMousePointerSizeNS"

    ListBox1.List(5, 1) = fmMousePointerSizeNS

    ListBox1.AddItem "fmMousePointerSizeNWSE"

    ListBox1.List(6, 1) = fmMousePointerSizeNWSE

    ListBox1.AddItem "fmMousePointerSizeWE"

    ListBox1.List(7, 1) = fmMousePointerSizeWE

    ListBox1.AddItem "fmMousePointerUpArrow"

    ListBox1.List(8, 1) = fmMousePointerUpArrow

    ListBox1.AddItem "fmMousePointerHourglass"

    ListBox1.List(9, 1) = fmMousePointerHourGlass

    ListBox1.AddItem "fmMousePointerNoDrop"

    ListBox1.List(10, 1) = fmMousePointerNoDrop

    ListBox1.AddItem "fmMousePointerAppStarting"

    ListBox1.List(11, 1) = fmMousePointerAppStarting

    ListBox1.AddItem "fmMousePointerHelp"

    ListBox1.List(12, 1) = fmMousePointerHelp

    ListBox1.AddItem "fmMousePointerSizeAll"

    ListBox1.List(13, 1) = fmMousePointerSizeAll

    ListBox1.AddItem "fmMousePointerCustom"

    ListBox1.List(14, 1) = fmMousePointerCustom

    ListBox1.BoundColumn = 2

    ListBox1.Value = fmMousePointerDefault

    MsgBox "ListBox1.Value =" & ListBox1.Value & "."

    CommandButton1.MousePointer = ListBox1.Value

End Sub


EnterKeyBehavior 속성 예제

다음의 예제는 EnterKeyBehavior 속성을 사용하여 입력란에서 ENTER의 효과를 제어하는 것입니다. 이 예제에서 사용자는 입력란을 단일 선이나 다중선으로 결정할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

ToggleButton1과 ToggleButton2라 명명된 두 개의 전환 단추

Private Sub UserForm_Initialize()

    TextBox1.EnterKeyBehavior = True

    ToggleButton1.Caption = "EnterKeyBehavior is True"

    ToggleButton1.Width = 70

    ToggleButton1.Value = True

    TextBox1.MultiLine = True

    ToggleButton2.Caption = "MultiLine is True"

    ToggleButton2.Width = 70

    ToggleButton2.Value = True

    TextBox1.Height = 100

    TextBox1.WordWrap = True

    TextBox1.Text = "Type your text here. If EnterKeyBehavior is True, " _

    & "press Enter to start a new line. Otherwise, press SHIFT+ENTER."

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        TextBox1.EnterKeyBehavior = True

        ToggleButton1.Caption = "EnterKeyBehavior is True"

    Else

        TextBox1.EnterKeyBehavior = False

        ToggleButton1.Caption = "EnterKeyBehavior is False"

    End If

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        TextBox1.MultiLine = True

        ToggleButton2.Caption = "MultiLine TextBox"

    Else

        TextBox1.MultiLine = False

        ToggleButton2.Caption = "Single-line TextBox"

    End If

End Sub


Index 속성 예제

다음의 예제는 Index 속성을 이용하여 다중 페이지와 연속 탭에서 페이지와 탭의 순서를 바꾸는 것입니다. 사용자는 CommandButton1을 선택하여 세번째 페이지를 다중 페이지와 연속 탭 앞으로 이동할 수 있습니다. 사용자는 CommandButton2를 선택하여 세번째 페이지를 다중 페이지와 연속 탭 뒤로 이동할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1과 CommandButton2라 명명된 두 개의 명령어 단추 컨트롤

MultiPage1이라 명명된 다중 페이지

TabStrip1이라 명명된 연속 탭

Dim MyPageOrTab As Object

Private Sub CommandButton1_Click()

' 세번째 페이지와 탭을 컨트롤 앞으로 이동합니다

    MultiPage1.page3.Index = 0

    TabStrip1.Tab3.Index = 0

End Sub

Private Sub CommandButton2_Click()

' 선택된 페이지와 탭을 컨트롤 뒤로 이동합니다

    Set MyPageOrObject = MultiPage1.SelectedItem

    MsgBox "MultiPage1.SelectedItem = " & MultiPage1.SelectedItem.Name

    MyPageOrObject.Index = 4

    Set MyPageOrObject = TabStrip1.SelectedItem

    MsgBox "TabStrip1.SelectedItem = " & TabStrip1.SelectedItem.Caption

    MyPageOrObject.Index = 4

End Sub

Private Sub UserForm_Initialize()

    MultiPage1.Width = 200

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    TabStrip1.Width = 200

    TabStrip1.Tabs.Add

    TabStrip1.Tabs.Add

    TabStrip1.Tabs.Add

    CommandButton1.Caption = "Move third page/tab to front"

    CommandButton1.Width = 120

    CommandButton2.Caption = "Move selected item to back"

    CommandButton2.Width = 120

 End Sub


Enabled, Locked 속성 예제

다음의 예제는 Enabled 및 Locked 속성을 설명하고 서로를 보완하는 방법을 보여줍니다. 이 예제는 각 속성을 독립적으로 보여주어 사용자가 독립적으로 설정하여 혼합할 수 있도록 합니다. 이 예제는 또한 제2 입력란을 포함하여 사용자가 입력란 컨트롤 간의 정보를 잘라내거나 붙여넣을 수 있도록 합니다.

참고   사용자는 선택한 것을 CTRL+C를 사용하여 클립보드에 복사하고 CTRL+V를 사용하여 붙여넣을 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

CheckBox1과 CheckBox2라 명명된 두 개의 확인란 컨트롤

TextBox2라 명명된 제 2 입력란

Private Sub CheckBox1_Change()

    TextBox2.Text = "TextBox2"

    TextBox1.Enabled = CheckBox1.Value

End Sub

Private Sub CheckBox2_Change()

    TextBox2.Text = "TextBox2"

    TextBox1.Locked = CheckBox2.Value

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "TextBox1"

    TextBox1.Enabled = True

    TextBox1.Locked = False

    CheckBox1.Caption = "Enabled"

    CheckBox1.Value = True

    CheckBox2.Caption = "Locked"

    CheckBox2.Value = False

    TextBox2.Text = "TextBox2"

End Sub


Delay 속성 예제

다음의 예제는 사용자가 마우스 단추를 누른 상태에서 회전자나 이동줄을 바꿀 때 발생하는 연속적인 Change, SpinUp, SpinDown 이벤트 사이의 시간 간격을 설명합니다.

이 예제에서 사용자는 지연 설정을 선택하고 회전자의 양쪽을 누르고 있으면 SpinUp과 SpinDown 이벤트는 초기화된 상태로 목록 상자에 기록됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

SpinButton1이라 명명된 회전자

OptionButton1과 OptionButton2라 명명된 두 개의 옵션 단추 컨트롤

ListBox1이라 명명된 목록 상자

Dim EventCount As Long

Private Sub ResetControl()

    ListBox1.Clear

    EventCount = 0

    SpinButton1.Value = 5000

End Sub

Private Sub UserForm_Initialize()

    SpinButton1.Min = 0

    SpinButton1.Max = 10000

    ResetControl

    SpinButton1.Delay = 50

    OptionButton1.Caption = "50 millisecond delay"

    OptionButton2.Caption = "250 millisecond delay"

    OptionButton1.Value = True

End Sub

Private Sub OptionButton1_Click()

    SpinButton1.Delay = 50

    ResetControl

End Sub

Private Sub OptionButton2_Click()

    SpinButton1.Delay = 250

    ResetControl

End Sub

Private Sub SpinButton1_SpinDown()

    EventCount = EventCount + 1

    ListBox1.AddItem EventCount

End Sub

Private Sub SpinButton1_SpinUp()

    EventCount = EventCount + 1

    ListBox1.AddItem EventCount

End Sub


DropButtonStyle, ShowDropButtonWhen 속성 예제

다음의 예제는 사용자가 콤보 상자나 입력란에서 목록 표시 화살표를 지정할 수 있는 다른 기호를 설명합니다. 이 예제에서 사용자는 목록 표시 화살표의 유형을 콤보 상자에서 선택 할 수 있으며 Locked 속성도 사용할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ComboBox1이라 명명된 콤보 상자

Label1이라 명명된 이름표

이름표 사이에 있는 TextBox1이라 명명된 입력란

Private Sub ComboBox1_Click()

    ComboBox1.DropButtonStyle = ComboBox1.Value

    TextBox1.DropButtonStyle = ComboBox1.Value

End Sub

Private Sub UserForm_Initialize()

    ComboBox1.ColumnCount = 2

    ComboBox1.BoundColumn = 2

    ComboBox1.TextColumn = 1

    ComboBox1.AddItem "Blank Button"

    ComboBox1.List(0, 1) = 0

    ComboBox1.AddItem "Down Arrow"

    ComboBox1.List(1, 1) = 1

    ComboBox1.AddItem "Ellipsis"

    ComboBox1.List(2, 1) = 2

    ComboBox1.AddItem "Underscore"

    ComboBox1.List(3, 1) = 3

    ComboBox1.Value = 0

    TextBox1.Text = "TextBox1"

    TextBox1.ShowDropButtonWhen = fmShowDropButtonWhenAlways

    TextBox1.Locked = True

    Label1.Caption = "TheDropButton also applies to a TextBox."

    Label1.AutoSize = True

    Label1.WordWrap = False

End Sub


LineCount, TextLength 속성 예제

다음의 예제는 LineCount 및 TextLength 속성을 사용하여 입력란 안에 있는 문자와 문자열의 개수를 세는 것입니다. 이 예제에서 사용자는 입력란 안에 입력하는 것이 가능하며 LineCount 및 TextLength 속성의 현재 값을 검색할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

CommandButton1이라 명명된 명령어 단추

Label1과 Label2라 명명된 두 개의 이름표 컨트롤

' SHIFT+ENTER를 입력하여 택스트 상자 내의 새 줄을 시작합니다.

Private Sub CommandButton1_Click()

    ' 줄을 세는 포커스를 우선 TextBox1에 둡니다.

    TextBox1.SetFocus

    Label1.Caption = "LineCount = " & TextBox1.LineCount

    Label2.Caption = "TextLength = " & TextBox1.TextLength

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.WordWrap = True

    CommandButton1.AutoSize = True

    CommandButton1.Caption = "Get Counts"

    Label1.Caption = "LineCount = "

    Label2.Caption = "TextLength = "

    TextBox1.MultiLine = True

    TextBox1.WordWrap = True

    TextBox1.Text = "Enter your text here."

End Sub


Count 속성 예제

다음의 예제는 폼에 맞는 Conrols 컬렉션의 Count 속성을 나타내며 Count 속성은 각 다중 페이지와 연속 탭의 페이지 및 탭의 개수를 인식합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 다수의 컨트롤을 포함할 수 있으며 다음의 제약 조건을 만족해야 합니다.

다중 페이지 컨트롤의 이름은 벖瑁� 페이지뵹� 시작해야 합니다.

연속 탭 컨트롤의 이름은 벩Ъ� 탭붅막� 시작해야 합니다.

참고   사용자는 다중 페이지에 페이지를 첨가하거나 연속 탭에 탭을 첨가할 수 있습니다. 컨트롤을 두 번 누르고 컨트롤의 탭 영역에서 오른쪽을 누르면 바로 가는 메뉴에서 [새 페이지]를 선택하십시오.

Private Sub UserForm_Initialize()

    Dim MyControl As Control

    MsgBox "UserForm1.Controls.Count = " & Controls.Count

    For Each MyControl In Controls

        If (MyControl.Name Like "MultiPage*") Then

            MsgBox MyControl.Name & ".Pages.Count = " & MyControl.Pages.Count

        ElseIf (MyControl.Name Like "TabStrip*") Then

            MsgBox MyControl.Name & ".Tabs.Count = " & MyControl.Tabs.Count

        End If

    Next

End Sub


Alignment 속성 예제

다음의 예제는 여려 개의 옵션 단추 컨트롤과 함께 사용되는 Alignment 속성을 설명한 것입니다. 이 예제에서는 사용자가 전환 단추를 눌러 정렬을 바꿀 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 다음의 컨트롤을 포함해야 합니다.

OptionButton1에서 OptionButton4까지 명명된 네 개의 옵션 단추 컨트롤

ToggleButton1이라 명명된 전환 단추

Private Sub UserForm_Initialize()

    OptionButton1.Alignment = fmAlignmentLeft

    OptionButton2.Alignment = fmAlignmentLeft

    OptionButton1.Caption = "Alignment with AutoSize"

    OptionButton2.Caption = "Choice 2"

    OptionButton1.AutoSize = True

    OptionButton2.AutoSize = True

    ToggleButton1.Caption = "Left Align"

    ToggleButton1.WordWrap = True

    ToggleButton1.Value = True

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Left Align"

        OptionButton1.Alignment = fmAlignmentLeft

        OptionButton2.Alignment = fmAlignmentLeft

    Else

        ToggleButton1.Caption = "Right Align"

        OptionButton1.Alignment = fmAlignmentRight

        OptionButton2.Alignment = fmAlignmentRight

    End If

End Sub


ActiveControl 속성 예제

다음의 예제는 사용자가 찾아 간 컨트롤을 추적하는 서브루틴 내에서 ActiveControl 속성을 사용하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 다음의 컨트롤을 포함해야 합니다.

ScrollBar1이라 명명된 이동줄

ListBox1이라 명명된 목록 상자

OptionButton1과 OptionButton2라 명명된 두 개의 옵션 단추 컨트롤

Frame1이라 명명된 프레임

Dim MyControl As Control

Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "Controls Visited"

    ListBox1.List(0, 1) = "Control Index"

End Sub

Private Sub TraceFocus()

    ListBox1.AddItem ActiveControl.Name

    ListBox1.List(ListBox1.ListCount - 1, 1) = ActiveControl.TabIndex

End Sub

Private Sub Frame1_Click()

    TraceFocus

End Sub

Private Sub ListBox1_Click()

    TraceFocus

End Sub

Private Sub OptionButton1_Click()

    TraceFocus

End Sub

Private Sub OptionButton2_Click()

    TraceFocus

End Sub

Private Sub ScrollBar1_Click()

    TraceFocus

End Sub


DropDown 메서드 예제

다음의 예제는 DropDown 메서드를 사용하여 콤보 상자의 목록 표시합니다. 사용자는 명령어 단추를 눌러서 콤보 상자의 목록을 나타내거나 닫을 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ComboBox1이라 명명된 콤보 상자

CommandButton1이라 명명된 명령어 단추

Private Sub CommandButton1_Click()

    ComboBox1.DropDown

End Sub

Private Sub UserForm_Initialize()

    ComboBox1.AddItem "Turkey"

    ComboBox1.AddItem "Chicken"

    ComboBox1.AddItem "Duck"

    ComboBox1.AddItem "Goose"

    ComboBox1.AddItem "Grouse"

End Sub


입력란에서의 잘라내어 붙여넣기 예제

다음의 예제는 Cut과 Paste 메서드를 사용하여 문자열을 하나의 입력란으로부터 잘라내어 다른 입력란으로 붙여넣는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1과 TextBox2라 명명된 두 개의 입력란 컨트롤

CommandButton1이라 명명된 명령어 단추

Private Sub UserForm_Initialize()

    TextBox1.Text = "From TextBox1!"

    TextBox2.Text = "Hello "

    CommandButton1.Caption = "Cut and Paste"

    CommandButton1.AutoSize = True

End Sub

Private Sub CommandButton1_Click()

    TextBox2.SelStart = 0

    TextBox2.SelLength = TextBox2.TextLength

    TextBox2.Cut

    TextBox1.SetFocus

    TextBox1.SelStart = 0

    TextBox1.Paste

    TextBox2.SelStart = 0

End Sub


페이지에서의 잘라내어 붙여넣기 예제

다음의 예제는 Add, Cut, Paste 메서드를 사용하여 다중 페이지의 Pages으로부터 컨트롤을 잘라내고 붙여넣는 것입니다. 잘라내기와 붙여넣기 작동에 포함된 컨트롤은 폼에 동적으로 추가됩니다.

이 예제에서는, 사용자가 새로운 컨트롤을 추가하여 자르고, 붙여넣을 수 있습니다. 이 때 다음의 폼을 포함해야 합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1에서 CommandButton3까지 명명된 세 개의 명령어 단추 컨트롤

MultiPage1이라 명명된 다중 페이지

Dim MyTextBox As Control

Private Sub CommandButton1_Click()

    Set MyTextBox = MultiPage1.Pages(MultiPage1.Value).Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)

    CommandButton2.Enabled = True

    CommandButton1.Enabled = False

End Sub

Private Sub CommandButton2_Click()

    MultiPage1.Pages(MultiPage1.Value).Controls.Cut

    CommandButton3.Enabled = True

    CommandButton2.Enabled = False

End Sub

Private Sub CommandButton3_Click()

    Dim MyPage As Object

    Set MyPage = MultiPage1.Pages.Item(MultiPage1.Value)

    MyPage.Paste

    CommandButton3.Enabled = False

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Add"

    CommandButton2.Caption = "Cut"

    CommandButton3.Caption = "Paste"

    CommandButton1.Enabled = True

    CommandButton2.Enabled = False

    CommandButton3.Enabled = False

End Sub


Name 속성 예제

다음의 예제는 각 컨트롤의 Name 속성을 하나의 폼으로 나타내는 것입니다. 이 예제에서는 Controls 컬렉션을 사용하여 사용자 정의 폼에 놓여 있는 모든 컨트롤을 순환시킵니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 CommandButton1이라 명명된 명령어 단추와 다수의 다른 컨트롤을 포함해야 합니다.

Private Sub CommandButton1_Click()

    Dim MyControl As Control

    For Each MyControl In Controls

        MsgBox "MyControl.Name = " & MyControl.Name

    Next

End Sub


탭 액세스 예제

다음의 예제는 여러 가지 방법으로 연속 탭의 각 탭을 사용하는 것을 나타냅니다.

숫자 인덱스와 함께 Tabs 컬렉션을 사용

문자열 인덱스와 함께 Tabs 컬렉션을 사용

Item 메서드와 함께 Tabs 컬렉션을 사용

각 Tabs의 이름을 사용

SelectedItem 속성 사용

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 TabStrip1이라 명명된 연속 탭을 포함해야 합니다.

Private Sub UserForm_Initialize()

    Dim TabName As String

    For i = 0 To TabStrip1.Count - 1

        ' 인덱스 (숫자 또는 문자열) 사용

        MsgBox "TabStrip1.Tabs(i).Caption = " & TabStrip1.Tabs(i).Caption

        MsgBox "TabStrip1.Tabs.Item(i).Caption = " & TabStrip1.Tabs(i).Caption

        TabName = TabStrip1.Tabs(i).Name

        MsgBox "TabName = " & TabName

        MsgBox "TabStrip1.Tabs(TabName).Caption = " & TabStrip1.Tabs(TabName).Caption

        MsgBox "TabStrip1.Tabs.Item(TabName).Caption = " & TabStrip1.Tabs.Item(TabName).Caption

        ' Tabs 컬렉션을 참조하지 않고 Tab 개체를 사용하십시오.

        If i = 0 Then

            MsgBox "TabStrip1.Tab1. Caption = " & TabStrip1.Tab1.Caption

        ElseIf i = 1 Then

            MsgBox "TabStrip1.Tab2. Caption = " & TabStrip1.Tab2.Caption

        EndIf

        ' SelectedItem 속성을 사용하십시오.

        TabStrip1.Value = i

        MsgBox " TabStrip1.SelectedItem.Caption = " & TabStrip1.SelectedItem.Caption

    Next i

End Sub


Zoom 속성 예제

다음의 예제는 Zoom 속성을 사용하여 폼, 페이지, 프레임에 나타나 있는 정보를 축소하거나 확대하는 것입니다. 이 예제는 프레임 내의 입력란, 이동줄을 포함합니다. 프레임의 크기 수준은 Zoom을 통해 바꿉니다. 사용자는 이동줄을 이용해서 Zoom을 설정을 할 수 있습니다. 입력란은 확대/축소 효과를 설명합니다.

이 예제는 또한 Max와 Min 속성을 사용하여 이동줄에 대한 가능값의 범위를 결정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

ScrollBar1이라 명명된 이동줄

Label2라 명명된 제2 이름표

Frame1이라 명명된 프레임

Frame1 내부에 있는 TextBox1이라 명명된 입력란

Private Sub UserForm_Initialize()

    ScrollBar1.Max = 400

    ScrollBar1.Min = 10

    ScrollBar1.Value = 100

    Label1.Caption = "10  -----Percent of Original Size---- 400"

    Label2.Caption = ScrollBar1.Value

    Frame1.TextBox1.Text = "Enter your text here."

    Frame1.TextBox1.MultiLine = True

    Frame1.TextBox1.WordWrap = True

    Frame1.Zoom = ScrollBar1.Value

End Sub

Private Sub ScrollBar1_Change()

    Frame1.Zoom = ScrollBar1.Value

    Label2.Caption = ScrollBar1.Value

End Sub


TextColumn 속성 예제

다음의 예제는 TextColumn 속성을 사용하여 Text 속성에 대한 데이터를 공급하는 목록 상자 안에 있는 데이터 열을 결정하는 것입니다. 이 예제에서는 목록 상자의 세번째 열을 텍스트 열처럼 지정합니다. 사용자가 목록 상자로부터 항목을 선택하면 값은 이름표에 표시될 것입니다

이 예제는 또한 AddItem 메서드와 List 속성을 사용하여 여러 열 입력란을 읽어들이는 방법을 설명합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1이라 명명된 목록 상자

TextBox1이라 명명된 입력란

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 3

ListBox1.AddItem "Row 1, Col 1"

ListBox1.List(0, 1) = "Row 1, Col 2"

ListBox1.List(0, 2) = "Row 1, Col 3"

ListBox1.AddItem "Row 2, Col 1"

ListBox1.List(1, 1) = "Row 2, Col 2"

ListBox1.List(1, 2) = "Row 2, Col 3"

ListBox1.AddItem "Row 3, Col 1"

ListBox1.List(2, 1) = "Row 3, Col 2"

ListBox1.List(2, 2) = "Row 3, Col 3"

ListBox1.TextColumn = 3

End Sub

Private Sub ListBox1_Change()

TextBox1.Text = ListBox1.Text

End Sub


PictureSizeMode 속성 예제

다음 예제에서는 그림에 대한 세 가지 표시 옵션을 설명하기 위하여 PictureSizeMode 속성이 사용됩니다. 원래의 그림을 보여 주고 원래의 배율대로 유지하는 동안 그림의 크기를 변경하면서 그림을 늘려서 공간을 채웁니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Frame1이라 명명된 프레임

SpinButton1이라 명명된 회전자

TextBox1이라 명명된 입력란

OptionButton1에서 OptionButton3까지 명명된 세 개의 옵션 단추 컨트롤

참고   이 예제는 두 개의 속성 구성 요소와 같은, PictureAlignment 속성 예제의 향상된 버전입니다. 향상된 버전은 이미지를 잘라내고 확대/축소, 또는 늘일 수 있는지를 통제할 수 있는 세 개의 옵션 단추 이벤트 서브 루틴입니다.

Dim Alignments(5) As String

Private Sub UserForm_Initialize()

    Alignments(0) = "0 - Top Left"

    Alignments(1) = "1 - Top Right"

    Alignments(2) = "2 - Center"

    Alignments(3) = "3 - Bottom Left"

    Alignments(4) = "4 - Bottom Right"

    ' 사용자의 시스템 상에 존재하는 비트맵을 지정하십시오.

    Frame1.Picture = LoadPicture("c:\winnt2\ball.bmp")

    SpinButton1.Min = 0

    SpinButton1.Max = 4

    SpinButton1.Value = 0

    TextBox1.Text = Alignments(0)

    Frame1.PictureAlignment = SpinButton1.Value

    OptionButton1.Caption = "Crop"

    OptionButton1.Value = True

    OptionButton2.Caption = "Stretch"

    OptionButton3.Caption = "Zoom"

End Sub

Private Sub OptionButton1_Click()

    If OptionButton1.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeClip

    End If

End Sub

Private Sub OptionButton2_Click()

    If OptionButton2.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeStretch

    End If

End Sub

Private Sub OptionButton3_Click()

    If OptionButton3.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeZoom

    End If

End Sub

Private Sub SpinButton1_Change()

    TextBox1.Text = Alignments(SpinButton1.Value)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub TextBox1_Change()

    Select Case TextBox1.Text

    Case "0"

        TextBox1.Text = Alignments(0)

        Frame1.PictureAlignment = 0

    Case "1"

        TextBox1.Text = Alignments(1)

        Frame1.PictureAlignment = 1

    Case "2"

        TextBox1.Text = Alignments(2)

        Frame1.PictureAlignment = 2

    Case "3"

        TextBox1.Text = Alignments(3)

        Frame1.PictureAlignment = 3

    Case "4"

        TextBox1.Text = Alignments(4)

        Frame1.PictureAlignment = 4

    Case Else

        TextBox1.Text = Alignments(SpinButton1.Value)

        Frame1.PictureAlignment = SpinButton1.Value

    End Select

End Sub


PictureAlignment 속성 예제

다음의 예제는 PictureAlignment 속성을 사용하여 배경 그림을 지정하는 것입니다. 이 예제는 또한 PictureAlignment에서 제공되는 정렬 옵션을 결정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때, 다음의 폼을 포함해야 합니다.

Frame1이라 명명된 프레임

SpinButton1이라 명명된 회전자

TextBox1이라 명명된 입력란

Dim Alignments(5) As String

Private Sub UserForm_Initialize()

    Alignments(0) = "0 - Top Left"

    Alignments(1) = "1 - Top Right"

    Alignments(2) = "2 - Center"

    Alignments(3) = "3 - Bottom Left"

    Alignments(4) = "4 - Bottom Right"

    ' 사용자의 시스템 상에 존재하는 비트맵을 지정하십시오.

    Frame1.Picture = LoadPicture("c:\winnt2\ball.bmp")

    SpinButton1.Min = 0

    SpinButton1.Max = 4

    SpinButton1.Value = 0

    TextBox1.Text = Alignments(0)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub SpinButton1_Change()

    TextBox1.Text = Alignments(SpinButton1.Value)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub TextBox1_Change()

    Select Case TextBox1.Text

    Case "0"

        TextBox1.Text = Alignments(0)

        Frame1.PictureAlignment = 0

    Case "1"

        TextBox1.Text = Alignments(1)

        Frame1.PictureAlignment = 1

    Case "2"

        TextBox1.Text = Alignments(2)

        Frame1.PictureAlignment = 2

    Case "3"

        TextBox1.Text = Alignments(3)

        Frame1.PictureAlignment = 3

    Case "4"

        TextBox1.Text = Alignments(4)

        Frame1.PictureAlignment = 4

    Case Else

        TextBox1.Text = Alignments(SpinButton1.Value)

        Frame1.PictureAlignment = SpinButton1.Value

    End Select

End Sub


GroupName 속성 예제

다음의 예제는 GroupName 속성을 사용하여 동일한 폼의 옵션 단추 컨트롤 그룹 두 개를 만듭니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 OptionButton1에서 OptionButton5까지 명명된 다섯 개의 옵션 단추를 포함해야 합니다.

Private Sub UserForm_Initialize()

    OptionButton1.GroupName = "Widgets"

    OptionButton2.GroupName = "Widgets"

    OptionButton4.GroupName = "Widgets"

    OptionButton3.GroupName = "Gadgets-Group2"

    OptionButton5.GroupName = "Gadgets-Group2"

End Sub


GetFromClipboard 메서드 예제

다음의 예제는 입력란에서 클립보드로, 클립보드에서 DataObject로, 그리고 DataObject에서 또 다른 입력란으로 데이터를 이동하는 것을 설명합니다. GetFromClipboard 메서드는 데이터를 클립보드에서 DataObject로 전송합니다. Copy와 GetText 메서드 또한 사용됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1과 TextBox2라 명명된 두 개의 입력란 컨트롤

CommandButton1이라 명명된 명령어 단추

Dim MyData as DataObject

Private Sub CommandButton1_Click()

    ' 텍스트를 클립보드에 복사하기 전에 텍스트를 선택할 필요가 있습니다

    TextBox1.SelStart = 0

    TextBox1.SelLength = TextBox1.TextLength

    TextBox1.Copy

    MyData.GetFromClipboard

    TextBox2.Text = MyData.GetText(1)

End Sub

Private Sub UserForm_Initialize()

    Set MyData = New DataObject

    TextBox1.Text = "Move this data to the Clipboard, to a DataObject, then to TextBox2!"

End Sub


PutInClipboard 메서드 예제

다음의 예제는 입력란에서 DataObject로, DataObject에서 클립보드로, 그리고 클립보드에서 또 다른 입력란으로 데이터를 이동하는 것을 설명합니다. PutInClipboard 메서드는 데이터를 DataObject에서 클립보드로 전송합니다. SetText와 Paste 메서드 또한 사용됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1과 TextBox2라 명명된 가진 두 개의 입력란 컨트롤

CommandButton1이라 명명된 명령어 단추

Dim MyData As DataObject

Private Sub CommandButton1_Click()

    Set MyData = New DataObject

    MyData.SetText TextBox1.Text

    MyData.PutInClipboard

    TextBox2.Paste

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "Move this data to a DataObject, to the Clipboard, then to TextBox2!"

End Sub


DragBehavior, EnterFieldBehavior 속성 예제

다음의 예제는 DragBehavior와 EnterFieldBehavior 속성을 사용하여 사용자가 컨트롤을 입력할 때와 하나의 컨트롤에서 다른 컨트롤로 정보를 끌기할때 다르게 나타나는 효과를 설명한 것입니다.

이 예제는 두 개의 입력란 컨트롤을 사용합니다. 사용자는 각 컨트롤에 대해 DragBehavior와 EnterFieldBehavior를 설정할 수 있고 하나의 컨트롤에서 다른 컨트롤로 끌기할 때의 효과를 볼 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

ToggleButton1과 ToggleButton2라 명명된 두 개의 전환 단추 컨트롤. 이들 컨트롤은 TextBox1과 연관이 있습니다.

TextBox2라 명명된 입력란

ToggleButton3과 ToggleButton4라 명명된 두 개의 전환 단추 컨트롤. 이들 컨트롤은 TextBox2와 연관이 있습니다.

Private Sub UserForm_Initialize()

    TextBox1.Text = "Once upon a time in a land ...,"

    ToggleButton1.Value = True

    ToggleButton1.Caption = "Drag Enabled"

    ToggleButton1.WordWrap = True

    TextBox1.DragBehavior = fmDragBehaviorEnabled

    ToggleButton2.Value = True

    ToggleButton2.Caption = "Recall Selection"

    ToggleButton2.WordWrap = True

    TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    TextBox2.Text = "XXX, YYYY"

    ToggleButton3.Value = False

    ToggleButton3.Caption = "Drag Disabled"

    ToggleButton3.WordWrap = True

    TextBox2.DragBehavior = fmDragBehaviorDisabled

    ToggleButton4.Value = False

    ToggleButton4.Caption = "Select All"

    ToggleButton4.WordWrap = True

    TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

       ToggleButton1.Caption = "Drag Enabled"

       TextBox1.DragBehavior = fmDragBehaviorEnabled

    Else

       ToggleButton1.Caption = "Drag Disabled"

       TextBox1.DragBehavior = fmDragBehaviorDisabled

    End If

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        ToggleButton2.Caption = "Recall Selection"

        TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    Else

        ToggleButton2.Caption = "Select All"

        TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

    End If

End Sub

Private Sub ToggleButton3_Click()

    If ToggleButton3.Value = True Then

       ToggleButton3.Caption = "Drag Enabled"

       TextBox2.DragBehavior = fmDragBehaviorEnabled

    Else

       ToggleButton3.Caption = "Drag Disabled"

       TextBox2.DragBehavior = fmDragBehaviorDisabled

    End If

End Sub

Private Sub ToggleButton4_Click()

    If ToggleButton4.Value = True Then

        ToggleButton4.Caption = "Recall Selection"

        TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    Else

       ToggleButton4.Caption = "Select All"

       TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

    End If

End Sub


GetFormat, GetText, SetText 메서드 예제

다음의 예제는 GetFormat, GetText, SetText 메서드를 사용하여 문자열을 DataObject와 클립보드 사이로 전송하는 것을 나타냅니다.

사용자는 입력란 안에 문자열을 입력하여 CommandButton1을 누름으로써 문자열을 표준 문자열 형식으로 DataObject에 전송할 수 있습니다. CommandButton2를 누르면 DataObject에서 문자열을 검색합니다. CommandButton3를 누르면 TextBox1에서 DataObject로 사용자 정의 형식으로 문자열을 복사합니다. CommandButton4를 누르면 DataObject에서 사용자 정의 형식으로 문자열을 검색합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

CommandButton1에서 CommandButton4까지 명명된 네 개의 명령어 단추

Label1이라 명명된 이름표

Dim MyDataObject As DataObject

Private Sub CommandButton1_Click()

' 클립보드에 표준 유형을 가져다 놓으십시오.

    If TextBox1.TextLength > 0 Then

        Set MyDataObject = New DataObject

        MyDataObject.SetText TextBox1.Text

        Label1.Caption = "Put on D.O."

        CommandButton2.Enabled = True

        CommandButton4.Enabled = False

    End If

End Sub

Private Sub CommandButton2_Click()

'클립보드에서 표준 유형을 가져 오십시오.

    If MyDataObject.GetFormat(1) = True Then

        Label1.Caption = "Std format - " & MyDataObject.GetText(1)

    End If

End Sub

Private Sub CommandButton3_Click()

'클립보드에 사용자 정의 유형을 가져다 놓으십시오.

    If TextBox1.TextLength > 0 Then

        Set MyDataObject = New DataObject

        MyDataObject.SetText TextBox1.Text, 233

        Label1.Caption = "Custom on D.O."

        CommandButton4.Enabled = True

        CommandButton2.Enabled = False

    End If

End Sub

Private Sub CommandButton4_Click()

'클립보드에서 사용자 정의 유형을 가져 오십시오.

    If MyDataObject.GetFormat(233) = True Then

        Label1.Caption = "Cust format - " & MyDataObject.GetText(233)

End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton2.Enabled = False

    CommandButton4.Enabled = False

End Sub


CanPaste 속성, Paste, Copy 메서드 예제

다음의 예제는 CanPaste 속성과 Paste 메서드를 사용하여 클립보드에서 다중 페이지의 Pages로 콤보 상자를 붙여넣기하는 것을 나타냅니다. 이 예제는 또한 SetFocus와 Copy 메서드를 사용하여 폼에서 클립보드로 컨트롤을 복사합니다.

사용자는 CommandButton1을 눌러 콤보 상자를 클립보드로 복사합니다. 사용자는 CommandButton1을 두 번 눌러 (DblClick 이벤트 사용 중) 콤보 상자를 다중 페이지에 붙여넣습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

ComboBox1이라 명명된 콤보 상자

MultiPage1이라 명명된 다중 페이지

CommandButton1이라 명명된 명령어 단추

참고   이 예제는 또한 컨트롤에 문자열 붙여넣기를 설명하는 서브루틴을 포함합니다.

Private Sub UserForm_Initialize()

    ComboBox1.AddItem "It's a beautiful day!"

    CommandButton1.Caption = "Copy ComboBox to Clipboard"

    CommandButton1.AutoSize = True

End Sub

Private Sub MultiPage1_DblClick(ByVal Index As Long, ByVal Cancel As MSForms.ReturnBoolean)

    If MultiPage1.Pages(MultiPage1.Value).CanPaste = True Then

        MultiPage1.Pages(MultiPage1.Value).Paste

    Else

        TextBox1.Text = "Can't Paste"

    End If

End Sub

Private Sub CommandButton1_Click()

        UserForm1.ComboBox1.SetFocus

        UserForm1.Copy

End Sub

' 텍스트를 컨트롤에 붙여넣기 위한 코드입니다

'Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

'   If ComboBox1.CanPaste = True Then

'        ComboBox1.Paste

'    Else

'        TextBox1.Text = "Can't Paste"

'    End If

'End Sub


이동줄 컨트롤 예제

다음의 예제는 사용자가 이동 상자를 이동할 때 독립 실행형 이동줄을 설명하고 이동줄의 값 변경을 알려주는 것입니다. 사용자는 컨트롤의 끝에 화살 모양을 누름으로써, 이동 상자와 화살 모양 사이 영역을 누름으로써, 또는 이동 상자를 끌어옴으로써 이동 상자를 이동할 수 있습니다. 사용자가 이동 상자를 끌어올 때 Scroll 이벤트는 사용자가 새로운 값을 얻기 위하여 이동하는 것을 알려주는 메시지를 나타냅니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ScrollBar1이라 명명된 이동줄

Label1과 Label2라 명명된 두 개의 이름표. Label1은 사용자를 위해 확대/축소 배율 정보를 포함하고 있고 Label2는 델타값을 알려줍니다.

Dim ScrollSaved As Integer        '이전의 이동줄 설정

Private Sub UserForm_Initialize()

    ScrollBar1.Min = -225

    ScrollBar1.Max = 289

    ScrollBar1.Value = 0

    Label1.Caption = "-225  -----Widgets-----   289"

    Label1.AutoSize = True

    Label2.Caption = ""

End Sub

Private Sub ScrollBar1_Change()

    Label2.Caption = " Widget Changes " & (ScrollSaved - ScrollBar1.Value)

End Sub

Private Sub ScrollBar1_Exit(ByVal Cancel as MSForms.ReturnBoolean)

    Label2.Caption = " Widget Changes " & (ScrollSaved - ScrollBar1.Value)

    ScrollSaved = ScrollBar1.Value

End Sub

Private Sub ScrollBar1_Scroll()

    Label2.Caption = (ScrollSaved - ScrollBar1.Value) & " Widget Changes by Scrolling"

End Sub


CanUndo, CanRedo 속성, UndoAction, RedoAction 메서드 예제

다음의 예제는 입력란이나 콤보 상자의 문자열 영역 내부에서 문자열 편집을 실행 취소하거나 재실행하는 방법을 설명하는 것입니다. 이 예제는 실행 취소나 재실행 동작의 발생 가능 여부를 확인하고 적절한 실행을 하게 됩니다. 이 예제는 CanUndo와 CanRedo 속성을 사용하고 UndoAction과 RedoAction 메서드를 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1이라 명명된 목록 상자

ComboBox1이라 명명된 콤보 상자

CommandButton1과 CommandButton2라 명명된 두 개의 명령어 단추 컨트롤

Private Sub CommandButton1_Click()

    If UserForm1.CanUndo = True Then

        UserForm1.UndoAction

        MsgBox "Undid IT"

    Else

        MagBox "취소가 수행되지 않았습니다."

    End If

End Sub

Private Sub CommandButton2_Click()

    If UserForm1.CanRedo = True Then

        UserForm1.RedoAction

        MsgBox "Redid IT"

    Else

        MsgBox "재실행이 수행되지 않았습니다."

    End If

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "Type your text here."

    ComboBox1.ColumnCount = 3

    ComboBox1.AddItem "Choice 1, column 1"

    ComboBox1.List(0, 1) = "Choice 1, column 2"

    ComboBox1.List(0, 2) = "Choice 1, column 3"

    CommandButton1.Caption = "Undo"

    CommandButton2.Caption = "Redo"

End Sub


BoundColumn 속성 예제

다음의 예제는 BoundColumn 속성이 목록 상자의 값에 어떻게 영향을 주는지 설명하는 것입니다. 사용자는 특정 행의 인덱스 값이나 목록 상자 안의 특정 데이터 열에 맞추어 목록 상자의 값을 지정하도록 선택할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1이라 명명된 목록 상자

Label1이라 명명된 이름표

OptionButton1, OptionButton2, OptionButton3이라 명명된 세 개의 옵션 단추 컨트롤

Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "Item 1, Column 1"

    ListBox1.List(0, 1) = "Item 1, Column 2"

    ListBox1.AddItem "Item 2, Column 1"

    ListBox1.List(1, 1) = "Item 2, Column 2"

    ListBox1.Value = "Item 1, Column 1"

    OptionButton1.Caption = "List Index"

    OptionButton2.Caption = "Column 1"

    OptionButton3.Caption = "Column 2"

    OptionButton2.Value = True

End Sub

Private Sub OptionButton1_Click()

    ListBox1.BoundColumn = 0

    Label1.Caption = ListBox1.Value

End Sub

Private Sub OptionButton2_Click()

    ListBox1.BoundColumn = 1

    Label1.Caption = ListBox1.Value

End Sub

Private Sub OptionButton3_Click()

    ListBox1.BoundColumn = 2

    Label1.Caption = ListBox1.Value

End Sub

Private Sub ListBox1_Click()

    Label1.Caption = ListBox1.Value

End Sub


List 속성 예제

다음의 예제는 여러 열 목록 상자의 열을 교체하는 것입니다. 이 예제는 다음의 두 가지 방법으로 List 속성을 사용합니다.

1	목록 상자의 각 값을 액세스하여 교환하는 방법입니다. 이 방법에서 List에는 특정 값의 열과 행을 나타내는 아래 첨자가 있습니다.

2	배열에서의 값을 가지고 목록 상자를 초기 상태로 읽어들이는 방법입니다. 이 방법에서 List에는 아래 첨자가 없습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 ListBox1이라 명명된 목록 상자와 CommandButton1이라 명명된 명령어 단추를 포함해야 합니다.

Dim MyArray(6, 3)           ' 목록 상자의 열 값을 포함하는 배열.

Private Sub UserForm_Initialize()

    Dim i As Single

    ListBox1.ColumnCount = 3        ' 이 목록 상자는 3 개의 데이터 열을 포함합니다.

    ' 정수값 MyArray를 읽어들이십시오.

    For i = 0 To 5

        MyArray(i, 0) = i

        MyArray(i, 1) = Rnd

        MyArray(i, 2) = Rnd

    Next i

    'ListBox1을 읽어들이십시오.

    ListBox1.List() = MyArray

End Sub

Private Sub CommandButton1_Click()

' 1열과 3열의 내용을 교환하십시오.

    Dim i As Single

    Dim Temp As Single

    For i = 0 To 5

        Temp = ListBox1.List(i, 0)

        ListBox1.List(i, 0) = ListBox1.List(i, 2)

        ListBox1.List(i, 2) = Temp

    Next i

End Sub


ClientHeight, ClientLeft, ClientTop, ClientWidth 속성 예제

다음의 예제는 사용자가 명령어 단추를 누르면 연속 탭의 클라이언트 영역 크기에 맞추어 이미지의 크기를 지정하는 것입니다. 이 예제 코드는 Height, Left, Top, Width, ClientHeight, ClientLeft, ClientTop, ClientWidth 속성을 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

TabStrip1이라 명명된 연속 탭

Image1이라 명명된 이미지

Private Sub UserForm_Initialize()

CommandButton1.Caption = "Size Image to Tab Area"

CommandButton1.WordWrap = True

CommandButton1.AutoSize = True

End Sub

Private Sub CommandButton1_Click()

Image1.ZOrder (fmFront)                  ' TabStrip 앞에 Image를 배치하십시오.

' ClientLeft 와 ClientTop은 TabStrip을 포함하는 양식의 가장자리에서 측정되지 않고 TabStrip의 가장자리에서 측정됩니다.

Image1.Left = TabStrip1.Left + TabStrip1.ClientLeft

Image1.Top = TabStrip1.Top + TabStrip1.ClientTop

Image1.Width = TabStrip1.ClientWidth

Image1.Height = TabStrip1.ClientHeight

End Sub


MultiLine, WordWrap, ScrollBars 속성 예제

다음의 예제는 입력란 위의 MultiLine, WordWrap, Scrollbars 속성을 설명한 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 입력란

ToggleButton1에서 ToggleButton4까지의 명명된 네 개의 전환 단추 컨트롤

전환 단추 컨트롤을 눌러 MultiLine과 WordWrap을 True로 지정하면 입력란 안의 전체 문자열을 볼 수 있습니다.

MultiLine이 True면 사용자는 SHIFT+ENTER를 눌러 문자열의 새 선을 입력할 수 있습니다.

사용자가 입력란의 내용을 수동으로 바꾸면 이동줄이 나타납니다.

Private Sub UserForm_Initialize()

' TextBox 속성과 전환 단추를 초기화하십시오.

TextBox1.Text = "Type your text here. Enter SHIFT+ENTER to move to a new line."

TextBox1.AutoSize = False

ToggleButton1.Caption = "AutoSize Off"

ToggleButton1.Value = False

ToggleButton1.AutoSize = True

TextBox1.WordWrap = False

ToggleButton2.Caption = "WordWrap Off"

ToggleButton2.Value = False

ToggleButton2.AutoSize = True

TextBox1.ScrollBars = 0

ToggleButton3.Caption = "ScrollBars Off"

ToggleButton3.Value = False

ToggleButton3.AutoSize = True

TextBox1.MultiLine = False

ToggleButton4.Caption = "Single Line"

ToggleButton4.Value = False

ToggleButton4.AutoSize = True

 End Sub

Private Sub ToggleButton1_Click()

' AutoSize 속성과 관련 전환 단추를 설정하십시오.

If ToggleButton1.Value = True Then

TextBox1.AutoSize = True

ToggleButton1.Caption = "AutoSize On"

Else

TextBox1.AutoSize = False

ToggleButton1.Caption = "AutoSize Off"

End If

End Sub

Private Sub ToggleButton2_Click()

' WordWrap 속성과 관련 전환 단추를 설정하십시오.

If ToggleButton2.Value = True Then

TextBox1.WordWrap = True

ToggleButton2.Caption = "WordWrap On"

Else

TextBox1.WordWrap = False

ToggleButton2.Caption = "WordWrap Off"

End If

End Sub

Private Sub ToggleButton3_Click()

' ScrollBars 속성과 관련 전환 단추를 설정하십시오.

If ToggleButton3.Value = True Then

TextBox1.ScrollBars = 3

ToggleButton3.Caption = "ScrollBars On"

Else

TextBox1.ScrollBars = 0

ToggleButton3.Caption = "ScrollBars Off"

End If

End Sub

Private Sub ToggleButton4_Click()

' MultiLine 속성과 관련 전환 단추를 설정하십시오.

If ToggleButton4.Value = True Then

TextBox1.MultiLine = True

ToggleButton4.Caption = "Multiple Lines"

Else

TextBox1.MultiLine = False

ToggleButton4.Caption = "Single Line"

End If

End Sub


끌어서 놓기 작업 예제

다음의 예제는 끌어진 문자열을 포함하는 DataObject를 사용하여 하나의 목록 상자에서 또 다른 목록 상자로 끌어서 놓기 동작하는 것을 설명합니다. 이 예제 코드는 끌어서 놓기 동작의 수행에 있어서의 마우스 이동 이벤트에서 SetText와 StartDrag 메서드를 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 ListBox1과 ListBox2라 명명된 두 개의 목록 상자 컨트롤을 포함해야 합니다. 또한 제2 목록 상자를 추가 선택할 필요가 있습니다.

Private Sub ListBox2_MouseMove(ByVal Button As Integer, ByVal Shift As

Integer, ByVal X As Single, ByVal Y As Single)

Dim MyDataObject As DataObject

If Button = 1 Then

Set MyDataObject = New DataObject

Dim Effect As Integer

MyDataObject.SetText ListBox2.value

Effect = MyDataObject.startdrag

End If

End Sub


페이지 액세스 예제

다음의 예제는 여러 방법으로 다중 페이지의 각 페이지를 액세스하는 것입니다.

숫자 인덱스와 함께 Pages 컬렉션을 사용하는 방법

문자열 인덱스와 함께 Pages 컬렉션을 사용하는 방법

Item 메서드와 함께 Pages 컬렉션을 사용하는 방법

다중 페이지 안의 각 페이지의 이름을 사용하는 방법

SelectedItem 속성을 사용하는 방법

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 MultiPage1이라 명명된 다중 페이지를 포함해야 합니다.

Private Sub UserForm_Initialize()

    Dim PageNAme As String

    For i = 0 To MultiPage1.Count - 1

        ' 인덱스 (숫자 또는 문자열) 사용

        MsgBox "MultiPage1.Pages(i).Caption = " & MultiPage1.Pages(i).Caption

        MsgBox "MultiPage1.Pages.Item(i).Caption = " & MultiPage1.Pages.Item(i).Caption

        PageNAme = MultiPage1.Pages(i).Name

        MsgBox "PageName = " & PageNAme

        MsgBox "MultiPage1.Pages(PageName).Caption = " & MultiPage1.Pages(PageNAme).Caption

        MsgBox "MultiPage1.Pages.Item(PageName).Caption = " & MultiPage1.Pages.Item(PageNAme).Caption

        ' Pages컬렉션을 참조하지 않고 Page 개체를 사용하십시오.

        If i = 0 Then

            MsgBox "MultiPage1.Page1.Caption= " & MultiPage1.Page1.Caption

        ElseIf i = 1 Then

            MsgBox "MultiPage1.Page2.Caption = " & MultiPage1.Page2.Caption

        End If

' SelectedItem 속성을 사용하십시오.

        MultiPage1.Value = i

        MsgBox "MultiPage1.SelectedItem.Caption = " & MultiPage1.SelectedItem.Caption

    Next i

End Sub


컨트롤 추가 예제

다음의 예제는 Add 메서드를 사용하여 컨트롤을 실행 중인 폼에 추가하는 것입니다. 그리고 컨트롤이 추가되었다는 확인으로써 AddControl 이벤트를 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

CommandButton1이라 명명된 명령어 단추

Label1이라 명명된 이름표

Dim Mycmd as Control

Private Sub CommandButton1_Click()

Set Mycmd = Controls.Add("Forms.CommandButton.1") ', CommandButton2, Visible)

Mycmd.Left = 18

Mycmd.Top = 150

Mycmd.Width = 175

Mycmd.Height = 20

Mycmd.Caption = "This is fun." & Mycmd.Name

End Sub

Private Sub UserForm_AddControl(ByVal Control As MSForms.Control)

Label1.Caption = "Control was Added."

End Sub


다중 페이지에 컨트롤 추가 예제

다음의 예제는 Add, Clear, Remove 메서드를 사용하여 컨트롤을 실행 중인 다중 페이지의 Pages에 추가하거나 삭제하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

MultiPage1이라 명명된 다중 페이지

CommandButton1에서 CommandButton3까지의 명명된 세 개의 명령어 단추 컨트롤

Dim MyTextBox As Control

Private Sub CommandButton1_Click()

Set MyTextBox = MultiPage1.Pages(0).Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)

End Sub

Private Sub CommandButton2_Click()

MultiPage1.Pages(0).Controls.Clear

End Sub

Private Sub CommandButton3_Click()

If MultiPage1.Pages(0).Controls.Count > 0  Then

MultiPage1.Pages(0).Controls.Remove "MyTextBox"

End If

End Sub

Private Sub UserForm_Initialize()

CommandButton1.Caption = "Add control"

CommandButton2.Caption = "Clear controls"

CommandButton3.Caption = "Remove control"

End Sub


목록 상자 컨트롤 예제

다음의 예제는 AddItem, RemoveItem, SetFocus 메서드와 Index List, Count List 속성을 사용하여 목록 상자의 내용을 추가 또는 삭제하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1이라 명명된 목록 상자

CommandButton1과 CommandButton2라 명명된 두 개의 명령어 단추 컨트롤

Dim EntryCount As Single

Private Sub CommandButton1_Click()

    EntryCount = EntryCount + 1

    ListBox1.AddItem (EntryCount & " - Selection")

End Sub

Private Sub CommandButton2_Click()

    ListBox1.SetFocus

    ' ListBox가 목록 항목을 포함하는지 확인하십시오.

    If ListBox1.ListCount >= 1 Then

        ' 선택된 것이 없으면, 마지막 목록 항목을 선택하십시오.

        If ListBox1.ListIndex = -1 Then

            ListBox1.ListIndex = ListBox1.ListCount - 1

        End If

        ListBox1.RemoveItem (ListBox1.ListIndex)

    End If

End Sub

Private Sub UserForm_Initialize()

    EntryCount = 0

    CommandButton1.Caption = "Add Item"

    CommandButton2.Caption = "Remove Item"

End Sub


ZOrder 메서드 예제

다음의 예제는 입력란의 z 순서를 지정하여 사용자가 입력란을 z 순서 앞으로 옮김으로써 전체의 입력란을 나타낼 수 있도록 하거나 입력란을 z 순서 뒤로 보냄으로써 입력란을 다른 컨트롤 뒤에 놓을 수 있도록 하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1에서 TextBox3까지의 명명된 세 개의 입력란 컨트롤

ToggleButton1이라 명명된 전환 단추

Private Sub ToggleButton1_Click()

If ToggleButton1.Value = True Then

TextBox2.ZOrder (fmTop)          ' TextBox2를 z 순서의 위에 배치하십시오.

'다음 상태를 식별하려면 전환 단추의 제목을 새로 고치십시오.

ToggleButton1.Caption = "Send TextBox2 to back"

Else

TextBox2.ZOrder (1)              ' TextBox2를 z 순서의 아래에 배치하십시오.

'다음 상태를 식별하려면 전환 단추의 제목을 새로 고치십시오.

ToggleButton1.Caption = "Bring TextBox2 to front"

End If

End Sub

Private Sub UserForm_Initialize()

'폼의 z 순서를 보려면 입력란을 설치하십시오.

TextBox1.Text = "TextBox 1"

TextBox2.Text = "TextBox 2"

TextBox3.Text = "TextBox 3"

TextBox1.Height = 40

TextBox2.Height = 40

TextBox3.Height = 40

TextBox1.Width = 60

TextBox2.Width = 60

TextBox3.Width = 60

TextBox1.Left = 10

TextBox1.Top = 10

TextBox2.Left = 25      ' TextBox2를 TextBox1에 겹치게 하십시오.

TextBox2.Top = 25

TextBox3.Left = 40      ' TextBox3를 TextBox2, TextBox1에 겹치게 하십시오.

TextBox3.Top = 40

ToggleButton1.Value = False

ToggleButton1.Caption = "Bring TextBox2 to Front"

ToggleButton1.Left = 10

ToggleButton1.Top = 90

ToggleButton1.Width = 50

ToggleButton1.Height = 50

End Sub


Accelerator, Caption 속성 예제

이 예제는 사용자가 마우스나 바로 가는 키를 사용할때마다 명령어 단추의 Accelerator, Caption 속성을 바꾸는 것입니다. Click 이벤트는 Accelerator, Caption 속성을 변경하는 코드를 포함합니다.

이 예제를 사용하려면 코드를 CommandButton1이라 명명된 명령어 단추를 포함하는 폼의 선언부에 붙여넣어야 합니다.

Private Sub UserForm_Initialize()

CommandButton1.Accelerator  = "C"         '바로 가는 키를 ALT + C로 설정하십시오.

End Sub

Private Sub CommandButton1_Click ()

If CommandButton1.Caption = "OK" Then     ' 제목을 검사하고 변경하십시오.

CommandButton1.Caption = "Clicked"

CommandButton1.Accelerator  = "C"      '바로 가는 키를 ALT + C로 설정하십시오.

Else

CommandButton1.Caption = "OK"

CommandButton1.Accelerator  = "O"      '바로 가는 키를 ALT + O로 설정하십시오.

End If

End Sub


AutoSize 속성 예제

다음의 예제는 단일 줄 입력란, 여러 줄 입력란과 함께 AutoSize 속성의 영향을 설명한 것입니다. 사용자는 문자열에 입력란과 AutoSize 켜짐이나 꺼짐 중 하나를 입력란 내용에 독립적으로 입력할 수 있습니다. 또한 이 예제 코드는 TextColumn 속성을 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1과 TextBox2라 명명된 두 개의 입력란

ToggleButton1이라 명명된 전환 단추

Private Sub UserForm_Initialize()

    TextBox1.Text = "Single-line TextBox. Type your text here."

    TextBox2.MultiLine = True

    TextBox2.Text = "Multi-line TextBox. Type your text here. Use CTRL+ENTER to start a new line."

    ToggleButton1.Value = True

    ToggleButton1.Caption = "AutoSize On"

    TextBox1.AutoSize = True

    TextBox2.AutoSize = True

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "AutoSize On"

        TextBox1.AutoSize = True

        TextBox2.AutoSize = True

    Else

        ToggleButton1.Caption = "AutoSize Off"

        TextBox1.AutoSize = False

        TextBox2.AutoSize = False

    End If

End Sub


Bold, Italic, Size, StrikeThrough, Underline, Weight 속성 예제

다음의 예제는 Font 개체와 글꼴과 관계있는 Bold, Italic, Size, StrikeThrough, Underline, Weight 속성을 설명한 것입니다. 사용자는 개체의 글꼴 속성을 직접 조작하거나 이 예제에서 보여주는 것처럼 별칭을 사용하여 조작할 수 있습니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

ToggleButton1에서 ToggleButton4까지 명명된 네 개의 전환 단추 컨트롤

TextBox1이라 명명된 입력란과 Label2라 명명된 제2 이름표

Dim MyFont As StdFont

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        MyFont.Bold = True            ' 컨트롤 글꼴에 MyFont 별칭 사용

        ToggleButton1.Caption = "Bold On"

        MyFont.Size = 22              '글꼴 크기를 늘리십시오.

    Else

        MyFont.Bold = False

        ToggleButton1.Caption = "Bold Off"

        MyFont.Size = 8               ' 글꼴 크기를 초기 크기로 반환하십시오.

    End If

    TextBox1.Text = Str(MyFont.Weight)  ' Bold와 Weight가 관련됩니다.

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        Label1.Font.Italic = True            'Label1.Font의 직접 사용

        ToggleButton2.Caption = "Italic On"

    Else

        Label1.Font.Italic = False

        ToggleButton2.Caption = "Italic Off"

    End If

End Sub

Private Sub ToggleButton3_Click()

    If ToggleButton3.Value = True Then

        Label1.Font.Strikethrough = True            'Label1.Font의 직접 사용

        ToggleButton3.Caption = "StrikeThrough On"

    Else

        Label1.Font.Strikethrough = False

        ToggleButton3.Caption = "StrikeThrough Off"

    End If

End Sub

Private Sub ToggleButton4_Click()

    If ToggleButton4.Value = True Then

        MyFont.Underline = True            'Label1.Font에 대해 MyFont 별칭 사용

        ToggleButton4.Caption = "Underline On"

    Else

        Label1.Font.Underline = False

        ToggleButton4.Caption = "Underline Off"

    End If

End Sub

Private Sub UserForm_Initialize()

    Set MyFont = Label1.Font

    ToggleButton1.Value = True

    ToggleButton1.Caption = "Bold On"

    Label1.AutoSize = True	'Label1의 설정 크기

    Label1.AutoSize = False

    ToggleButton2.Value = False

    ToggleButton2.Caption = "Italic Off"

    ToggleButton3.Value = False

    ToggleButton3.Caption = "StrikeThrough Off"

    ToggleButton4.Value = False

    ToggleButton4.Caption = "Underline Off"

    Label2.Caption = "Font Weight"

    TextBox1.Text = Str(Label1.Font.Weight)

    TextBox1.Enabled = False

End Sub


테두리선, 색 강화 예제

다음의 예제는 각 테두리 선이 BorderStyle과 SpecialEffect 속성을 설명하는 것으로 이들 속성을 통해 각 테두리 선을 적용할 수 있음을 보여줍니다. 이 예제는 또한 BackColor, BackStyle, BorderColor, ForeColor 속성을 사용하여 색 지정을 제어하는 방법을 설명합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1에서 TextBox6까지 명명된 여섯 개의 입력란 컨트롤

ToggleButton1과 ToggleButton2라 명명된 두 개의 전환 단추 컨트롤

Private Sub UserForm_Initialize()

' 각 TextBox를 테두리선 유형 또는 특수 효과, 그리고 전경색과 배경색으로 초기화하십시오.

' TextBox1은 처음에 테두리선 유형을 사용합니다.

TextBox1.Text = "BorderStyle-Single"

TextBox1.BorderStyle = fmBorderStyleSingle

TextBox1.BorderColor = RGB(255, 128, 128)   '색 - Salmon

TextBox1.ForeColor = RGB(255, 255, 0)       '색 - Yellow

TextBox1.BackColor = RGB(0, 128, 64)        '색 - Green #2

' TextBoxes 2에서 6까지는 처음에 특수 효과를 사용합니다.

TextBox2.Text = "Flat"

TextBox2.SpecialEffect = fmSpecialEffectFlat

TextBox2.ForeColor = RGB(64, 0, 0)          '색 - Brown

TextBox2.BackColor = RGB(0, 0, 255)         '색 - Blue

'Textbox2의 배경색 유형이 초기에는 불투명하다는 사실을 확인하십시오.

TextBox2.BackStyle = fmBackStyleOpaque

TextBox3.Text = "Etched"

TextBox3.SpecialEffect = fmSpecialEffectEtched

TextBox3.ForeColor = RGB(128, 0, 255)       '색 - Purple

TextBox3.BackColor = RGB(0, 255, 255)       '색 - Cyan

' 이후의 사용(borderstyle=fmBorderStyleSingle일때)에 대한 BorderColor를 정의하십시오.

TextBox3.BorderColor = RGB(0, 0, 0)         '색 - Black

TextBox4.Text = "Bump"

TextBox4.SpecialEffect = fmSpecialEffectBump

TextBox4.ForeColor = RGB(255, 0, 255)       '색 - Magenta

TextBox4.BackColor = RGB(0, 0, 100)         '색 - Navy blue

TextBox5.Text = "Raised"

TextBox5.SpecialEffect = fmSpecialEffectRaised

TextBox5.ForeColor = RGB(255, 0, 0)         '색 - Red

TextBox5.BackColor = RGB(128, 128, 128)     '색 - Gray

TextBox6.Text = "Sunken"

TextBox6.SpecialEffect = fmSpecialEffectSunken

TextBox6.ForeColor = RGB(0, 64, 0)          '색 - Olive

TextBox6.BackColor = RGB(0, 255, 0)         '색 - Green #1

ToggleButton1.Caption = "Swap styles"

ToggleButton2.Caption = "Transparent/Opaque background"

End Sub

Private Sub ToggleButton1_Click()

' TextBox1과 TextBox3 사이의 테두리를 교체하십시오.

If ToggleButton1.Value = True Then

' TextBox1을 BorderStyle에서 Etched로 변경하십시오.

TextBox1.Text = "Etched"

TextBox1.SpecialEffect = fmSpecialEffectEtched

'TextBox3을 Etched에서 BorderStyle로 변경하십시오.

TextBox3.Text = "BorderStyle-Single"

TextBox3.BorderStyle = fmBorderStyleSingle

Else

'TextBox1을 BorderStyle로 다시 변경하십시오.

TextBox1.Text = "BorderStyle-Single"

TextBox1.BorderStyle = fmBorderStyleSingle

'TextBox3을 Etched로 다시 변경하십시오.

TextBox3.Text = "Etched"

TextBox3.SpecialEffect = fmSpecialEffectEtched

End If

End Sub

Private Sub ToggleButton2_Click()

'배경색을 불투명 또는 투명으로 설정하십시오.

If ToggleButton2.Value = True Then

'TextBox2의 배경색을 투명으로 변경하십시오.

TextBox2.BackStyle = fmBackStyleTransparent

Else

'TextBox2의 배경색을 다시 불투명으로 변경하십시오.

TextBox2.BackStyle = fmBackStyleOpaque

End If

End Sub


Column 속성 예제

'

다음의 예제는 데이터를 포함한 2차원 배열과 Column, List 속성을 사용하는 두 개의 목록 상자 컨트롤을 차례로 읽어들입니다. Column 속성은 배열 요소를 읽어들이는 동안에 행/열 바꾸기를 한다는 것을 주의하십시오.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 ListBox1과 ListBox2라 명명된 두 개의 목록 상자를 포함해야 합니다.

Dim MyArray(6,3)

Private Sub UserForm_Initialize()

    Dim i As Single

    ListBox1.ColumnCount = 3        ' 첫번째 목록 상자는 세 개의 데이터 열을 포함합니다.

    ListBox2.ColumnCount = 6        ' 두번째 목록 상자는 여섯 개의 데이터 열을 포함합니다.

    ' 정수값을 MyArray의 초기 열로 읽어들이십시오.

    For i = 0 To 5

        MyArray(i, 0) = i

    Next i

    '2 열과 MyArray 3을 읽어들이십시오.

    MyArray(0, 1) = "Zero"

    MyArray(1, 1) = "One"

    MyArray(2, 1) = "Two"

    MyArray(3, 1) = "Three"

    MyArray(4, 1) = "Four"

    MyArray(5, 1) = "Five"

    MyArray(0, 2) = "Zero"

    MyArray(1, 2) = "Un ou Une"

    MyArray(2, 2) = "Deux"

    MyArray(3, 2) = "Trois"

    MyArray(4, 2) = "Quatre"

    MyArray(5, 2) = "Cinq"

    ' 데이터를 ListBox1와 ListBox2로 읽어들이십시오.

    ListBox1.List() = MyArray

    ListBox2.Column() = MyArray

End Sub


ColumnWidths 속성 예제

다음의 예제는 ColumnWidths 속성을 사용하여 여러 열 목록 상자의 열의 너비를 바꾸는 것입니다. 이 예제는 세 개의 입력란 컨트롤을 사용하여 각 열의 너비를 지정합니다. 그리고 각 입력란의 측정 단위를 규정하기 위하여 Exit 이벤트를 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

ListBox1이라 명명된 목록 상자

TextBox1에서 TextBox3까지 명명된 세 개의 입력란 컨트롤

CommandButton1이라 명명된 명령어 단추

열을 숨기려면 0 값을 입력하십시오.

Dim MyArray(2, 3) As String

Private Sub CommandButton1_Click()

'ColumnWidths에는 세미 콜론에 의해 분리된 각 열에 대한 값이 필요합니다.

ListBox1.ColumnWidths = TextBox1.Text & ";" & TextBox2.Text & ";" & TextBox3.Text

End Sub

Private Sub TextBox1_Exit(ByVal Cancel as MSForms.ReturnBoolean)

'ColumnWidths에서는 점(단위가 아님), 인치, 또는 센티미터가 유용합니다. 인치를 기본값으로 만듭니다.

If Not (InStr(TextBox1.Text, "in") > 0 Or InStr(TextBox1.Text, "cm") > 0) Then

TextBox1.Text = TextBox1.Text & " in"

End If

End Sub

Private Sub TextBox2_Exit(ByVal Cancel as MSForms.ReturnBoolean)

' ColumnWidths에서는 점(단위가 아님), 인치, 또는 센티미터가 유용합니다. 인치를 기본값으로 만듭니다.

If Not (InStr(TextBox2.Text, "in") > 0 Or InStr(TextBox2.Text, "cm") > 0) Then

TextBox2.Text = TextBox2.Text & " in"

End If

End Sub

Private Sub TextBox3_Exit(ByVal Cancel as MSForms.ReturnBoolean)

' ColumnWidths에서는 점(단위가 아님), 인치, 또는 센티미터가 유용합니다. 인치를 기본값으로 만듭니다.

If Not (InStr(TextBox3.Text, "in") > 0 Or InStr(TextBox3.Text, "cm") > 0) Then

TextBox3.Text = TextBox3.Text & " in"

End If

End Sub

Private Sub UserForm_Initialize()

Dim i, j, Rows As Single

ListBox1.ColumnCount = 3

Rows = 2

For j = 0 To ListBox1.ColumnCount - 1

For i = 0 To Rows - 1

MyArray(i, j) = "Row " & i & ", Column " & j

Next i

Next j

ListBox1.List() = MyArray           'MyArray를 ListBox1로 읽어들이십시오.

TextBox1.Text = "1 in"              ' 처음에 1인치 열

TextBox2.Text = "1 in"

TextBox3.Text = "1 in"

End Sub


ControlTipText 속성 예제

다음의 예제는 세 개의 명령어 단추 컨트롤과 다중 페이지 안에 있는 두 개의 Pages 개체에 대하여 ControlTipText 속성을 정의하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

MultiPage1라 명명된 다중 페이지

CommandButton1에서 CommandButton3까지 명명된 세 개의 명령어 단추 컨트롤

참고   다중 페이지의 각 Pages에 관하여 ControlTipText는 다중 페이지나 다중 페이지의 현재 페이지의 컨트롤이 포커스를 가지고 있을 때 가능합니다.

Private Sub UserForm_Initialize()

MultiPage1.Page1.ControlTipText = "Here in page 1"

MultiPage1.Page2.ControlTipText = "Now in page 2"

CommandButton1.ControlTipText = "And now here's"

CommandButton2.ControlTipText = "a tip from"

CommandButton3.ControlTipText = "your controls!"

End Sub


CurLine, CurTargetX, CurX, Text 속성 예제

다음의 예제는 다중선 안에서 CurLine, CurTargetX, CurX 속성 설정을 추적하는 것입니다. Text 속성에 입력하는 사용자가 키보드를 사용하여 삽입 포인트를 이동하고 선택한 것을 확장하면 이들 지정은 KeyUp 이벤트에서 바뀝니다.

이 예제를 사용하려면 다음의 절차를 따라야 합니다.

1	이 예제 코드를 폼의 선언부에 복사합니다.

2	폼에 TextBox1이라 명명된 확대 입력란을 추가합니다.

3	TextBox2, TextBox3, TextBox4라 명명된 세 개의 입력란을 추가합니다.

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

TextBox2.Text = TextBox1.CurLine

TextBox3.Text = TextBox1.CurX

TextBox4.Text = TextBox1.CurTargetX

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.Text = "Type your text here. User CTRL + ENTER to start a new line."

End Sub


HideSelection 속성 예제

'

다음의 예제는 하나 또는 그 이상의 폼의 구문에서의 HideSelection 속성을 설명한 것입니다. 사용자는 포커스를 제2 폼에 전송하는 것처럼의 문자열을 선택하여 폼의 다른 컨트롤로 TAB할 수 있습니다. 또한 이 예제는 SetFocus 메서드와 EnterFieldBehavior, MultiLine, Value 속성을 사용합니다.

이 예제를 사용하려면 다음의 절차를 따라야 합니다.

1	최종 이벤트 서브루틴을 제외하고 이 예제 코드를 폼의 선언부에 복사합니다.

2	TextBox1이라 명명된 확대 입력란, ToggleButton1이라 명명된 전환 단추, CommandButton1이라 명명된 명령어 단추를 추가합니다.

3	UserForm2라 명명된 개체에 제2 폼을 삽입합니다.

4	UserForm2의 선언부에 이 목록의 최종 이벤트 서브루틴을 붙여넣습니다.

5	이 폼에서 CommandButton1이라 명명된 명령어 단추를 삽입합니다.

6	UserForm1을 실행합니다.

' ***** UserForm1에 대한 코드 *****

Private Sub CommandButton1_Click()

TextBox1.SetFocus

UserForm2.Show                             '두번째 폼을 가져 오십시오.

End Sub

Private Sub ToggleButton1_Click()

If ToggleButton1.Value = True Then

TextBox1.HideSelection = False

ToggleButton1.Caption = "Selection Visible"

Else

TextBox1.HideSelection = True

ToggleButton1.Caption = "Selection Hidden"

End If

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

'TextBox를 채우십시오.

TextBox1.Text = "SelText indicates the starting point of selected text, or the insertion point if no text is selected." _

& Chr$(10) & Chr$(13) & "The SelStart property is always valid, even when the control does not have focus. Setting SelStart to a value less than zero creates an error. " _

& Chr$(10) & Chr$(13) & "Changing the value of SelStart cancels any existing selection in the control, places an insertion point in the text, and sets the SelLength property to zero."

TextBox1.HideSelection = True

ToggleButton1.Caption = "Selection Hidden"

ToggleButton1.Value = False

End Sub

'

' ***** 사용자 폼2에 대한 코드 *****

Private Sub CommandButton1_Click()

UserForm2.Hide

End Sub


Picture, PicturePosition 속성 예제

다음의 예제는 콤보 상자를 사용하여 컨트롤에 대한 그림 위치 옵션을 보여줍니다. 사용자가 목록 선택을 누를 때마다 명령어 단추의 그림과 메뉴/명령 이름이 새로 고쳐집니다. 또한 이 예제는 Addltem 메서드를 사용하여 목록 상자 선택의 장소를 지정합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1이라 명명된 이름표

CommandButton1이라 명명된 명령어 단추

ComboBox1이라 명명된 콤보 상자

Private Sub UserForm_Initialize()

Label1.Left = 18

Label1.Top = 12

Label1.Height = 12

Label1.Width = 190

Label1.Caption = "Select picture placement relative to the caption."

' 콤보 상자에 목록 항목을 추가하십시오. 각 항목의 값은 콤보 상자의 ListIndex 값과 일치합니다.

ComboBox1.AddItem "Left Top"        'ListIndex = 0

ComboBox1.AddItem "Left Center"     'ListIndex = 1

ComboBox1.AddItem "Left Bottom"     'ListIndex = 2

ComboBox1.AddItem "Right Top"       'ListIndex = 3

ComboBox1.AddItem "Right Center"    'ListIndex = 4

ComboBox1.AddItem "Right Bottom"    'ListIndex = 5

ComboBox1.AddItem "Above Left"      'ListIndex = 6

ComboBox1.AddItem "Above Center"    'ListIndex = 7

ComboBox1.AddItem "Above Right"    'ListIndex = 8

ComboBox1.AddItem "Below Left"      'ListIndex = 9

ComboBox1.AddItem "Below Center"    'ListIndex = 10

ComboBox1.AddItem "Below Right"    'ListIndex = 11

ComboBox1.AddItem "Centered"        'ListIndex = 12

ComboBox1.Style = fmStyleDropDownList  '늘어진 목록을 사용하십시오.

ComboBox1.BoundColumn = 0            '콤보 상자 값은 ListIndex 값입니다.

ComboBox1.ListIndex = 0              '콤보 상자를 첫번째 항목으로 설정하십시오.

ComboBox1.Left = 18

ComboBox1.Top = 36

ComboBox1.Width = 90

ComboBox1.ListWidth = 90

'CommandButton1을 초기화하십시오.

CommandButton1.Left = 230

CommandButton1.Top = 36

CommandButton1.Height = 120

CommandButton1.Width = 120

' 메모: 사용자의 시스템 상에 있는 비트맵 파일을 참조하고, 파일 이름에 경로를 포함시키는 일을 확인하여 처리하십시오.

CommandButton1.Picture = LoadPicture("c:\windows\argyle.bmp")

CommandButton1.PicturePosition = ComboBox1.Value

End Sub

Private Sub ComboBox1_Click()

Select Case ComboBox1.Value

Case 0  '좌측 상단

CommandButton1.Caption = "Left Top"

CommandButton1.PicturePosition = fmPicturePositionLeftTop

Case 1  '좌측 중심

CommandButton1.Caption = "Left Center"

CommandButton1.PicturePosition = fmPicturePositionLeftCenter

Case 2  '좌측 하단

CommandButton1.Caption = "Left Bottom"

CommandButton1.PicturePosition = fmPicturePositionLeftBottom

Case 3  '우측 상단

CommandButton1.Caption = "Right Top"

CommandButton1.PicturePosition = fmPicturePositionRightTop

Case 4  '우측 중심

CommandButton1.Caption = "Right Center"

CommandButton1.PicturePosition = fmPicturePositionRightCenter

Case 5  '우측 하단

CommandButton1.Caption = "Right Bottom"

CommandButton1.PicturePosition = fmPicturePositionRightBottom

Case 6  '왼쪽 위

CommandButton1.Caption = "Above Left"

CommandButton1.PicturePosition = fmPicturePositionAboveLeft

Case 7  '가운데 위

CommandButton1.Caption = "Above Center"

CommandButton1.PicturePosition = fmPicturePositionAboveCenter

Case 8  '오른쪽 위

CommandButton1.Caption = "Above Right"

CommandButton1.PicturePosition = fmPicturePositionAboveRight

Case 9  '왼쪽 아래

CommandButton1.Caption = "Below Left"

CommandButton1.PicturePosition = fmPicturePositionBelowLeft

Case 10 '가운데 아래

CommandButton1.Caption = "Below Center"

CommandButton1.PicturePosition = fmPicturePositionBelowCenter

Case 11 '오른쪽 아래

CommandButton1.Caption = "Below Right"

CommandButton1.PicturePosition = fmPicturePositionBelowRight

Case 12 '가운데

CommandButton1.Caption = "Centered"

CommandButton1.PicturePosition = fmPicturePositionCenter

End Select

End Sub


워크시트 바인드 예제

다음의 예제는 목록 상자의 워크시트 셀의 범위를 사용하여 사용자가 목록으로부터 행을 선택하였을 때 또 다른 워크시트 셀에 행 인덱스를 나타내는 것입니다. 이 예제는 RowSource, BoundColumn, ControlSource 속성을 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 ListBox1이라 명명된 목록 상자를 포함해야 합니다. 워크시트에서 셀 A1:E4에 데이터를 입력합니다. 또한 사용자는 셀 A6가 데이터를 포함하지 않도록 해야 합니다.

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 5

ListBox1.RowSource = "a1:e4"

ListBox1.ControlSource = "a6"

ListBox1.BoundColumn = 0          ' ListIndex를 셀 a6에 배치하십시오.

End Sub


Text Selection 속성 예제

다음의 예제는 사용자가 키보드를 사용하여 삽입절을 이동하고 선택된 것을 확장하면 바뀌는 선택 관련 속성(SelLength, SelStart, SelText)을 추적하는 것입니다. 또한 이 예제는 Enabled와 EnterFieldBehavior 속성을 사용합니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

TextBox1이라 명명된 한개의 커다란 입력란

TextBox2에서 TextBox4까지 명명된 열로 되어 있는 세 개의 입력란 컨트롤

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

TextBox2.Text = TextBox1.SelStart

TextBox3.Text = TextBox1.SelLength

TextBox4.Text = TextBox1.SelText

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

TextBox1.Text = "Type your text here. Use CTRL+ENTER to start a new line."

End Sub


Controls 컬렉션을 통한 Controls 액세스 예제

다음의 예제는 For Each...Next 반복 구조를 사용하여 Controls 컬렉션으로부터 각 컨트롤을 액세스하는 것입니다. 사용자가 CommandButton1을 누르면 나머지 컨트롤은 Move 메서드를 사용하여 폼의 왼쪽 가장자리에 열로 배치됩니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 CommandButton1이라 명명된 명령어 단추와 여러 다른 컨트롤을 포함해야 합니다.

Dim CtrlHeight As Single

Dim CtrlTop As Single

Dim CtrlGap As Single

Private Sub CommandButton1_Click()

Dim MyControl As Control

CtrlTop = 5

For Each MyControl In Controls

If MyControl.Name = "CommandButton1" Then

'이 컨트롤을 이동하거나 크기를 재조절하지 마십시오.

Else

' 명명된 인수를 사용하여 메서드를 이동시키십시오.

MyControl.Move Top:=CtrlTop, Height:=CtrlHeight, Left:=5

' 명명되지 않은 인수(왼쪽, 위, 너비, 높이)를 사용하여 메서드를 이동시키십시오.

'MyControl.Move 5, CtrlTop, ,CtrlHeight

' 다음 컨트롤의 제일 위 좌표를 계산하십시오.

CtrlTop = CtrlTop + CtrlHeight + CtrlGap

End If

Next

End Sub

Private Sub UserForm_Initialize()

CtrlHeight = 20

CtrlGap = 5

CommandButton1.Caption = "Click to move controls"

CommandButton1.AutoSize = True

CommandButton1.Left = 120

CommandButton1.Top = CtrlTop

End Sub


Cycle 속성 예제

다음의 예제는 프레임과 다중 페이지의 두 개의 Pages 개체에 대한 Cycle 속성을 정의하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Frame1이라 명명된 프레임

Page1과 Page2라 명명된 개체 두 개를 포함하는 MultiPage1이라 명명된 다중 페이지

CommandButton1과 CommandButton2라 명명된 두 개의 명령어 단추 컨트롤

폼에서 프레임과 다중 페이지의 각 페이지는 한 쌍의 컨트롤을 배치하여 사용자는 Cycle이 프레임과 다중 페이지의 탭 순서에 어떻게 작용하는지 알 수 있습니다.

Cycle이 탭 순서에 어떻게 작용하는지 보려면 사용자는 컨트롤을 통하여 탭해야 합니다. CommandButton1을 누르면 탭 순서가 확장되어 프레임의 컨트롤과 Pages 개체를 포함하게 되고 CommandButton2를 누르면 탭 순서를 제한하게 됩니다.

Private Sub RestrictCycles()

' Frame과 Page 개체의 탭 순서를 제한하십시오.

    Frame1.Cycle = fmCycleCurrentForm

    MultiPage1.Page1.Cycle = fmCycleCurrentForm

    MultiPage1.Page2.Cycle = fmCycleCurrentForm

End Sub

Private Sub UserForm_Initialize()

RestrictCycles

End Sub

Private Sub CommandButton1_Click()

' 탭 순서 하위 폼(Frame과 Page 개체)을 확장시키십시오.

    Frame1.Cycle = fmCycleAllForms

    MultiPage1.Page1.Cycle = fmCycleAllForms

    MultiPage1.Page2.Cycle = fmCycleAllForms

End Sub

Private Sub CommandButton2_Click()

RestrictCycles

End Sub


Controls 컬렉션에 대한 Move 메서드 예제

다음의 예제는 Controls 컬렉션과 함께 Move 메서드를 사용하여 폼으로 모든 컨트롤을 이동시키는 것을 설명합니다. 사용자는 명령어 단추를 눌러 컨트롤을 이동시킵니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 폼은 CommandButton1이라 명명된 명령어 단추와 여러 다른 컨트롤을 포함해야 합니다.

Private Sub CommandButton1_Click()

    ' 폼의 각 컨트롤을 오른쪽으로 25 포인트,위로 25포인트 이동시키십시오.

Controls.Move 25, -25

End Sub


Parent 속성 예제

다음의 예제는 Parent 속성을 사용하여 컨트롤이나 특정 컨트롤을 포함하는 폼을 참조하는 것입니다.

이 예제를 사용하려면 이 예제 코드를 폼의 선언부에 복사해야 합니다. 이 때 다음의 폼을 포함해야 합니다.

Label1과 Label2라 명명된 두 개의 이름표 컨트롤

CommandButton1이라 명명된 명령어 단추

사용자가 선택한 하나 이상의 추가 컨트롤

Dim MyControl As Object

Dim MyParent As Object

Dim ControlsIndex As Integer

Private Sub UserForm_Initialize()

    ControlsIndex = 0

    CommandButton1.Caption = "Get Control and Parent"

    CommandButton1.AutoSize = True

    CommandButton1.WordWrap = True

End Sub

Private Sub CommandButton1_Click()

    'UserForm의 Controls 컬렉션 처리 과정

    Set MyControl = Controls.Item(ControlsIndex)

    Set MyParent = MyControl.Parent

    Label1.Caption = MyControl.Name

    Label2.Caption = MyParent.Name

    'UserForm의 다음 컨트롤에 대한 인덱스를 준비하십시오.

    ControlsIndex = ControlsIndex + 1

    If ControlsIndex >= Controls.Count Then

        ControlsIndex = 0

    End If

End Sub


다중 페이지란?

다중 페이지란 하나 이상의 페이지 컬렉션을 포함하는 컨트롤입니다.

다중 페이지의 각 페이지는 그 자신의 컨트롤을 포함하고 있는 하나의 폼이기 때문에 자신만의 유일한 배치를 가질 수 있습니다. 일반적으로 다중 페이지의 페이지는 탭을 가지고 있어서 탭으로 각 페이지를 선택할 수 있습니다.

다중 페이지는 기본적으로 Page1과 Page2라는 두 개의 페이지를 가지고 있는데, 이들 각각은 Page 개체이며 모두 다중 페이지의 Page 컬렉션을 나타냅니다. 페이지를 추가하면 동일한 Page 컬렉션의 일부가 됩니다.


연속 탭이란?

연속 탭이란 하나 이상의 탭 컬렉션을 포함하는 컨트롤입니다.

연속 탭의 각 탭은 사용자가 선택할 수 있는 독립된 개체입니다. 외관상 연속 탭도 연속 탭의 모든 탭들이 공유하는 클라이언트 영역을 포함합니다.

연속 탭은 기본적으로 Tab1과 Tab2라는 두 개의 페이지를 가지고 있는데, 이들 각각은 Tab 개체이며 모두 연속 탭의 Tab 컬렉션을 나타냅니다. 페이지를 추가하면 동일한 Tab 컬렉션의 일부가 됩니다.


다중 페이지나 연속 탭의 사용

데이터에 대해 단일 배치를 사용한다면 연속 탭을 사용해서 탭에 각 데이터 집합을 배치합니다. 데이터에 대해 다양한 배치가 필요하면 다중 페이지를 사용해서 각 페이지에 각 배치를 지정합니다.

다중 페이지의 페이지와는 달리 연속 탭의 클라이언트 영역은 독립된 폼이 아니라 연속 탭을 포함하는 폼의 일부분입니다. 연속 탭의 경계선은 탭과 관련된 폼의 영역을 정의합니다. 연속 탭의 클라이언트 영역에 컨트롤을 놓는 것은 연속 탭을 포함하는 폼에 컨트롤을 추가하는 것을 의미합니다.


입력란 사용 설명

입력란은 Text, MultiLine, WordWrap, AutoSize 속성에 의해 조절되는 다루기 쉬운 컨트롤입니다.

Text는 입력란에 나타나는 텍스트를 가지고 있는 속성입니다.

MultiLine은 입력란이 단일 줄이나 다중 줄로 텍스트를 나타낼 수 있는지를 조절하는 속성입니다. 새로운 줄의 문자들은 한 줄이 끝나고 다른 줄이 시작되는 곳을 확인합니다. MultiLine이 False로 설정되면 텍스트는 덮어쓰지 않고 잘립니다.

WordWrap은 입력란에 입력란의 너비보다 더 긴 텍스트를 입력할 때, 텍스트를 입력란의 너비에 맞게 덮어쓰도록 하는 속성입니다.

WordWrap을 사용하지 않으면 입력란은 텍스트의 새로운 줄 문자와 만나는 곳에 새로운 텍스트를 시작합니다. WordWrap이 선택되지 않으면 텍스트는 입력란에 완전히 맞지 않을 수 있습니다. 입력란은 그 너비에 맞는 텍스트 부분은 보여주고, 맞지 않는 텍스트 부분은 잘립니다. WordWrap은 MultiLine이 True가 아니면 적용할 수 없습니다.

AutoSize는 입력란에 모든 텍스트를 보여주도록 조정하는 속성입니다. 입력란에서 AutoSize를 사용할 때, 입력란의 너비는 입력란의 문자의 양과 텍스트를 보여주는데 사용한 글꼴 크기에 따라 줄어들거나 늘어납니다.

AutoSize는 다음 상황에 유용하게 쓰입니다.

한 줄 이상의 제목 표시

단일 줄 입력란의 내용 표시

사용자 읽기 전용 다중 줄 입력란의 내용 표시

메모   MultiLine과 WordWrap 속성을 사용하는 비어 있는 입력란에는 AutoSize 사용을 피하십시오. 이런 속성을 가진 입력란에 텍스트를 입력하면, 입력란은 자동적으로 텍스트의 길이와 너비에 맞는 크기로 조정됩니다.


표준 목록 상자 작성

1	[속성] 창에서 ListStyle 속성을 선택하십시오.

2	늘어진 화살표를 누르면 사용 가능한 형식의 목록이 나타납니다.

3	목록에서 [Plain]을 선택하십시오.


옵션 단추나 확인란이 있는 목록 상자 작성

1	[속성] 창에서 ListStyle 속성을 선택하십시오.

2	늘어진 화살표를 누르면 사용 가능한 형식의 목록을 나타납니다.

3	목록에서 [Option]을 선택하십시오.

ListStyle 속성이 Option으로 설정되면 MultiSelect 속성은 목록에서 확인란이나 옵션 단추로 결정됩니다. MultiSelect가 Single이면 옵션 단추가 목록에 나타납니다. MultiSelect가 Multi이거나 Extended이면 확인란이 목록에 나타납니다.


목록 상자 유형

목록 상자는 두 가지 프레젠테이션 형식을 선택할 수 있습니다. 각 형식은 목록에서 항목을 선택하는데 있어 서로 다른 방법을 제공합니다.

형식이 Plain이면 각 항목은 분리된 열에 나타나는데, 하나 이상의 열을 반전하면 항목이 선택됩니다.

형식이 Option이면 각 열의 앞에 옵션 단추나 확인란이 나타나는데, 항목을 선택하려면 옵션 단추나 확인란을 누릅니다. 확인란은 MultiSelect 속성이 True일 때만 나타납니다.


DataObject와 Clipboard의 차이점
DataObject와 클립보드의 차이점

DataObject와 클립보드는 둘 다 데이터를 한 곳에서 다른 곳으로 이동하는 방법을 제공합니다. DataObject나 클립보드를 사용할 때는 기억해야 할 중요한 몇 가지 사항이 있습니다.

DataObject나 클립보드에는 각 데이터가 서로 다른 데이터 유형을 가질 때까지 한번에 하나 이상의 데이터를 저장할 수 있습니다. 이미 사용 중인 형식으로 데이터를 저장하면, 새로운 데이터가 저장되고 이전 데이터는 없어집니다.

클립보드는 그림 형식과 문자열 형식을 지원하고 DataObject는 텍스트 형식만 지원합니다.

DataObject는 응용 프로그램이 실행 중일 때만 사용 가능하지만 클립보드는 운영 체제가 실행 중인 한 사용 가능합니다. 이것은 데이터를 클립보드에 넣어두고 응용 프로그램을 닫아도 데이터 손실이 없다는 것을 의미합니다. 이와 달리 DataObject는 DataObject에 데이터를 넣어두고 응용 프로그램을 닫으면 데이터를 잃게 됩니다.

DataObject는 표준 OLE 개체인 반면, 클립보드는 아닙니다. 이것은 클립보드는 표준 이동 작업(복사, 잘라내기, 붙여넣기)은 지원하지만 끌어서 놓기 작업은 지원하지 않는다는 것을 의미합니다. 끌어서 놓기 작업을 지원하는 응용 프로그램을 만드려면 DataObject를 사용해야 합니다.

팁   SetText 메서드를 사용해서 데이터를 클립보드나 DataObject로 이동하면, 사용자 데이터 유형을 정의할 수 있습니다. 이것은 응용 프로그램이 이동하는 텍스트와 사용자가 이동하는 텍스트를 구분하는데 도움을 줍니다.


도구 상자 보이기와 감추기

[보기] 메뉴에서 도구 상자 앞에 확인 표시를 나타낼지를 정합니다. 확인 표시가 있으면 도구 상자가 나타나고 그렇지 않으면 도구 상자는 숨겨집니다.

다음 중 하나를 수행하십시오.

도구 상자를 나타내려면 도구 상자 앞에 확인 표시가 있는지 확인하고, 표시가 없으면 도구 상자를 선택합니다.

도구 상자를 감추려면 도구 상자 앞에 확인 표시가 없는지 확인하고, 표시가 있으면 도구 상자를 선택해서 확인 표시를 지웁니다.


도구 상자란?

도구 상자란 폼이나 프레임, 페이지에 추가할 수 있는 서로 다른 컨트롤을 표시합니다.

다음을 포함하여 많은 방법으로 사용자 정의 도구 상자를 만들 수 있습니다.

도구 상자에 페이지를 추가합니다.

컨트롤을 하나의 페이지에서 다른 페이지로 이동합니다.

페이지의 이름을 변경합니다.

도구 상자에 ActiveX 컨트롤을 포함한 다른 컨트롤을 추가합니다.

폼에서 사용자 정의된 컨트롤을 도구 상자로 복사합니다.

예를 들어, [확인]과 [취소] 단추는 특별한 명령어 단추입니다. 도구 상자에 [확인]과 [취소] 양식의 단추를 추가하면, 다른 폼에 빨리 추가할 수 있습니다.


도구 상자의 사용자 정의 컨트롤 추가

1	폼에 컨트롤을 넣고 사용자 정의를 합니다.

예를 들어, 폼에 명령어 단추를 배치하고 Caption 속성을 확인으로, Default 속성을 True로 설정하면 [확인] 단추가 만들어집니다.

2	사용자 정의 컨트롤을 선택합니다.

3	컨트롤을 도구 상자로 끌어다 놓습니다.

메모   컨트롤을 도구 상자로 끌어다 놓을 때는 속성값만 복사됩니다. 컨트롤에 작성된 코드는 컨트롤과 함께 복사되지 않기 때문에 아이콘에 대해 새로운 코드를 작성하거나 폼의 컨트롤에서 도구 상자의 컨트롤로 코드를 복사해야 합니다.


폼에 컨트롤 추가

폼에 도구 상자의 컨트롤을 추가하려면 다음과 같은 방법을 사용합니다. 폼에 있는 프레임이나 연속 탭, 다중 페이지에 컨트롤을 삽입할 때도 이 방법을 사용합니다.

도구 상자에 있는 컨트롤을 누른 다음, 폼에서 마우스를 누릅니다. 컨트롤은 기본 크기로 나타납니다. 컨트롤을 끌어서 크기를 바꿀 수 있습니다.

컨트롤을 도구 상자에서 폼으로 끌고 갑니다. 컨트롤은 기본 크기로 나타납니다.

도구 상자에서 컨트롤을 두 번 누른 다음, 만들고 싶은 수만큼 폼에서 마우스를 누릅니다. 예를 들어 4개의 명령 단추를 만드려면, 도구 상자에서 명령어 단추를 두 번 누른 다음 폼에서 마우스를 네 번 누릅니다.


도구 상자에 컨트롤 추가

1	도구 상자에서 컨트롤 아이콘이나 도구 상자 페이지의 빈 영역에서 오른쪽 단추를 누릅니다.

2	바로 가는 메뉴에서 [추가 컨트롤]을 선택합니다.

3	[사용 가능한 컨트롤] 목록에서 새 컨트롤을 선택합니다.

4	확인 단추를 누릅니다.


도구 상자의 항목 삭제

1	도구 상자에서 삭제하려는 항목의 아이콘을 오른쪽 단추로 누릅니다.

2	바로 가는 메뉴에서 [삭제]를 선택하면 명령어에 선택한 컨트롤 이름이 포함됩니다.

메모   컨트롤을 삭제하려면 바로 가는 메뉴에서 추가 컨트롤을 사용하여 삭제하려는 모든 컨트롤의 확인란을 지워서 삭제할 수 있습니다.


도구 상자 아이콘의 사용자 정의

1	도구 상자에서 오른쪽 단추로 아이콘을 누릅니다.

2	바로 가는 메뉴에서 [사용자 정의]를 선택합니다.

3	다음 중 하나를 수행하십시오.

도구 설명을 변경하려면 도구 설명에 새 텍스트를 입력합니다.

아이콘을 편집하려면 [그림 편집]을 선택합니다. 사용할 색상을 선택하고 Image에서 색상을 적용할 픽셀을 선택합니다.

새로운 비트맵을 지정하려면 [그림 불러오기]를 선택하고 아이콘으로 사용할 비트맵을 가진 파일을 선택합니다. 아이콘의 크기보다 더 큰 그림을 읽어들이면 오류가 발생합니다.


도구 설명이란?

도구 설명이란 보통 몇 단어로 된 짧은 설명으로, 마우스 단추를 누르지 않고 마우스 포인터가 컨트롤이나 다른 사용자 인터페이스 부분에 잠시 머무를 때 나타납니다. 컨트롤과 도구 상자에 대해서 도구 설명을 사용자 정의할 수 있습니다.

폼에서 도구 상자로 복사된 새 컨트롤의 기본 값은 컨트롤 형식 앞에 오는 �New� 입니다. 예를 들어, 확인 단추 같은 사용자 정의 명령어 단추에 대한 기본 도구 설명은 �새 명령어 단추�입니다. 컨트롤이 도구 설명과 관련이 없으면, 기본값은 �알 수 없음�이 됩니다.

메모   도구 설명이란 Microsoft Forms이 디자인 모드에서 폼 개발자에게 제공하는 정보입니다. 각 컨트롤은 ControlTipText 라는 속성을 가지고 있는데, 이 속성은 응용 프로그램 실행 중에 폼 개발자가 사용자에게 �도구 설명�을 주도록 합니다.


도구 상자의 도구 설명 사용자 정의

1	도구 상자에서 컨트롤을 선택합니다.

2	오른쪽 단추를 누릅니다.

3	바로 가는 메뉴에서 [사용자 정의]를 선택합니다. 사용자 정의 명령은 �사용자 정의 이름표�와 같이 컨트롤의 이름을 포함합니다.

4	도구 설명에 새 텍스트를 입력합니다.

5	확인 단추를 누릅니다.


도구 상자 페이지의 도구 설명 설정

1	도구 상자의 페이지를 선택합니다.

2	오른쪽 단추를 누릅니다.

3	바로 가는 메뉴에서 [이름 바꾸기]를 선택합니다.

4	도구 설명에 새 텍스트를 입력합니다.

5	확인 단추를 누릅니다.


도구 상자 페이지의 이름 바꾸기

1	이름을 변경하려는 도구 상자 페이지 탭을 오른쪽 단추로 누릅니다.

2	바로 가는 메뉴에서 [이름 바꾸기]를 선택합니다.

3	[제목] 필드에 사용하려는 이름을 입력합니다.

4	확인 단추를 누릅니다.


도구 상자 페이지의 순서 변경

1	도구 상자에서 페이지 탭을 선택하여 오른쪽 단추를 누릅니다.

2	바로 가는 메뉴에서 [이동]을 선택합니다.

3	이동하려는 페이지의 이름을 선택합니다.

4	페이지가 페이지 목록에서 적절한 위치가 될 때까지 [위로 이동]이나 [아래로 이동]을 선택합니다.

5	확인 단추를 누릅니다.


새로운 도구 상자 페이지 작성

1	도구 상자에서 페이지 탭을 오른쪽 단추로 누릅니다. 새로운  페이지는 이 페이지 다음에 삽입됩니다.

2	[새 페이지]를 선택하십시오.


도구 상자 페이지 삭제

1	삭제하려는 도구 상자 페이지 탭을 오른쪽 단추로 누릅니다.

2	[페이지 삭제]를 선택합니다. 페이지의 모든 컨트롤은 동시에 삭제됩니다.


도구 상자 페이지 가져오기와 내보내기

1	도구 상자에서 페이지 탭을 오른쪽 단추로 누릅니다. 페이지를 가져오면 이 페이지 다음에 삽입됩니다.

2	다음 중 하나를 수행하십시오.

페이지를 가져오려면, [페이지 가져오기]를 선택하고 가져오려는 페이지 파일의 이름을 선택합니다.

페이지를 내보내려면, [페이지 내보내기]를 선택한 후 도구 상자 페이지의 복사본을 저장할 파일 이름을 입력합니다. 페이지 내보내기를 해도 도구 상자의 파일 이름이 삭제되지 않습니다.

3	확인 단추를 누릅니다.


다른 도구 상자 페이지로 항목 이동

1	도구 상자 페이지에 있는 컨트롤을 선택합니다.

2	컨트롤을 새 페이지 탭으로 끌고 가서 페이지가 도구 상자 앞에 나타날 때까지 마우스 포인터를 탭 위에 있도록 합니다.

3	페이지의 주 영역 위로 컨트롤을 끌고 갑니다.

메모   컨트롤을 넣으려는 페이지가 보이지 않으면, 도구 상자의 너비를 조정하여 모든 페이지 탭을 나타낸 후 적절한 페이지로 컨트롤을 끌고 갑니다.


도구 상자의 크기 변경

1	마우스 포인터를 도구 상자의 모서리나 가장자리로 이동하면 포인터가 양쪽 화살표로 바뀌게 됩니다.

2	양쪽 화살표가 나타나면 도구 상자를 끌어서 크기를 변경합니다.


사용자 정의 도움말 항목을 컨트롤에 지정

이 프로시저는 사용자 정의 도움말 파일이 만들어져서 프로젝트와 연결되어 있다고 가정합니다. 도움말 파일과 프로젝트의 연결은 프로젝트 환경에 좌우됩니다.

1	사용자 정의 도움말 항목을 작성한 컨트롤을 선택합니다.

2	[속성] 창에서 HelpContextID 속성을 선택합니다.

3	사용자 정의 도움말 파일로부터 해당 항목에 대한 구문 ID를 입력합니다.


사용자 정의 도움말 파일

응용 프로그램 개발자는 폼 응용 프로그램을 사용하는 법에 대한 정보를 제공하는 사용자 정의 도움말 파일을 사용할 수 있습니다.

사용자 정의 도움말 파일을 작성하기 위해서는 Windows 도움말 파일을 만드는 제품이나 도구를 사용합니다.

응용 프로그램의 각 컨트롤과 사용자 정의 도움말 파일의 특정 항목을 연결시키면, 응용 프로그램이 실행될 때 컨트롤을 선택하고 F1키를 눌러서 도움말 항목을 볼 수 있습니다.


바로 가는 키 지정

1	디자인 모드에서 폼 위의 컨트롤을 선택합니다.

2	[속성] 창에서, Accelerator 속성을 선택합니다.

3	Accelerator의 값으로 문자 하나를 입력합니다.

팁   컨트롤의 제목에 있는 문자를 사용하십시오. 선택된 문자는 밑줄이 그어집니다.


페이지나 탭의 바로 가는 키 지정

1	디자인 모드에서 독립된 페이지나 탭을 선택하십시오. 연결된 다중 페이지나 연속 탭이 아니라, 페이지나 탭을 선택해야 합니다. 페이지나 탭을 선택하면, 페이지나 탭의 제목 주위에 사각형이 나타납니다.

2	선택한 페이지나 탭을 오른쪽 단추로 누르십시오.

3	바로 가는 메뉴에서 [이름 바꾸기]를 선택하십시오.

4	[이름 바꾸기] 대화 상자에서 바로 가는 키 필드에 문자 하나를 입력하십시오.

팁   컨트롤의 제목에서 문자를 사용하십시오. 선택된 문자는 컨트롤의 제목에서 밑줄이 그어집니다.


페이지나 탭의 컨트롤 팁 지정

1	독립된 페이지나 탭을 선택합니다.

이와 비슷한 다중 페이지나 연속 탭이 아니라, 독립된 페이지나 탭을 선택해야 합니다. 페이지나 탭을 선택하면, 제목 주위에 사각형이 나타납니다.

2	선택한 페이지나 탭을 오른쪽 단추로 누릅니다.

3	바로 가는 메뉴에서 [이름 바꾸기]를 선택합니다.

4	[ControlTipText] 필드에 컨트롤 팁으로 사용하려는 문자열을 입력합니다.

5	확인 단추를 누릅니다.

팁   다중 페이지나 연속 탭에 컨트롤 팁을 지정하려면  ControlTipText 속성을 사용하십시오.


컨트롤 팁을 컨트롤에 지정

1	컨트롤을 선택합니다.

2	[속성] 창에서 ControlTipText 속성을 선택합니다.

코드를 통해 ControlTipText의 속성값을 설정할 수도 있습니다.

3	컨트롤 팁으로 사용하려는 문자열을 입력합니다.

팁   페이지나 탭에 컨트롤 팁을 지정하려면, 페이지나 탭의 바로 가는 메뉴에서 [이름 바꾸기] 명령을 사용하십시오.


컨트롤 팁이란?

컨트롤 팁이란 컨트롤이나 페이지, 탭을 설명하는 간략한 정보로, 마우스를 누르지 않은 상태에서 마우스 포인터가 컨트롤 위에 머무를 때 나타납니다. 컨트롤 팁과 도구 설명은 매우 유사합니다. 차이점은 도구 설명은 디자인 모드에서 Microsoft Forms는 개발자에게 제공하는 반면, 컨트롤 팁은 실행 모드에서 개발자가 사용자에게 제공한다는 것입니다.

다중 페이지나 연속 탭에 컨트롤 팁을 지정하면, 다중 페이지나 연속 탭 내의 독립된 페이지나 Tab 개체에 대한 컨트롤 팁은 나타나지 않습니다.


제목 지정

확인란, 명령어 단추, 프레임, 이름표, 옵션 단추, 전환 단추에 제목을 지정하려면,

1	컨트롤의 [속성] 창을 나타내십시오.

2	Caption 속성을 선택하십시오.

3	제목으로 사용하려는 텍스트를 입력하십시오.

페이지나 탭에 제목을 지정하려면,

1	페이지나 탭을 포함하는 다중 페이지나 연속 탭을 선택하십시오.

2	독립된 페이지나 탭을 선택하십시오. 페이지나 탭을 선택하면, 제목 주위에 사각형이 나타납니다.

3	선택한 다중 페이지나 연속 탭을 오른쪽 단추로 누르십시오.

4	바로 가는 메뉴에서 이름 바꾸기를 선택하십시오.

5	[제목] 필드에 제목으로 사용하려는 텍스트를 입력하십시오.

6	확인 단추를 누르십시오.


제목이란?

제목이란 컨트롤 주위나 컨트롤 위에 직접 나타나는 설명으로 확인란, 명령어 단추, 프레임, 이름표, 옵션 단추, 전환 단추 컨트롤은 제목을 가질 수 있습니다. 다중 페이지나 연속 탭의 일부분인 Page 또는 Tab 개체 역시 제목을 가질 수 있습니다.


탭 순서 대화 상자로 탭 순서 설정

1	선택한 컨트롤이 하나도 없는지 확인합니다.

2	컨트롤이 아닌 폼에서 오른쪽 단추를 누릅니다.

3	바로 가는 메뉴에서 [탭 순서]를 선택합니다.

4	탭 순서대로 순서를 바꾸려는 컨트롤의 이름을 선택합니다.

5	컨트롤 이름이 적절한 탭 순서에 위치할 때까지 [위로 이동]이나 [아래로 이동]을 선택합니다.


TabIndex 속성으로 탭 순서 설정

1	폼에서 사용하려는 탭 순서를 확인합니다.

탭 순서에서 첫번째 컨트롤의 탭 인덱스는 0, 두 번째 탭 인덱스는 1, 나머지도 이와 같이 지정합니다.

2	탭 순서대로 컨트롤을 선택합니다.

3	[속성] 창에서 TabIndex 속성을 선택합니다.

4	탭 순서대로 컨트롤 위치를 구분하려면 적절한 숫자를 입력합니다.


다중 페이지나 연속 탭의 페이지 순서 변경

1	다중 페이지나 연속 탭에서 페이지를 선택하십시오.

2	페이지 제목을 오른쪽 단추로 누르십시오.

3	바로 가는 메뉴에서 [이동]을 선택하십시오.

4	[이동] 대화 상자에서 이동하려는 페이지를 선택하십시오.

5	[위로 이동] 이나 [아래로 이동]을 선택해서 페이지의 위치를 변경하십시오.

6	원하는 대로 모두 변경을 끝냈으면 확인 단추를 누르십시오.

메모   [속성] 창을 통해 페이지 순서를 변경하려면 Index 속성을 사용해서 첫번째 페이지의 Index는 0, 두 번째 페이지의 Index는 1, 나머지도 이와 같이 지정합니다.


폼 크기 변경

디자인 모드에서

폼이 원하는 크기로 될 때까지 폼의 크기 조절 핸들을 끌고 오십시오.

실행 모드에서

폼의 Height와 Width 속성을 적절한 값으로 설정하십시오.


폼 위치 변경

사용자 인터페이스를 통해

폼이 원하는 위치로 갈 때까지 제목 줄을 끌고 오십시오.

디자인 모드에서

속성 창이나 코드를 통해 폼의 Left과 Top 속성을 적절한 값으로 설정하십시오.


정보를 보호하는 방법

많은 응용 프로그램들이 데이터를 특정 사용자에게만 사용 가능해야 할 때가 있습니다. Microsoft Forms에서 정보를 보호하는 방법에는 여러 가지가 있습니다.

권한이 없는 사용자에게는 컨트롤과 그 데이터가 보이지 않게 코드를 작성하십시오. Visible 속성은 컨트롤이 보이게 혹은 보이지 않게 합니다. Visible 속성에 대한 자세한 정보는 [image] 를 누르십시오.

권한이 없는 사용자가 응용 프로그램을 실행할 때 컨트롤의 전경색과 배경색을 같은 색상으로 설정하는 코드를 작성하십시오. 이것은 권한이 없는 사용자로부터 정보를 숨기는 역할을 합니다. ForeColor와 BackColor 속성은 전경색과 배경색을 결정합니다. ForeColor에 대한 자세한 정보는 [image] 를 누르십시오. BackColor에 대한 자세한 정보는 [image] 를 누르십시오.

권한이 없는 사용자가 응용 프로그램을 실행할 때 컨트롤을 사용 불가능하게 코드를 작성하십시오. Enabled 속성은 컨트롤이 사용 불가능한 때를 결정합니다. Enabled에 대한 자세한 정보는 [image] 를 누르십시오.

응용 프로그램이나 특정 컨트롤에 액세스할 때 암호를 요구하십시오. 사용자가 문자를 입력할 때 자리표시자를 사용할 수 있습니다.  PasswordChar 속성은 자리표시자를 정의하는 속성입니다. PasswordChar에 대한 자세한 정보는 [image] 를 누르십시오.

메모   암호나 위에 열거된 다른 방법을 사용하면 응용 프로그램의 보호를 향상할 수는 있지만, 권한이 없는 데이터에 액세스 금지를 완전히 보장하지는 않습니다.


컨트롤을 데이터 크기에 자동으로 맞춤

[속성] 창에서 AutoSize 속성을 [True]로 설정합니다.


컨트롤 모양을 변경하는 방법

Microsoft Forms는 응용 프로그램의 컨트롤 모양을 정의하는 여러 가지 속성들을 포함하고 있습니다.

ForeColor

BackColor, BackStyle

BorderColor, BorderStyle

SpecialEffect

ForeColor는 전경색을 결정하는 속성입니다. 전경색은 제목이나 컨트롤에 정의된 구문과 같이 컨트롤과 연관된 텍스트에 적용됩니다.

BackColor과 BackStyle은 컨트롤의 배경색에 적용되는 속성입니다. 배경이란 컨트롤의 경계선을 제외한 텍스트를 둘러싼 영역과 같은 컨트롤 경계선 내부에 있는 영역을 말합니다. BackColor는 배경색을 결정하는 속성입니다. BackStyle은 배경색이 투명한지를 결정하는 속성입니다. 투명한 컨트롤 배경은 응용 프로그램 디자인에서 주 배경으로 그림을 포함한 뒤 컨트롤을 통과해서 그림을 보고 싶을 때 유용한 속성입니다.

BorderColor와 BorderStyle, SpecialEffect은 컨트롤의 경계선에 적용되는 속성입니다. 경계선의 형식을 선택하려면 BorderStyle이나 SpecialEffect를 선택합니다. 이 두 가지 속성은 동시에 한 가지 속성만 사용할 수 있습니다. 이 속성 중 하나에 값을 지정하면, 시스템은 다른 속성을 None으로 지정합니다. SpecialEffect는 여러 가지 경계선 형식을 선택할 수 있지만, 경계선에 시스템 색만 사용할 수 있습니다. BorderStyle은 한 가지 경계선 형식만을 지원하지만, BorderColor에 어떤 유효한 색상 값이나 선택할 수 있습니다. BorderColor는 BorderStyle을 사용해서 경계선을 만들 때만 색상을 지정할 수 있습니다.


이미지 컨트롤의 그림과 사용할 수 있는 것들

이미지 컨트롤은 그 자체로는 그림이 아니라, 독립된 파일에 저장된 그림을 포함합니다. 이미지의 속성으로 그림을 편집할 수는 없지만, 그림이 이미지에 나타나는 방법을 지정하는데는 사용할 수 있습니다.

이미지를 사용하는 응용 프로그램에서 흥미로운 것은 이미지를 응용 프로그램의 배경 그림으로 사용할 수 있다는 것입니다. 이미지를 폼과 똑같은 크기로 만들면 배경 위에 다른 컨트롤을 넣을 수 있습니다.


컨트롤의 텍스트 맞춤

1	[속성] 창에서 TextAlign 속성을 선택하십시오.

2	속성값 다음에 있는 늘어진 화살표를 누르면 사용 가능한 선택 항목의 목록이 나타납니다.

3	다음 중 하나를 선택하십시오.

[왼쪽]�텍스트를 컨트롤의 왼쪽 끝에 맞추기

[오른쪽]�텍스트를 컨트롤의 오른쪽 끝에 맞추기

[가운데]�텍스트의 길이에 따라 컨트롤의 가운데에 맞추기

TextAlign은 콤보 상자와 이름표, 입력란에서 사용 가능합니다.


모눈 보이기 또는 감추기

1	[도구] 메뉴에서 [옵션]을 선택하십시오.

2	[일반] 탭 시트를 선택하십시오.

3	다음 중 하나를 수행하십시오.

모눈을 보여주려면, [모눈 보이기] 상자의 확인 표시를 선택하십시오.

모눈을 감추려면, [모눈 보이기] 상자의 확인 표시를 삭제하십시오.

4	확인 단추를 누르십시오.


크기 모눈 맞춤

1	컨트롤을 선택하십시오.

2	[서식] 메뉴에서, [크기 모눈 맞춤]을 선택하십시오.

Microsoft Forms는 각 모서리가 모눈 끝에 맞도록 컨트롤의 크기를 조정해 줍니다.


크기 자동 조정

1	컨트롤을 선택하십시오.

2	[서식] 메뉴에서 [크기 자동 조정]을 선택하십시오.

Microsoft Forms는 그림과 Caption이나 Text 속성에 지정된 텍스트를 나타내기에 충분하게 컨트롤의 크기를 설정합니다.


동일한 크기로 컨트롤 작성

1	동일한 크기로 만들려는 모든 컨트롤을 선택하십시오.

2	기준 컨트롤을 선택하십시오.

3	[서식] 메뉴에서 [같은 크기로]를 선택하십시오.

4	계단식 메뉴에서 다음 중 하나를 선택하십시오.

[너비]�선택한 모든 컨트롤을 기준 컨트롤과 동일한 너비로 조정합니다.

[높이]�선택한 모든 컨트롤을 기준 컨트롤과 동일한 높이로 조정합니다.

[모두]�선택한 모든 컨트롤을 기준 컨트롤과 동일한 너비와 높이로 조정합니다.


컨트롤 맞춤

1	맞추려는 컨트롤을 선택하십시오.

2	기준 컨트롤을 선택하십시오.

3	[서식] 메뉴에서 [맞춤]을 선택하십시오.

4	계단식 메뉴에서 다음 중 하나를 선택해서 선택한 컨트롤의 지정된 부분을 기준 컨트롤의 동일한 부분으로 맞춥니다.

[왼쪽]�왼쪽 끝을 맞춥니다.

[가운데]�컨트롤의 가운데를 맞춥니다. 즉, 기준 컨트롤의 가운데에 그려지는 수직선에 선택한 모든 컨트롤의 가운데가 포함됩니다.

[오른쪽]�오른쪽 끝을 맞춥니다.

[위]�위를 맞춥니다.

[중앙]�선택한 컨트롤의 가운데를 맞춥니다. 즉, 기준 컨트롤의 가운데에 그려진 수평선에 맞춥니다.

[아래]�아래를 맞춥니다.

[모눈에 맞춤]�선택한 컨트롤의 왼쪽 위 모서리를 가장 가까운 모눈 끝에 맞춥니다. 이 옵션은 기준 컨트롤의 위치에 영향을 받지 않습니다.

메모   메뉴의 각 명령에는 컨트롤 맞춤 방법을 보여주는 작은 그림이 있습니다.


컨트롤 간의 수평/수직 간격 조정

1	간격을 조정하려는 컨트롤을 선택합니다.

2	[서식] 메뉴에서 [수평 간격 조정]이나 [수직 간격 조정]을 선택합니다.

3	계단식 메뉴에서 다음 중 하나를 선택합니다.

[모두 같게]�컨트롤 간의 수평과 수직 간격을 같은 크기로 조정합니다. 수평과 수직 간격은 컨트롤의 너비와 컨트롤을 나타내는데 사용 가능한 영역에 따라 다릅니다.

[넓게]�한 모눈 블럭에 따라 컨트롤 간의 간격을 넓게 만듭니다.

[좁게]�한 모눈 단위에 따라 컨트롤 간의 간격을 좁게 만듭니다.

[간격 없애기]�컨트롤 간의 간격을 삭제합니다. 컨트롤은 겹치지 않고 서로 인접합니다.


단추 정렬

1	정렬할 명령어 단추 컨트롤을 선택합니다.

2	[서식] 메뉴에서 [단추 정렬]을 선택합니다.

3	계단식 메뉴에서 다음 중 하나를 선택합니다.

[아래]�폼의 왼쪽 아래 모서리에서 시작하는 행에 단추를 두고 모든 단추의 아래를 맞춥니다.

[오른쪽]�폼의 오른쪽 위 모서리에서 시작하는 열에 단추를 두고 모든 단추의 오른쪽 끝을 맞춥니다.

단추를 정렬한 후에 [서식] 메뉴에 있는 [수평 간격 조정]이나 [수직 간격 조정]을 사용하면 단추 사이의 간격을 조정할 수 있습니다.

팁   폼의 아래나 오른쪽에 가까운 단추들로 위치를 정하기 위해 이 명령을 사용하기 전에 작은 모눈 크기를 선택하십시오. 단추들이 위치한 후에 모눈 크기를 사용하면 위치가 바뀌지 않을 것입니다.


폼의 중앙 컨트롤

1	폼 중앙에 놓을 컨트롤이나 그룹을 선택합니다.

2	[서식] 메뉴에서 [폼의 가운데로]를 선택합니다.

3	계단식 메뉴에서 다음 중 하나를 선택합니다.

[가로 방향]

[세로 방향]


컨트롤 그룹의 이용

그룹이란 폼에서 하나의 단위로 처리되는 두 개 이상의 컨트롤로 이루어진 컨트롤입니다. 그룹은 폼에 있는 컨트롤을 포함할 수 있습니다. 컨트롤이 그룹에 속하게 되면, 전체 그룹으로 작업을 하거나 단일 개체를 선택할 수도 있습니다.

Microsoft Forms는 그룹과 그룹 내의 컨트롤을 가지고 많은 방법으로 작업을 할 수 있는데, 그룹을 선택한 후에 다음과 같은 일들을 수행할 수 있습니다.

동시에 그룹 내의 모든 컨트롤의 크기를 변경합니다. 자세한 정보는 [image] 를 누르십시오.

그룹을 해제하면 각 컨트롤은 독립적으로 됩니다. 더 자세한 정보는 [image] 를 누르십시오.

그룹 바로 가는 메뉴를 나타내서 그룹에 영향을 주는 명령에 빨리 액세스하도록 합니다. 자세한 정보는 [image] 를 누르십시오.

그룹을 해제하지 않고 그룹 내에 단일 컨트롤을 선택해서 다른 컨트롤에는 영향을 주지 않고 선택한 컨트롤의 속성을 변경할 수 있습니다. 자세한 정보는 [image] 를 누르십시오


Microsoft Forms의 투명성

Microsoft Forms는 컨트롤의 배경과 컨트롤에서 사용되는 비트맵, 이 두 가지 영역에 대해 투명성을 지원합니다

BackStyle 속성은 컨트롤이 투명한지를 결정하는 속성입니다. 투명한 컨트롤은 폼에서 컨트롤 뒤에 무엇이 있는지를 볼 수 있습니다. 이것은 폼 위에 배경 장식이 있거나 컨트롤 뒤에 숨어있는 배경을 최소화할 때 유용한 속성입니다. 컨트롤의 투명성에 대한 자세한 정보는 [image] 를 누르십시오.

Microsoft Forms에서는 많은 컨트롤에 비트맵을 나타낼 수 있습니다. 어떤 컨트롤은 투명한 비트맵을 지원하는데, 이런 비트맵은 하나 이상의 배경색이 투명한 것을 말합니다. 비트맵 투명성은 컨트롤 속성에 의해 조절되는 것이 아니라 이미지의 왼쪽 아래 색상에 의해 조절되기 때문입니다. Microsoft Forms는 비트맵을 편집하는 방법이 아니라 단지 그것을 투명하게 만드는 방법을 제공할 뿐입니다. 그래서 이 목적으로만 그림 편집기를 사용해야 합니다.

Microsoft Forms에서 비트맵은 다음 컨트롤에 대해 항상 투명합니다.

확인란

명령어 단추

이름표

옵션 단추

전환 단추

투명한 그림에는 불투명한 모양이 있습니다. 불투명한 모양을 좋아하지 않으면, 불투명한 이미지를 지원하는 컨트롤에 그림을 나타내십시오.

투명한 비트맵을 지원하지 않는 컨트롤에 투명한 비트맵을 사용하면 비트맵은 바르게 나타나지만 컨트롤 뒤에 있는 것을 볼 수 없습니다. Microsoft Forms에서 다음 컨트롤들은 투명한 비트맵을 지원하지 않습니다.

폼 창 (UserForm)

프레임

이미지

다중 페이지


바로 가는 메뉴란?

바로 가는 메뉴란 마우스 오른쪽 단추로 개체를 눌렀을 때 나타나는 메뉴입니다. Microsoft Forms에서 다음 개체들은 바로 가는 메뉴를 가지고 있습니다.

도구 상자, 도구 상자의 각 페이지, 도구 상자 페이지의 각 항목

폼 위의 개별 컨트롤

컨트롤 그룹([그룹] 명령으로 만들어진 그룹)

컨테이너(사용자 정의 폼과 같은)

다중 페이지의 개별 Page 개체

연속 탭의 개별 Tab 개체

그룹에 속하지 않은 다중 컨트롤

바로 가는 메뉴의 명령은 선택한 개체에 따라 다양합니다. 예를 들어, 그룹에 속하지 않은 다중 컨트롤을 선택하면 바로 가는 메뉴는 [그룹 설정]이라는 명령을 포함합니다. 그러나 도구 상자에 대한 바로 가는 메뉴는 이와 다릅니다.

컨트롤이나 컨테이너에 대한 바로 가는 메뉴를 나타내기 위해서는 개체를 오른쪽 단추로 누르십시오.

다중 페이지나 페이지의 바로 가는 메뉴 표시에 대한 자세한 정보는 [image] 를 누르십시오.

연속 탭이나 탭의 바로 가는 메뉴 표시에 대한 자세한 정보는 [image] 를 누르십시오.


목록 상자와 콤보 상자의 데이터 입력 방법

AddItem 메서드는 단일 열을 가진 목록 상자나 콤보 상자의 목록에 개별 항목을 효과적으로 추가하는 메서드입니다. 그러나 이것과는 다르게 다중 열 목록 상자나 콤보 상자에 List와 Column 속성은 2차원 배열로 목록을 읽어 들여 목록을 추가합니다.


다중 열 목록 상자와 콤보 상자의 이용

목록 상자나 콤보 상자의 열 너비를 조절하려면 ColumnWidths 속성에서 모든 열에 대한 너비를 지정합니다. 특정 열의 너비를 0으로 지정하면 해당 열을 숨길 수 있습니다.

목록 상자나 콤보 상자에 하나의 열을 제외하고 모든 열을 숨길 때는, TextColumn 속성을 사용하여 나타날 열을 확인할 수 있습니다.

이와 유사하게, BoundColumn 속성에 열 번호를 지정하면 컨트롤에 어떤 열을 사용할 지를 정할 수 있습니다.


List나 Column 속성으로 목록에 항목 추가

1	다중 열 목록 상자나 콤보 상자를 만드십시오.

2	목록에 들어갈 항목을 가질 2차원 배열을 만드십시오.

3	목록 상자나 콤보 상자의 ColumnCount 속성을 설정하여 목록 내의 항목 수와 일치하게 합니다.

4	다음 중 하나를 수행합니다.

List 속성값으로 배열을 지정하면, 목록 상자의 내용은 배열의 내용과 정확히 일치할 것입니다.

Column 속성값으로 배열을 지정하면, Column 속성은 행과 열의 순서를 바꾸어서 목록 상자의 각 행은 배열의 열과 일치하게 됩니다.


도구 설명 보이거나 감추기

1	[도구] 메뉴에서 [옵션]을 선택합니다.

2	[일반] 탭 시트를 선택합니다.

3	다음 중 하나를 수행합니다.

도구 설명을 보여주려면, [도구 설명 보기] 상자의 확인 표시를 선택합니다.

도구 설명을 감추려면, [도구 설명 보기] 상자의 확인 표시를 지웁니다.


Microsoft Forms 개체 모델

Microsoft Forms 개체 모델은 다음과 같은 개체 형식을 포함하고 있습니다.

컨트롤

컬렉션

개체(컬렉션 내)

Microsoft Forms 개체 모델의 구성 요소들은 원하는 방법으로 응용 프로그램 작성을 하는데 사용할 수 있는 속성과 이벤트, 메서드를 가지고 있습니다.

Microsoft Forms는 세 가지 컬렉션을 가지고 있습니다.

Control 컬렉션�폼이나 프레임, 페이지위의 모든 컨트롤을 포함합니다.

Page 컬렉션�다중 페이지에 있는 모든 Page 개체를 포함하며 각 다중 페이지는 자신만의 구분된 Page 컬렉션을 가지고 있습니다.

Tab 컬렉션�연속 탭에 있는 모든 탭을 포함하며 각 연속 탭은 자신만의 구분된 Tab 컬렉션을 가지고 있습니다.


옵션 그룹 작성 방법

기본적으로 폼이나 다중 페이지, 프레임 같은 컨테이너 위의 모든 옵션 단추 컨트롤은 단일 옵션 그룹의 일부분이므로 여기서 단추 하나를 선택하면 폼의 다른 옵션 단추는 자동적으로 [False]로 설정됩니다.

폼 위에 하나 이상의 옵션 그룹을 배치할 때, 추가 그룹을 만드는 데는 두 가지 방법이 있습니다.

GroupName 속성을 사용해서 관련된 단추를 식별합니다.

폼의 프레임에 관련된 단추를 넣습니다.

첫번째 방법은 응용 프로그램의 컨트롤 수를 줄일 수 있기 때문에 두번째 방법보다 더 많이 사용됩니다. 첫번째 방법은 응용 프로그램에 필요한 디스크 공간은 줄이면서, 응용 프로그램 수행은 향상시킬 수 있습니다.

메모   연속 탭은 컨테이너가 아닙니다. 연속 탭의 옵션 단추는 폼의 옵션 그룹을 포함하고 있습니다. 연속 탭에서 옵션 그룹을 만드려면 GroupName을 사용합니다.


GroupName 속성으로 옵션 그룹 작성

1	폼에 필요한 모든 옵션 단추 컨트롤을 배치합니다. 다중 페이지나 프레임 위의 옵션 단추는 자동적으로 옵션 그룹을 형성합니다.

2	만들고자 하는 각 그룹의 단추를 식별합니다.

3	각 컨트롤의 Name 속성값을 입력합니다.

4	동일한 그룹에 속하는 단추의 GroupName 속성에 동일한 값을 설정합니다.


목록에서의 항목 일치 방법

Microsoft Forms는 목록 상자나 콤보 상자의 목록에서 사용자가 입력한 값과 일치하는 항목을 찾는데 세 가지 방법을 제공합니다:

[일치하지 않음]�목록에서 사용자 입력과 일치하는 항목을 찾지 못합니다.

[첫번째 문자]�가장 최근에 입력한 문자와 목록에 있는 각 항목의 첫번째 문자를 비교해서 첫번째로 일치하는 것을 선택합니다.

[완전히 일치]�사용자 항목을 비교해서 목록의 항목과 완전히 일치하는 것을 찾습니다.

일치할 부분은 2초 후(극동 지역 버전은 6초 후)에 다시 설정됩니다. 예를 들어, 미국 50개 주 이름의 목록에서 �CO�를 재빨리 입력하면 �Colorado�를 찾을 것입니다. 그러나 �CO�를 천천히 입력하면 �Ohio�를 찾게 됩니다. 이것은 자동-수행 검색이 문자들을 다시 설정하기 때문입니다.

[완전히 일치]를 선택할 때는 목록 항목을 알파벳 순으로 정렬하는 것이 좋습니다(이렇게 하려면 TextColumn 속성을 사용합니다). 왜냐하면 목록이 알파벳 순으로 정렬이 되지 않으면 정확한 일치가 수행되지 않을 수도 있습니다. 예를 들어, Alabama, Louisiana, Alaska 순으로 된 목록이 있을 때,  �ala�를 입력하면 �Alabama�를 완전한 일치 항목으로 간주할 것입니다. 사실 목록에는 사용자가 입력한 것과 일치할 수 있는 항목이 두 개가 있기 때문에 이 결과는 모호한 것입니다. 알파벳 순으로 정렬을 하면 이런 모호함이 없어집니다.


컨트롤 겹침에 z 순서 사용

z 순서의 앞뒤에 컨트롤을 배치하려면,

1	위치를 재지정하려는 컨트롤을 선택하십시오.

2	[서식] 메뉴에서 [순서]를 선택하십시오.

3	계단식 메뉴에서 [앞으로 가져오기]나 [뒤로 보내기]를 선택하십시오.

Z 순서의 한 위치에 컨트롤을 맞추려면.

1	위치를 재지정하려는 컨트롤을 선택하십시오.

2	[서식]메뉴에서 [순서]를 선택하십시오.

3	계단식 메뉴에서 [앞으로 가져오기]나 [뒤로 보내기]를 선택하십시오.

메모   [맨뒤로]나 [맨앞으로] 같은 겹침 명령은 실행 취소나 반복 명령을 사용할 수 없습니다. 예를 들어, 개체를 선택하고 바로 가는 메뉴에서 [뒤로 보내기]를 누르면, 그 명령에 대한 실행 취소나 반복 명령을 사용할 수 없습니다.

[맨앞으로], [앞으로 가져오기], [맨뒤로], [뒤로 보내기] 메뉴는 다른 컨트롤과 관련된 컨트롤의 z 순서를 변경합니다. 목록 상자나 프레임, 다중 페이지 같은 컨트롤은 자동적으로 스택의 맨 위와 가능한 가장 가깝게 이동합니다. 예를 들어 목록 상자나 프레임, 다중 페이지에 뒤쪽으로 보내기를 적용하면 다른 목록 상자나 프레임, 다중 페이지 아래로는 컨트롤을 이동하지만, 다른 컨트롤의 아래로는 이동하지 않습니다. 이와 비슷하게 목록 상자나 프레임, 다중 페이지 외의 컨트롤에 [앞으로 가져오기]를 적용하면 스택의 맨 위와 가장 가깝게 컨트롤을 이동하지만, 스택의 목록 상자나 프레임, 다중 페이지 위로는 이동하지 않습니다.

목록 상자나 프레임, 다중 페이지와 다른 Microsoft Forms 컨트롤이 폼에서 같은 위치에 있다면 목록 상자나 프레임, 다중 페이지는 항상 다른 컨트롤의 위에 나타납니다. 만일 목록 상자나 프레임, 다중 페이지가 다른 목록 상자나 프레임, 다중 페이지와 같은 위치에 있다면 컨트롤의 z 순서에 따라 맨 위에 나타날 컨트롤이 정해집니다.


투명 컨트롤 작성

1	폼에 기본 컨트롤을 넣으십시오.

2	컨트롤의 속성들을 살펴 보십시오.

3	BackStyle 속성을 [Transparent]로 설정하십시오.

4	컨트롤이 BorderStyle 속성을 지원하지 않으면, [None]으로 설정하십시오.

메모   컨트롤을 투명하게 만들면 배경색은 나타나지 않기 때문에  BackColor 속성이 무시됩니다. 그러나 BackColor의 설정은 바뀌지 않습니다.


컨트롤의 비트맵 삭제

[속성] 창에서,

1	�비트맵�이라 된 Picture 속성값을 반전하십시오.

2	DELETE키를 누르십시오.

또는 코드에서,

다음 명령문을 입력하십시오. Object.Picture = LoadPicture("")


컨트롤에 비트맵 지정

[속성] 창에서,

1	그림 불러오기 속성을 선택하십시오.

2	[그림 불러오기] 대화 상자에서 그림의 이름과 위치를 입력하십시오.

그림의 크기가 컨트롤의 크기보다 더 크면 Microsoft Forms는 [속성] 창이나 코드를 통해서 지정한 것에 상관없이 그림의 크기를 조절해서 그림을 컨트롤에 맞춰줍니다. PictureAlignment 속성은 컨트롤 안에서 그림을 맞추는 방법을 결정하는 속성입니다.


컨트롤의 그림 맞추는 방법

Picture 속성은 컨트롤에 비트맵이나 다른 그림을 지정하는 속성입니다. 컨트롤에 그림을 지정한 후에는 컨트롤의 그림을 맞추기 위해 다음 중 하나를 수행합니다.

이미지 내부에 그림을 중앙에 위치하도록 하거나 그림의 모서리를 이미지의 모서리에 맞추려면 PictureAlignment 속성을 사용합니다.

이미지 내부에 그림을 잘라내거나 늘이거나 확대/축소하려면 PictureSizeMode 속성을 사용합니다. 그림을 늘이면 그림이 일그러질 수 있지만, 확대/축소하면 일그러지지 않습니다.

이미지 내부에 그림의 다중 복사본을 나타내려면 PictureTiling 속성을 사용합니다.


모눈의 크기 선택

1	[도구] 메뉴에서 [옵션]을 선택하십시오.

2	[옵션] 대화 상자에서 [일반] 페이지를 선택하십시오.

3	[폼 모눈 설정] 그룹에서 각 모눈 블럭에 대해 원하는 크기를 지정하십시오. 작은 값을 지정하면 작은 모눈 블럭이 나오게 됩니다.

팁   [단추 정렬] 명령을 사용해서 명령 단추를 배치하려면 모눈 값을 작게 지정합니다. 그러면 명령 단추가 폼의 끝에 더 가깝게 위치할 것입니다.


컨트롤 그룹 작성

1	폼에서 그룹에 포함할 컨트롤을 선택합니다.

2	[서식] 메뉴에서 [그룹 설정]을 선택합니다.


그룹의 컨트롤 크기 조절

1	그룹을 선택하십시오.

크기 조절 핸들을 가진 사각형이 그룹 주위를 둘러싸고 있으면 그룹이 선택되었다는 것을 표시합니다.

2	사각형의 크기를 바꾸려면 크기 조절 핸들 중 하나를 누르고 원하는 위치로 끌고 가십시오.

3	마우스 단추를 놓으십시오.

각 컨트롤의 크기는 그룹 주위의 사각형이 변경된 방법에 비례하여 변경됩니다.


컨트롤 그룹 해제

1	그룹을 선택합니다.

2	[서식] 메뉴에서 [그룹 해제]를 선택합니다.


바로 가는 메뉴

1	그룹을 선택합니다.

2	그룹을 둘러싼 사각형 내부에서 오른쪽 단추를 누릅니다.

팁   메뉴에 있는 명령을 사용하고 싶지 않으면 바로 가는 메뉴가 사라지도록 바로 가는 메뉴를 제외한 그룹의 아무 곳이나 누릅니다.


그룹의 컨트롤 선택

1	그룹을 선택합니다.

2	그룹 내의 한 컨트롤을 선택하면, 그룹 주위의 크기 조절 핸들은 밝게 바뀌고 선택한 컨트롤에는 어두운 핸들이 나타납니다.

이때 선택한 컨트롤의 속성값을 변경할 수 있는데, 어떤 것은 선택한 컨트롤의 변경만 가능합니다.

3	선택한 컨트롤을 가지고 변경 작업이 끝난 후엔, 선택한 컨트롤을 제외한 그룹 내부의 어느 곳을 눌러도 그룹은 여전히 선택된 상태로 있습니다.

그룹이 선택된 상태로 있으면, 그룹 내의 다른 컨트롤을 선택하거나 수행에 필요한 다른 작업을 계속할 수 있습니다.


다중 페이지나 페이지의 바로 가는 메뉴 표시

1	폼이 실행 중이 아닌지 확인합니다.

2	다음 중 하나를 수행합니다.

독립된 페이지의 바로 가는 메뉴를 보려면 해당 페이지의 제목을 오른쪽 단추로 누릅니다.

전체 다중 페이지의 바로 가는 메뉴를 보려면 컨트롤의 페이지 제목을 제외한 영역을 오른쪽 단추로 누릅니다.


연속 탭이나 탭의 바로 가는 메뉴 표시

1	폼이 실행 중이 아닌지 확인합니다.

2	다음 중 하나를 수행합니다.

독립된 탭의 바로 가는 메뉴를 보려면 해당 탭을 선택합니다.

탭을 선택하면 점선으로 된 사각형이 탭 제목 주위에 나타나는데, 이때 선택한 제목을 오른쪽 단추로 누릅니다.

연속 탭의 바로 가는 메뉴를 보려면 컨트롤의 탭 제목을 제외한 영역을 오른쪽 단추로 누릅니다.


활성 컨트롤과 선택된 컨트롤

모든 컨트롤은 활성 상태와 선택 상태를 가지고 있습니다. 컨트롤을 활성화한다는 것은 컨트롤의 내용을 가지고 작업을 한다는 의미이고, 컨트롤을 선택한다는 것은 컨트롤 그 자체를 가지고 작업을 한다는 의미입니다.

대부분의 컨트롤은 폼 위에 올려놓으면 자동적으로 선택됩니다. 디자인시 컨트롤을 선택하면 컨트롤 테두리선 주위에 크기 조절 핸들이 나타납니다. 컨트롤이 선택되어 있지 않으면 컨트롤을 한번 눌러서 다시 선택할 수 있습니다.

컨트롤을 눌러서 선택하면 활성 상태에 있다는 의미입니다. 이 상태에서는 직접 컨트롤의 이름을 편집할 수 있습니다.

선택 상태와 활성 상태에서는 삭제, 잘라내기, 복사 명령의 각 바로 가는 키로 DEL, CTRL+X, CTRL+C를 사용할 수 있습니다. 선택 상태에서 이 명령들은 바로 가는 메뉴에서 사용 가능하고, 컨트롤 그 자체에 영향을 줍니다. 활성 상태에서는 컨트롤 내에서 선택한 텍스트에 영향을 줍니다. 선택한 텍스트가 없으면 아무런 효과가 없습니다. 이런 명령들은 활성화된 컨트롤에 대한 바로 가는 메뉴에서는 사용 불가능합니다.


다중 컨트롤 선택 설명

하나 이상의 컨트롤을 선택하는 데는 3가지 방법이 있습니다.

SHIFT+CLICK: Microsoft Forms는 선택한 컨트롤 주위에 보이지 않는 선택 사각형을 만들어서 사각형 내에 크기 조절 핸들을 둡니다.

CTRL+CLICK: 크기 조절 핸들은 둘러싼 사각형 내에 있는 컨트롤이 아니라 선택한 컨트롤에만 나타납니다. 이 방법은 가끔 선택한 컨트롤 가까이에 있는 컨트롤을 추가로 선택할 지도 모릅니다. 이런 경우, 다음에 설명하는 [개체 선택] 포인터를 사용하십시오.

도구 상자의 [개체 선택] 포인터: 선택하려는 컨트롤 위에 사각형을 그리는 방법으로, 사각형 내에 있거나 사각형이 닿은 부분에 있는 모든 컨트롤을 선택합니다.


기준 컨트롤 설정 설명

다중 컨트롤을 선택할 때 다음의 방법 중 하나를 사용하여 기준 컨트롤을 설정할 수 있습니다.

SHIFT+CLICK: 기준 컨트롤은 SHIFT+CLICK을 사용할 때 선택하는 첫번째 컨트롤입니다.

CTRL+CLICK: 기준 컨트롤은 CTRL+CLICK을 사용할 때 선택하는 마지막 컨트롤입니다.

도구 상자에서 [개체 선택] 포인터: 기준 컨트롤은 선택하고자 하는 컨트롤에 사각형 그리기 작업을 시작할 때 마우스 포인터에 가장 근접한 컨트롤입니다.

선택한 컨트롤에 CTRL+CLICK을 두 번 누르면 그 컨트롤은 기준 컨트롤이 됩니다.


Microsoft Forms의 실행 취소와 재실행

Microsoft Forms는 여러 단계의 [실행 취소]와 [재실행] 명령을 제공합니다. 이것은 하나의 동작이 아니라 여러 가지 일련의 동작을 취소할 수 있다는 의미입니다.

[실행 취소] 명령의 바로 가는 키는 CTRL+Z이고 [재실행] 명령의 바로 가는 키는 CTRL+Y입니다.

[맨뒤로]나 [맨앞으로] 같은 겹침 명령에는 실행 취소나 재실행 명령을 사용할 수 없습니다. 예를 들어 개체를 선택하고 바로 가는 메뉴에서 [뒤로 보내기]를 실행했다면, 이 동작을 실행 취소하거나 재실행할 수 없습니다.


Microsoft Forms의 ByVal 참조

Microsoft Forms의 ByVal 키워드는 인수가 값으로 전달된다는 것을 가리킵니다. 이것이 Visual Basic에서 ByVal의 표준 의미입니다. 그러나 Microsoft Forms에서는 ByVal을 ReturnBoolean이나 ReturnEffect, ReturnInteger, ReturnString 개체로 사용할 수 있습니다. 전달된 값은 단순한 데이터 형식이 아니라 개체에 대한 포인터가 됩니다.

이러한 개체로 사용할 때, ByVal은 매개 변수를 전달하는 방법이 아니라 개체를 참조하게 됩니다. 위에 나열한 각 개체들은 Value 속성을 가지고 있는데, 이 값을 지정할 수도 있고 함수의 내부와 외부에 전달할 수도 있습니다. 개체 구성원의 값을 변경할 수 있기 때문에 이벤트 구문이 매개 변수를 ByVal로 지정을 해도 이벤트 프로시저는 계속 ByRef 작용을 하게 됩니다.

값을 ReturnBoolean, ReturnEffect, ReturnInteger, 또는 ReturnString과 연관된 인수에 지정하면 다른 인수 값을 설정하는 것과 차이가 없습니다. 예를 들어, 이벤트 구문이 ReturnBoolean 개체를 가지고 사용한 Cancel 인수를 표시하면 Cancel=True 문은 다른 데이터 형식을 가지고 있는 것처럼 여전히 유효합니다.


이름 바꾸기 대화 상자

이름 바꾸기 대화 상자는 현재 포커스를 가지고 있는 독립된 페이지나 탭에 대해 Accelerator와 Caption, ControlTipText 속성값을 가지고 있으며,  현재 도구 상자 페이지에 대해서는 Caption와 ToolTipText 속성값을 가지고 있습니다. 이름 바꾸기 대화 상자에서는 이런 속성에 대한 값을 새로 변경할 수 있습니다.

바로 가는 키는 ALT 키와 동시에 눌러서 페이지나 탭에 포커스를 주는 키보드 키입니다. 제목은 페이지나 탭의 탭 영역이나 현재 도구 상자 페이지에 있는 텍스트입니다. ControlTipText은 컨트롤에 대한 간략한 설명으로 마우스를 누르지 않은 채로 마우스 포인터가 컨트롤 위에 머무를 때 나타납니다. ToolTipText은 컨트롤에 대한 간략한 설명으로 마우스를 누르지 않은 채로 마우스 포인터가 현재 도구 상자 위에 머무를 때 나타납니다.

페이지나 탭에 바로 가는 키를 지정하려면,

Accelerator 속성에 문자 하나를 입력합니다.

페이지나 탭의 이름을 바꾸려면,

Caption 속성에 새로운 값을 입력합니다.

페이지나 탭에 ControlTipText을 정의하려면,

ControlTipText 속성에 새로운 값을 입력합니다.

현재 도구 상자 페이지에 ToolTipText를 정의하려면,

ToolTipText 속성에 새로운 값을 입력합니다.

메모   확인 단추를 누르면 페이지나 탭, 또는 도구 상자 페이지에 새로운 값이 적용됩니다.


페이지 순서/탭 순서 대화 상자

페이지나 탭의 위치를 변경하려면,

1	이동하려는 페이지나 탭의 이름을 선택합니다.

2	선택한 항목이 원하는 위치로 갈 때까지 [위로 이동]이나 [아래로 이동]을 선택합니다.

3	항목을 원하는 순서로 이동한 후, 확인 단추를 누릅니다.


추가 컨트롤 대화 상자

1	[사용 가능한 컨트롤] 목록에서 도구 상자에 추가하려는 컨트롤을 선택합니다.

2	확인 단추를 누릅니다.

팁   [보기] 그룹에서 옵션을 선택함으로 [사용 가능한 컨트롤] 목록을 골라 낼 수 있습니다.


사용자 정의 컨트롤 대화 상자

사용자 정의 컨트롤 대화 상자는 ControlTipText 속성과 도구 상자에서 이 컨트롤을 나타내는 아이콘을 가지고 있습니다. 이 대화 상자로 컨트롤과 연결된 ControlTipText를 정의하거나 변경할 수 있고, 마찬가지로 도구 상자에 나타나는 아이콘을 변경할 수 있습니다.

ControlTipText을 정의하거나 편집하려면,

ControlTipText에 새로운 값을 입력합니다.

아이콘을 편집하려면,

1	[그림 편집] 명령어 단추를 선택합니다.

2	원하는 모양으로 아이콘을 바꾸려면 [Image 편집기]를 사용합니다.

다른 아이콘을 읽어 들이려면,

1	[그림 불러오기] 명령어 단추를 선택합니다.

2	공통 대화 상자에서 그림 파일을 선택합니다.

3	확인 단추를 누르면 새로운 값이 적용됩니다.