VisualBasic 애플리케이션의 구조
응용 프로그램은 실제로 컴퓨터가 작업을 완료하도록 지시하는 일련의 지침에 지나지 않습니다. 애플리케이션의 구조는 명령어가 구성되는 방식, 즉 명령어가 저장되는 위치와 명령어가 실행되는 순서입니다.
일반적인 helloworld 예제와 이와 같은 간단한 애플리케이션은 구조가 간단합니다. 한 줄의 코드에서는 구성이 그다지 중요하지 않습니다. 그러나 애플리케이션이 복잡할수록 조직적 또는 구조적 요구 사항은 더욱 분명해집니다. 애플리케이션이 무작위 순서로 실행되도록 허용되면 어떤 혼란이 발생할지 상상해 보십시오. 구조는 애플리케이션 실행을 제어하는 것 외에도 애플리케이션에서 특정 명령을 쉽게 찾는 방법에 있어서 중요한 역할을 합니다.
Visual Basic 응용 프로그램은 개체 기반이므로 응용 프로그램의 코드 구조는 화면에 나타나는 프로그램의 물리적 표현 모델입니다. 정의에 따르면 객체에는 데이터와 코드가 포함됩니다. 화면에 표시되는 양식은 양식의 모양과 기본 특성을 정의하는 속성을 나타냅니다. 애플리케이션의 각 양식에는 해당 코드가 포함된 관련 양식 모듈(파일 확장자 .frm)이 있습니다.
각 양식 모듈에는 특정 이벤트에 응답하여 실행되는 명령이 포함된 코드 섹션인 이벤트 프로시저가 포함되어 있습니다. 양식에는 컨트롤이 포함될 수 있습니다. 양식 모듈에는 양식의 각 컨트롤에 해당하는 이벤트 프로시저 세트가 있습니다. 이벤트 프로시저 외에도 양식 모듈에는 모든 이벤트 프로시저의 호출에 응답하는 일반 프로시저가 포함될 수 있습니다.
특정 양식이나 컨트롤과 관련되지 않은 코드는 다른 유형의 모듈, 즉 표준 모듈(파일 확장자 .BAS)에 배치될 수 있습니다. 프로시저는 여러 다른 개체의 이벤트에 응답하는 데 사용될 수 있습니다. 이 프로시저는 각 개체의 이벤트 프로시저에서 동일한 코드를 반복하는 대신 표준 모듈에 배치되어야 합니다.
클래스 모듈(파일 확장자 .CLS)을 사용하여 애플리케이션 내의 프로시저에서 호출할 수 있는 개체를 만듭니다. 표준 모듈에는 코드만 포함되어 있는 반면, 클래스 모듈에는 코드와 데이터가 모두 포함되어 있으며 물리적 표현이 없는 컨트롤로 간주될 수 있습니다.
4장 "프로젝트 관리"에서는 애플리케이션에 추가할 수 있는 구성 요소에 대해 설명합니다. 이 장에서는 애플리케이션을 구성하는 다양한 구성 요소에 코드를 작성하는 방법을 설명합니다. 기본적으로 프로젝트에는 고유한 양식 모듈이 포함되어 있습니다. 필요에 따라 추가 양식, 클래스 및 표준 모듈을 추가할 수 있습니다. 9장 "객체 프로그래밍"에서는 클래스 모듈에 대해 설명합니다.
이벤트 기반 애플리케이션의 작동 방식
이벤트는 양식이나 컨트롤에서 인식되는 작업입니다. 이벤트 기반 애플리케이션은 이벤트에 대한 응답으로 기본 코드를 실행합니다. Visual Basic의 각 폼과 컨트롤에는 미리 정의된 이벤트 집합이 있습니다. 이러한 이벤트 중 하나가 발생하고 연결된 이벤트 프로시저에 코드가 있으면 Visual Basic은 해당 코드를 호출합니다.
Visual Basic의 개체는 미리 정의된 이벤트 집합을 자동으로 인식하지만 특정 이벤트에 응답할지 여부와 응답 방법을 결정하는 것은 프로그래머의 책임입니다. 코드 섹션(즉, 이벤트 프로시저)은 각 이벤트에 해당합니다. 컨트롤이 이벤트에 응답하도록 하려면 이벤트의 이벤트 프로세스에 코드를 작성합니다.
개체가 인식하는 이벤트 유형은 다양하지만 대부분의 유형은 대부분의 컨트롤에 공통됩니다. 예를 들어, 대부분의 개체는 Click 이벤트를 인식합니다. 즉, 폼을 클릭하면 폼의 Click 이벤트 프로시저에 있는 코드가 실행되고, 명령 단추를 클릭하면 명령 단추의 Click 이벤트 프로시저에 있는 코드가 실행됩니다. 각 경우의 실제 코드는 거의 완전히 다릅니다.
이벤트 기반 애플리케이션의 일반적인 이벤트 순서는 다음과 같습니다.
1. 애플리케이션을 시작하고 양식을 로드하여 표시합니다.
2. 양식(또는 양식의 컨트롤)이 이벤트를 수신합니다. 이벤트는 사용자(예: 키보드 작업), 시스템(예: 타이머 이벤트) 또는 코드에 의해 간접적으로(예: 코드가 양식을 로드할 때 Load 이벤트) 트리거될 수 있습니다.
3. 해당 이벤트 중에 코드가 존재하는 경우 해당 코드를 실행합니다.
4. 애플리케이션은 다음 이벤트를 기다립니다.
많은 이벤트가 다른 이벤트와 함께 발생한다는 점에 유의하세요 . 예를 들어 DblClick 이벤트가 발생하면 MouseDown, MouseUp 및 Click 이벤트도 발생합니다.
->