이미지 애플리케이션의 이벤트
이미지 애플리케이션은 다음과 같이 이벤트에 응답합니다.
1. 각 이미지 컨트롤의 Click 이벤트는 Shape 컨트롤의 Left 속성을 자체 Left 속성과 동일하게 만들고 그래픽을 이미지의 맨 위로 이동합니다.
2. PictureBox의 Cls 메서드를 호출하여 StatusBar의 현재 제목을 지웁니다.
3. PictureBox의 PRint 메서드를 호출하여 StatusBar에 새 제목을 인쇄합니다.
이미지 컨트롤의 Click 이벤트에 대한 코드는 다음과 같습니다.
PrivateSubimgHeart_Click()
shpCard.Left=imgClub.LeftpicStatus.Cls
picStatus.PrintSelected:클럽
shpCard.Visible=참
EndSub
Click 이벤트 코드의 첫 번째 줄 에서는 = 연산자를 사용하여 Shape 컨트롤의 Left 속성에 값을 할당합니다(Image 컨트롤의 Left 속성과 동일하게 만듭니다). 다음 두 줄에서는 메서드를 호출하므로 연산자가 필요하지 않습니다. 세 번째 줄의 값(Selected:Club)은 Print 메서드의 매개 변수입니다.
응용 프로그램에는 FormLoad 이벤트에 중요한 코드 줄이 하나 더 있습니다.
shpCard.Visible=거짓
Shape 컨트롤의 Visible 속성을 False로 설정하면 첫 번째 이미지를 클릭할 때까지 Shape 컨트롤이 숨겨집니다.
이미지 컨트롤 Click 이벤트의 마지막 단계에서 Visible 속성을 True로 설정합니다.
속성, 메서드 및 이벤트에 대한 자세한 내용 은 5장, "프로그래밍 기초"를 참조하십시오.
추가 제어
Visual Basic 도구 상자에는 다른 여러 표준 컨트롤도 포함되어 있습니다. 외부 데이터베이스에 있는 대량의 데이터를 처리하는 데 사용할 수 있는 컨트롤이 있습니다. Windows 파일 시스템에 액세스하는 데 사용할 수 있는 컨트롤이 있습니다. 분류하기 어렵지만 매우 유용한 다른 컨트롤도 있습니다.
이전에 사용자 지정 컨트롤 또는 OLE 컨트롤로 알려진 ActiveX 컨트롤은 Visual Basic 응용 프로그램에서도 사용할 수 있으며 표준 컨트롤과 동일한 방식으로 사용할 수 있습니다. Visual Basic Professional 및 Enterprise 버전의 여러 ActiveX 이벤트에는 사용자 지정 컨트롤을 만드는 기능도 있습니다. 상상할 수 있듯이 제조업체에서 생산한 수많은 추가 ActiveX 컨트롤을 추가하면 거의 모든 작업을 완료할 수 있습니다.
자세한 정보 ActiveX 컨트롤 사용에 대한 자세한 내용은 4장 "프로젝트 관리"를 참조하십시오.
데이터 접근 제어
현대 비즈니스에서 대부분의 정보는 하나 이상의 중앙 데이터베이스에 저장됩니다. VisualBasic은 Microsoft Access 및 SQL Server와 같이 가장 널리 사용되는 데이터베이스에 액세스할 수 있는 다양한 데이터 액세스 제어를 제공합니다.
1.ADOData 컨트롤은 데이터베이스에 연결하는 데 사용됩니다. 데이터베이스와 양식의 다른 컨트롤 사이의 파이프라인으로 생각하세요. Data 컨트롤의 속성, 메서드 및 이벤트를 사용하면 응용 프로그램 내에서 외부 데이터를 찾고 조작할 수 있습니다.
2. DataList 컨트롤은 ListBox 컨트롤과 유사합니다. DataList 컨트롤을 ADOData 컨트롤과 함께 사용하면 외부 데이터베이스에 있는 필드의 데이터 목록이 자동으로 채워집니다.
3. DataCombo 컨트롤은 DBList와 TextBox의 조합과 같습니다. TextBox 영역 내에서 선택한 텍스트를 편집할 수 있으며 변경 사항이 기본 데이터베이스에 나타납니다.
4. DataGrid 컨트롤은 데이터를 그리드나 테이블에 표시합니다. ADOData 컨트롤과 함께 사용하면 외부 데이터베이스의 여러 필드에서 완전히 편집 가능한 데이터를 표시합니다.
5. MicrosoftHierarchicalFlexGrid 컨트롤은 데이터의 여러 보기를 표시할 수 있는 유일한 컨트롤입니다. 그리드와 트리 또는 개요 컨트롤의 조합으로 생각하십시오. 런타임 시 사용자는 행과 열을 다시 정렬하여 데이터에 대한 다양한 보기를 제공할 수 있습니다.
데이터 컨트롤에 대한 자세한 내용 은 7장 "Visual Basic의 표준 컨트롤 사용"을 참조하십시오.
파일 시스템 제어
Visual Basic은 응용 프로그램의 파일 처리 기능을 향상시키는 세 가지 컨트롤을 제공합니다. 일반적으로 이러한 컨트롤은 드라이브, 디렉터리 및 파일을 보는 데 함께 사용됩니다. 이들을 서로 연결하는 특별한 속성과 이벤트가 있습니다.
DriveListBox 컨트롤은 ComboBox처럼 보입니다. 사용자가 선택할 수 있는 드라이브의 드롭다운 목록을 제공합니다.
DirListBox는 ListBox 컨트롤과 유사하지만 현재 선택한 드라이브의 디렉터리 목록을 표시하는 기능이 내장되어 있습니다.
FileListBox 컨트롤은 선택한 디렉터리의 파일 이름 목록을 표시하는 ListBox처럼 보입니다.
이러한 컨트롤은 주로 이전 버전의 Visual Basic에서 만든 응용 프로그램과의 호환성을 위해 제공 됩니다 . CommonDialog 컨트롤은 파일 액세스를 처리하는 간단한 방법을 제공합니다. CommonDialog 컨트롤에 대한 자세한 내용은 이 장 뒷부분의 "기타 컨트롤"을 참조하십시오.
기타 컨트롤
VisualBasic은 또한 여러 가지 다른 표준 컨트롤을 제공합니다. 각 컨트롤은 고유한 용도로 사용됩니다.
Timer 컨트롤은 애플리케이션에서 반복되는 간격으로 이벤트를 생성할 수 있습니다. 이는 사용자 상호 작용이 필요하지 않은 코드를 실행하는 데 유용합니다.
OLE 컨테이너 컨트롤을 사용하면 애플리케이션에 연결 및 포함과 같은 기능을 쉽게 추가할 수 있습니다. OLE 컨테이너 컨트롤을 통해 OLE 사용 가능 응용 프로그램(예: Microsoft Excel, Word 및 기타 여러 응용 프로그램)의 기능에 대한 액세스를 제공할 수 있습니다.
CommonDialog 컨트롤은 파일, 색상, 글꼴 및 인쇄 기능을 선택하기 위해 응용 프로그램에 내장된 대화 상자를 추가합니다.
세부 정보 표준 컨트롤에 대한 자세한 내용은 7장 "Visual Basic의 표준 컨트롤 사용"을 참조하십시오.
포커스 개요
사용자 마우스 또는 키보드 입력을 수신하는 기능에 중점을 둡니다. 객체에 포커스가 있으면 사용자로부터 입력을 받을 수 있습니다. Microsoft Windows 인터페이스에서는 언제든지 여러 응용 프로그램을 실행할 수 있지만 포커스가 있는 응용 프로그램에만 활성 제목 표시줄이 있고 사용자 입력을 받을 수 있습니다. 여러 TextBox가 있는 Visual Basic 양식에서는 포커스가 있는 TextBox에만 키보드로 입력한 텍스트가 표시됩니다.
객체가 포커스를 얻거나 잃으면 GotFocus 또는 LostFocus 이벤트가 생성됩니다. 양식과 대부분의 컨트롤은 이러한 이벤트를 지원합니다.
다음 메서드는 개체에 포커스를 할당합니다.
런타임에 개체를 선택합니다.
런타임에 개체를 선택하려면 바로 가기 키를 사용하세요.
코드에서 SetFocus 메서드를 사용하세요.
일부 개체의 경우 초점이 있는지 확인할 수 있습니다. 예를 들어 명령 단추에 초점이 있으면 제목 주위의 테두리가 강조 표시됩니다(그림 3.19 참조).
개체는 Enabled 및 Visible 속성이 True인 경우에만 포커스를 받을 수 있습니다. Enabled 속성을 사용하면 개체가 키보드 및 마우스 이벤트와 같은 사용자 생성 이벤트에 응답할 수 있습니다. Visible 속성은 객체가 화면에 표시되는지 여부를 결정합니다.
포커스를 받을 수 있는 컨트롤이 포함되지 않은 폼만 포커스를 받을 수 있습니다.
컨트롤의 이벤트 유효성을 검사합니다.
컨트롤에는 컨트롤이 포커스를 잃기 전에 발생하는 Validate 이벤트도 있습니다. 그러나 이 이벤트는 포커스를 받으려는 컨트롤의 CausesValidation 속성이 True로 설정된 경우에만 발생합니다. 많은 경우 Validate 이벤트는 포커스를 잃기 전에 발생하므로 LostFocus 이벤트보다 데이터 유효성 검사에 더 적합합니다. 자세한 내용은 7장 "Visual Basic 표준 컨트롤 사용"의 "포커스를 제한하여 컨트롤 데이터 유효성 검사"를 참조하십시오.
포커스를 받을 수 없는 컨트롤
경량 컨트롤과 같은 일부 컨트롤은 포커스를 받을 수 없습니다. 경량 컨트롤에는 다음 컨트롤이 포함됩니다.
프레임 제어
이미지 제어
라벨 제어
라인 제어
형상 제어
또한 Timer 컨트롤과 같이 런타임에 표시되지 않는 컨트롤은 포커스를 받을 수 없습니다.
->