다음 코드 예제에서는 프로그래밍 방식으로 진행률 표시줄 컨트롤에 액세스하는 데 사용되는 변수 m_progressCtrl을 정의합니다. 이 변수는 다음 예제에서 사용됩니다. 다음 코드 예제에서는 선택 윤곽 스크롤 애니메이션을 시작하고 중지합니다. 1. 메시지의 이름을 선택합니다. “UWM_”과 같은 이름을 지정하여 “사용자 WM_” 메시지를 나타내는 경향이 있습니다. 예를 들어 1. 메시지의 이름을 선택합니다. 유용한 이름을 선택한 다음 GUIDGEN을 사용하여 진정으로 고유한 ID를 접미사하는 것을 선호하지만 중요하지는 않습니다. 예를 들어, 이름으로 문자열을 정의하고 헤더 파일에 넣습니다: 배경 스레드가 실행 중, 일시 중지, 종료됨 등을 나타내기 위해 상태 표시줄에 아이콘 시퀀스를 표시해야 했습니다. 이 작업이 어떻게 수행되었는지 확인한 후 여러 텍스트 상태 창을 변경하여 아이콘을 사용하기로 결정했는데, 이는 C ++ 클래스가 있으면 더 쉬울 것이라는 것을 의미했습니다.

한 수업에서 이 일을 한 후, 나는 몇 가지 를 위해 그것을하기로 결정했다. zipfile에는 편집, 정적, 진행률 및 콤보 컨트롤을 위한 일반 CWnd 파생 클래스와 친구 클래스가 포함됩니다. 이러한 예제를 사용하여 사용자 고유의 컨트롤 클래스를 추가할 수 있습니다. 기본 CWnd 파생 클래스는 다음과 같습니다. 다음 코드 예제에서는 진행률 표시줄의 색상을 빨간색, 녹색, 파란색 또는 기본값으로 변경합니다. 3. MainFrm.cpp에 포함 파일을 추가하여 MainFrm.h를 포함합니다. 특정 클래스 중 하나를 사용하는 경우 원하는 클래스 앞에 “StatusControl.h”를 포함해야 합니다. ClassWizard를 사용하여 CStatusBar의 하위 클래스인 클래스를 만들 수 있습니다.예를 들어, i 호출 광산 CActiveStatusBar (활성 컨트롤이 있는 상태 표시줄에 대 한).

그런 다음 헤더 파일로 가서 AFX_VIRTUAL 섹션에 표시된 줄을 수동으로 추가했습니다. 창 클래스에서 CProgressBar 개체를 만들고 창 초기화에서 CProgressBar::Create() 멤버 함수를 호출합니다. 예: 3. 기호를 사용하는 각 모듈(MainFrm.cpp 포함)에서 메시지를 등록합니다. VC++ MFC 예제: 상태 표시줄에서 진행률 표시줄/편집 컨트롤/콤보박스 컨트롤/아이콘을 만들거나 표시하면 주요 차이점은 하나 또는 두 개의 방향을 가정하는 기능에 있습니다. 1) 생성 및 표시 진행률 표시줄 컨트롤 2) 별도의 스레드로 긴 작업을 시작합니다. 3) 필요한 경우 긴 작업 작업자 스레드에서 진행률 표시 줄 대화 상자에 위의 메시지를 게시합니다. 그것은 기여 한 기술 (“상태 표시 줄 창에 진행률 표시 줄 표시”) 및 수정을 기반으로합니다.

이 구현은 합리적으로 깨끗한 인터페이스를 사용하여 관련 MFC 클래스집합으로 수행됩니다. 또한 GetItemRect 메서드가 이 경우 빈 사각형을 반환하기 때문에 포함 프레임에 의해 잘린 창에 대한 컨트롤을 만들려고 시도하는 것이 상태 표시줄의 왼쪽에 컨트롤을 만드는 원래 코드의 오류를 수정합니다. PBS_VERTICAL 진행 률 정보를 위에서 아래로 수직으로 표시합니다. 이 플래그가 없으면 진행률 표시줄 컨트롤이 왼쪽에서 오른쪽으로 가로로 표시됩니다. 긴 작업은 별도의 스레드에서 수행됩니다. 아래와 같이 진행률 표시줄 대화 상자에서 두 개의 메시지를 정의했습니다. 진행률 표시줄 컨트롤에는 범위와 현재 위치가 있습니다. 범위는 작업의 총 기간을 나타내며 현재 위치는 응용 프로그램이 작업을 완료하는 동안 수행한 진행 률을 나타냅니다. 창 프로시저는 범위와 현재 위치를 사용하여 강조 표시 색상으로 채울 진행률 표시줄의 백분율을 결정합니다.