ctabctrl 예제

표준 탭 컨트롤의 문제는 페이지를 탭 컨트롤로 이동하기 위한 많은 노력이 수반된다는 것입니다. MSDN의 빠른 탭 보기, CTabView를 구현 하는 Jeff Prosise에 의해 예제를 위치, 탭 대화 리소스로 지정 될 수 있도록. 글쎄, 코드에 관해서 나는 시계와 함께 10 살 때와 약간 비슷합니다 : 나는 그것에 대해 바이올린을 하고 그것이 어떻게 작동하는지 보고 어떻게 더 좋을 수 있는지 궁금해합니다. 다음은 사용 중인 코드의 예이며, 9개의 컨트롤은 12줄의 코드만 있는 2개의 탭에서 만들어집니다. 이 탭 컨트롤을 사용하기 위한 첫 번째 단계로 자리 표시자 대화 상자를 만들어야 합니다. 이 자리 홀더는 양식 보기 또는 대화 상자일 수 있습니다. 이 예제에서는 대화 상자를 사용하여 CTabCtrl 사용을 보여 줍니다. CreateEx는 dwExStyle에 의해 지정된 확장된 Windows 스타일로 컨트롤을 만듭니다. SetExtendedStyle을 사용하여 컨트롤에 특정한 확장 스타일을 설정합니다. 예를 들어 CreateEx를 사용하여 WS_EX_CONTEXTHELP와 같은 스타일을 설정하지만 SetExtendedStyle을 사용하여 TCS_EX_FLATSEPARATORS와 같은 스타일을 설정합니다.

자세한 내용은 Windows SDK의 탭 제어 확장 스타일에 설명된 스타일을 참조하십시오. . 당신이 볼 수 있듯이, 탭 컨트롤에 컨트롤을 삽입 하는 것은 매우 좋은 하 고 깔끔한, 그리고 쉽게. 그러나 푸시 버튼이 요청하는 함수를 호출하려면 어떻게해야합니까? 클래스는 누른 단추의 uID를 포함하는 WPARAM을 사용하여 대화 상자에 메시지를 보내므로 단일 기능 및 간단한 스위치 또는 if/then 문으로 모든 단추 이벤트를 처리할 수 있습니다. 이제 탭 클래스를 사용할 준비가 되었습니다! 현재 클래스는 에 대 한 지원: 그룹 박스, 라디오 박스, 확인란, 단추, 그리고 정적 텍스트 당신은 매우 쉽게 더 많은 컨트롤에 대 한 지원을 추가할 수 있습니다., 그냥 코드를 살펴보고 조금 수정. 다음 함수는 컨트롤을 삽입하는 데 사용하는 기능입니다. MytabCtrl.cpp에 자식 대화 상자 헤더 파일을 포함 하는 것을 잊지 마십시오. CTabCtrl 파생 클래스에 멤버 함수를 추가하여 각 탭의 콘텐츠로 모덜리스 대화 상자를 만듭니다.

나는 내 “콘텐츠 만들기”라고했다. 이 멤버 함수는 각 탭의 대화 상자에 대해 한 번 호출됩니다. 파생 클래스에서 재정의하여 페이지 활성화에 응답하는 등의 방법을 사용합니다. 탭 컨트롤에서 지정된 항목을 제거하려면 이 함수를 호출합니다. “탭 컨트롤”은 전자 필기장의 칸막이 또는 파일 캐비닛의 레이블과 유사합니다. 응용 프로그램은 탭 컨트롤을 사용하여 창 또는 대화 상자의 동일한 영역에 대해 여러 페이지를 정의할 수 있습니다. 각 페이지는 사용자가 해당 탭을 선택할 때 응용 프로그램이 표시하는 정보 집합 또는 컨트롤 그룹으로 구성됩니다. 리소스. 이러한 탭은 내부적으로 CTabPageSSL 개체로 정의됩니다. 또한 이 유형의 개체를 탭 컨트롤에 추가하기 위한 인터페이스가 있어 CTabPageSSL에서 상속하여 사용자 지정 개체를 정의할 수 있습니다. .

탭 컨트롤에 대한 멤버 변수를 만들고 형식이 CTabCtrlSSL로 변경합니다. CreateTab을 호출하여 각 탭에 대한 모의 대화 상자를 만들면 탭 컨트롤과 대화 상자의 크기가 조정됩니다.

Comments

No one has said anything yet.

Comments are closed.