작업을 수행하려면 버튼을 클릭하세요.
사용자가 애플리케이션과 상호 작용하는 가장 쉬운 방법은 버튼을 제공하는 것입니다. Visual Basic에서 제공하는 CommandButton 컨트롤을 사용하거나 아이콘과 같은 그래픽이 포함된 이미지 컨트롤을 사용하여 고유한 "단추"를 만들 수 있습니다.
CommandButton 사용
대부분의 Visual Basic 응용 프로그램에는 사용자가 단추를 탭하기만 하면 작업을 수행할 수 있는 CommandButton이 있습니다. 사용자가 버튼을 선택하면 작업이 수행될 뿐만 아니라 버튼을 눌렀다 떼는 것처럼 보입니다. 사용자가 버튼을 클릭할 때마다 Click 이벤트 프로시저가 호출됩니다. 원하는 작업을 수행하려면 Click 이벤트 프로시저에 코드를 작성하세요.
프로그램이 실행되는 동안 CommandButton을 선택하는 방법에는 여러 가지가 있습니다.
마우스로 버튼을 클릭하세요.
Tab 키를 눌러 해당 버튼으로 포커스를 이동한 다음 SPACE 키나 ENTER 키를 눌러 버튼을 선택합니다. 이 장 뒷부분의 "포커스 개요"를 참조하십시오.
CommandButton 바로 가기 키(Alt 밑줄 그어진 문자)를 누릅니다.
코드에서 CommandButton의 Value 속성을 True로 설정합니다. cmdClose.Value=참
코드에서 CommandButton의 Click 이벤트를 호출합니다. cmdClose_클릭
CommandButton이 양식의 기본 명령 단추인 경우 CommandButton이 아닌 다른 컨트롤로 포커스가 이동하더라도 Enter 키를 누르면 단추가 선택됩니다. 디자인 타임에 해당 Default 속성을 True로 설정하여 단추를 폼의 기본 CommandButton으로 지정합니다.
CommandButton이 폼의 기본 취소 버튼인 경우 포커스가 다른 컨트롤로 이동하더라도 ESC 키를 눌러 해당 버튼을 선택할 수 있습니다. 디자인 타임에 취소 속성을 True로 설정하여 버튼을 기본 취소 버튼으로 지정합니다. 이러한 모든 작업으로 인해 Visual Basic은 Click 이벤트 프로시저를 호출합니다.
"테스트 버튼" 애플리케이션
Caption 속성을 사용하여 버튼의 기능을 사용자에게 알려주는 텍스트를 버튼에 표시합니다. 그림 3.4에서 컨트롤 샘플 응용 프로그램의 테스트 단추 예제에는 ChangeSignal의 Caption 속성이 있는 CommandButton이 포함되어 있습니다. 이 예제는 Controls.vbp 샘플 응용 프로그램의 Buttons.frm에 대해 작동합니다.
S는 이 버튼의 단축키이며 밑줄로 표시됩니다. 캡션 속성의 텍스트에 (&) 기호를 삽입하면 이 기호 뒤에 오는 문자가 버튼의 바로 가기 키가 됩니다(예: Change&Signal).
사용자가 CommandButton을 클릭하면 CommandButton의 Click 이벤트 프로세스에 있는 코드가 실행됩니다. 이 예에서는 버튼을 클릭할 때마다 다른 신호등 아이콘으로 변경됩니다.
CommandButton의 속성에 대한 자세한 내용은 7장 "Visual Basic의 표준 컨트롤 사용"을 참조하십시오.
텍스트 표시 및 입력 컨트롤
Label 및 TextBox 컨트롤은 텍스트를 표시하고 입력하는 데 사용됩니다. 응용 프로그램이 양식에 텍스트를 표시할 때 Label을 사용하고, 사용자가 텍스트를 입력할 수 있도록 허용할 때 TextBox를 사용합니다. Labels의 텍스트는 읽기 전용 텍스트인 반면 TextBox의 텍스트는 편집 가능한 텍스트입니다.
순차적 입력 TextBox 등 사용자가 편집할 수 있는 텍스트
필드 또는 비밀번호 상자
양식에서 라벨을 식별하는 등 표시만 가능한 텍스트
필드 또는 사용자에게 지침 표시
레이블과 텍스트 상자는 다음 섹션에서 설명됩니다.
레이블을 사용하여 텍스트 표시(vbconUsingLabels) Label 컨트롤 사용에 대한 기본 지식입니다.
TextBox(vbconWorkingWithTextBox)를 사용한 TextBox 작업의 기본 사항입니다.
라벨이 있는 텍스트 표시
Label 컨트롤에 표시되는 텍스트는 사용자가 직접 수정할 수 없습니다. 자체 Caption 속성이 없는 TextBox 및 ScrollBar와 같은 컨트롤은 Label로 식별할 수 있습니다. 실제로 레이블에 표시되는 텍스트는 캡션 속성에 의해 제어됩니다. 이 속성은 디자인 타임에 "속성" 창에서 설정하거나 런타임에 코드로 할당할 수 있습니다.
기본적으로 제목은 Label 컨트롤에서 유일하게 표시되는 부분입니다. 그러나 BorderStyle 속성을 1로 설정하면(디자인 타임에 수행 가능) Label에 테두리가 생기고 TextBox처럼 보입니다. 레이블의 BackColor, BackStyle, ForeColor 및 Font 속성을 설정하여 레이블의 모양을 변경할 수도 있습니다.
내용에 맞게 라벨 크기 변경
디자인하는 동안 "속성" 창에서 단일 라인 라벨의 제목을 지정할 수 있습니다. 그러나 더 긴 제목이나 런타임 시 변경될 수 있는 제목을 입력하려는 경우에는 어떻게 해야 합니까? Label은 두 가지 속성인 AutoSize와 WordWrap을 제공하여 더 길거나 짧은 제목에 맞게 컨트롤 크기를 변경하는 데 도움을 줍니다.
AutoSize 속성은 컨트롤이 내용에 맞게 크기를 자동으로 변경할지 여부를 결정합니다. 이 속성이 True로 설정되면 그림 3.5와 같이 레이블이 내용에 따라 수평으로 변경됩니다.
WordWrap 속성을 사용하면 그림 3.6과 같이 너비는 변경되지 않은 채 레이블이 내용에 따라 수직으로 변경됩니다. 이 예제의 작업 버전은 응용 프로그램 예제 Controls.vbp의 WordWrap.frm을 참조하세요.
Controls.vbp에서 AutoSize 예제를 실행하면 WordWrap을 동시에 사용하려면 두 확인란을 모두 선택해야 한다는 것을 알 수 있습니다 . 이는 Label의 WordWrap 속성이 작동하려면 AutoSize를 True로 설정해야 하기 때문입니다. 레이블의 너비는 단일 단어의 너비가 컨트롤의 현재 너비를 초과하는 경우에만 증가합니다.
Label 컨트롤 속성에 대한 자세한 내용 은 7장 "Visual Basic의 표준 컨트롤 사용"을 참조하십시오.
TextBox 사용
TextBox는 사용자가 텍스트를 입력하거나 텍스트를 표시할 수 있는 범용 컨트롤입니다. TextBox의 Locked 속성이 True로 설정되어 있지 않으면 TextBox를 사용하여 사용자가 변경하지 못하게 하려는 텍스트를 표시할 수 없습니다.
TextBox에 표시되는 실제 텍스트는 Text 속성에 의해 제어됩니다. Text 속성은 디자인 타임에 속성 창에서, 런타임에 코드를 통해, 런타임에 사용자 입력을 통해 세 가지 방법으로 설정할 수 있습니다. TextBox의 현재 내용은 런타임 시 Text 속성을 읽어 검색할 수 있습니다.
여러 줄의 TextBox 및 WordWrap
TextBox는 기본적으로 한 줄의 텍스트만 표시하고 ScrollBar는 표시하지 않습니다. 텍스트가 사용 가능한 공간보다 길면 텍스트의 일부만 표시됩니다. MultiLine 및 ScrollBars 속성(프로그램을 디자인할 때만 설정할 수 있음)을 설정하면 TextBox의 모양과 동작을 변경할 수 있습니다.
ScrollBars 속성과 ScrollBar 컨트롤을 혼동하지 않도록 주의하십시오 . ScrollBar 컨트롤은 TextBox에 속하지 않으며 자체 속성 집합을 갖습니다.
MultiLine 속성을 True로 설정하면 TextBox가 런타임에 여러 줄의 텍스트를 허용하거나 표시할 수 있습니다. 가로 ScrollBar가 없으면 여러 줄로 구성된 TextBox의 텍스트는 단어에 따라 자동으로 줄바꿈됩니다. ScrollBars 속성의 기본값은 0(없음)으로 설정됩니다. 자동 단어 줄 바꿈을 사용하면 줄 끝에 줄 바꿈을 삽입하는 수고를 덜 수 있습니다. 텍스트 줄이 표시 길이를 초과하면 TextBox는 표시를 위해 텍스트를 다음 줄로 자동으로 접습니다.
디자인 타임에는 속성 창에 줄 바꿈을 입력할 수 없습니다. 프로세스 중에 캐리지 리턴과 개행 문자(ANSI 문자 13 및 0)를 삽입하여 줄 중단점을 생성할 수 있습니다. 또한 vbCrLf 상수를 사용하여 캐리지 리턴 및 줄 바꿈 조합을 삽입할 수도 있습니다. 예를 들어, 다음 이벤트 프로시저는 양식이 로드될 때 여러 줄의 TextBox(Text1)에 두 줄의 텍스트를 배치하는 예입니다.
하위양식_로드()
Text1.Text=여기에두줄_
&vbCrLf&텍스트상자
EndSub
TextBox의 텍스트 사용
TextBox의 SelStart, SelLength 및 SelText 속성을 사용하면 TextBox의 삽입 지점과 선택 동작을 제어할 수 있습니다. 이러한 속성은 런타임에만 사용할 수 있습니다.
TextBox가 처음 포커스를 받으면 TextBox의 기본 삽입 지점과 커서 위치는 텍스트의 가장 왼쪽에 있습니다. 사용자는 키보드와 마우스를 사용하여 이동할 수 있습니다. TextBox가 포커스를 잃었다가 다시 포커스를 얻으면 삽입 지점 위치는 사용자가 설정한 마지막 위치와 동일합니다.
경우에 따라 사용자 설정과 일치하지 않을 수 있습니다. 예를 들어, 워드 프로세싱 응용 프로그램에서 사용자는 데이터 입력 응용 프로그램의 기존 텍스트 뒤에 새 문자가 나타나기를 원할 것이며, 사용자는 자신의 입력이 원래 입력을 대체하기를 원할 것입니다. SelStart 및 SelLength 속성을 사용하면 사용자는 필요에 따라 TextBox의 동작을 변경할 수 있습니다.
SelStart 속성은 텍스트 문자열 내 삽입 지점을 나타내는 숫자입니다. 여기서 0은 가장 왼쪽 위치를 나타냅니다. SelStart 속성 값이 텍스트의 문자 수보다 크거나 같으면 그림 3.7에 표시된 대로 삽입 지점이 마지막 문자 뒤에 배치됩니다. 이 예제의 작업 버전은 응용 프로그램 예제 Controls.vbp의 Text.frm을 참조하세요. SelLength 속성은 삽입점의 너비를 설정하는 값입니다. SelLength를 0보다 큰 값으로 설정하면 현재 삽입 지점에서 시작하는 SelLength 문자가 선택되고 강조 표시됩니다. 그림 3.8은 선택의 성능을 보여줍니다.
텍스트를 선택한 경우 사용자가 입력한 텍스트가 선택한 텍스트를 대체합니다. 경우에 따라 붙여넣기 명령을 사용하여 원본 텍스트를 새 텍스트로 바꿀 수도 있습니다. SelText 속성은 현재 선택된 텍스트를 대체하기 위해 런타임에 값을 할당할 수 있는 텍스트 문자열입니다. 선택한 텍스트가 없으면 SelText는 현재 삽입 지점에 텍스트를 삽입합니다.
TextBox 컨트롤의 속성에 대한 자세한 내용은 7장 "Visual Basic의 표준 컨트롤 사용"을 참조하십시오.
TextBox 컨트롤의 속성에 대한 자세한 내용은 7장 "Visual Basic의 표준 컨트롤 사용"을 참조하십시오.
->