CSplitterWnd
수업
여러 개의 창이 포함된 창인 분할자 창 기능을 제공합니다.
구문
class CSplitterWnd : public CWnd
멤버
공용 생성자
속성 | 설명 |
---|---|
CSplitterWnd::CSplitterWnd |
개체를 생성하기 위한 호출입니다 CSplitterWnd . |
공용 메서드
이름 | 설명 |
---|---|
CSplitterWnd::ActivateNext |
다음 창 또는 이전 창 명령을 수행합니다. |
CSplitterWnd::CanActivateNext |
다음 창 또는 이전 창 명령이 현재 가능한지 확인합니다. |
CSplitterWnd::Create |
동적 분할자 창을 만들어 개체에 CSplitterWnd 연결하기 위해 호출합니다. |
CSplitterWnd::CreateScrollBarCtrl |
공유 스크롤 막대 컨트롤을 만듭니다. |
CSplitterWnd::CreateStatic |
정적 분할자 창을 만들어 개체에 CSplitterWnd 연결하기 위한 호출입니다. |
CSplitterWnd::CreateView |
분할자 창에서 창을 만들려면 호출합니다. |
CSplitterWnd::DeleteColumn |
분할자 창에서 열을 삭제합니다. |
CSplitterWnd::DeleteRow |
분할자 창에서 행을 삭제합니다. |
CSplitterWnd::DeleteView |
분할자 창에서 보기를 삭제합니다. |
CSplitterWnd::DoKeyboardSplit |
키보드 분할 명령(일반적으로 "창 분할")을 수행합니다. |
CSplitterWnd::DoScroll |
분할 창의 동기화된 스크롤을 수행합니다. |
CSplitterWnd::DoScrollBy |
분할 창을 지정된 픽셀 수만큼 스크롤합니다. |
CSplitterWnd::GetActivePane |
프레임의 포커스 또는 활성 보기에서 활성 창을 결정합니다. |
CSplitterWnd::GetColumnCount |
현재 창 열 수를 반환합니다. |
CSplitterWnd::GetColumnInfo |
지정된 열에 대한 정보를 반환합니다. |
CSplitterWnd::GetPane |
지정된 행과 열의 창을 반환합니다. |
CSplitterWnd::GetRowCount |
현재 창 행 수를 반환합니다. |
CSplitterWnd::GetRowInfo |
지정된 행에 대한 정보를 반환합니다. |
CSplitterWnd::GetScrollStyle |
공유 스크롤 막대 스타일을 반환합니다. |
CSplitterWnd::IdFromRowCol |
지정된 행과 열에 있는 창의 자식 창 ID를 반환합니다. |
CSplitterWnd::IsChildPane |
창이 현재 이 분할자 창의 자식 창인지 여부를 확인하려면 호출합니다. |
CSplitterWnd::IsTracking |
분할 막대가 현재 이동 중인지 여부를 확인합니다. |
CSplitterWnd::RecalcLayout |
행 또는 열 크기를 조정한 후 분할자 창을 다시 표시하도록 호출합니다. |
CSplitterWnd::SetActivePane |
창을 프레임의 활성 창으로 설정합니다. |
CSplitterWnd::SetColumnInfo |
지정된 열 정보를 설정하기 위한 호출입니다. |
CSplitterWnd::SetRowInfo |
지정된 행 정보를 설정하기 위한 호출입니다. |
CSplitterWnd::SetScrollStyle |
분할자 창의 공유 스크롤 막대 지원에 대한 새 스크롤 막대 스타일을 지정합니다. |
CSplitterWnd::SplitColumn |
프레임 창이 세로로 분할되는 위치를 나타냅니다. |
CSplitterWnd::SplitRow |
프레임 창이 가로로 분할되는 위치를 나타냅니다. |
보호된 메서드
속성 | 설명 |
---|---|
CSplitterWnd::OnDraw |
분할자 창을 그리기 위해 프레임워크에서 호출됩니다. |
CSplitterWnd::OnDrawSplitter |
분할 창의 이미지를 렌더링합니다. |
CSplitterWnd::OnInvertTracker |
분할 창의 이미지를 프레임 창과 동일한 크기와 모양으로 렌더링합니다. |
설명
창은 일반적으로 애플리케이션별 개체에서 CView
파생되지만 적절한 자식 창 ID를 가진 모든 CWnd
개체일 수 있습니다.
CSplitterWnd
개체는 일반적으로 부모 CFrameWnd
또는 CMDIChildWnd
개체에 포함됩니다. CSplitterWnd
다음 단계를 사용하여 개체를 만듭니다.
부모 프레임에
CSplitterWnd
멤버 변수를 포함합니다.부모 프레임의 멤버 함수를 재정의
CFrameWnd::OnCreateClient
합니다.재정의된
OnCreateClient
내에서 .의 또는CreateStatic
멤버 함수를Create
호출합니다CSplitterWnd
.
멤버 함수를 Create
호출하여 동적 분할자 창을 만듭니다. 동적 분할자 창은 일반적으로 동일한 문서의 여러 개별 창 또는 보기를 만들고 스크롤하는 데 사용됩니다. 프레임워크는 분할자의 초기 창을 자동으로 만듭니다. 그러면 프레임워크는 사용자가 분할자 창의 컨트롤을 작동할 때 추가 창을 만들고, 크기를 조정하고, 삭제합니다.
호출 Create
할 때 창이 너무 작아서 완전히 표시되지 않는 시기를 결정하는 최소 행 높이와 열 너비를 지정합니다. 호출Create
한 후에는 멤버 함수 및 SetRowInfo
멤버 함수를 호출하여 이러한 최소값을 SetColumnInfo
조정할 수 있습니다.
또한 멤버 함수와 SetRowInfo
멤버 함수를 사용하여 SetColumnInfo
열에 대해 "이상적인" 너비를 설정하고 행에 "이상적" 높이를 설정합니다. 프레임워크에서 분할자 창을 표시하면 먼저 부모 프레임과 분할자 창이 표시됩니다. 그런 다음 프레임워크는 분할자 창의 클라이언트 영역의 왼쪽 위에서 오른쪽 아래 모서리까지 작업하는 이상적인 차원에 따라 열과 행의 창을 배치합니다.
동적 분할자 창의 모든 창은 동일한 클래스여야 합니다. 동적 분할자 창을 지원하는 친숙한 응용 프로그램에는 Microsoft Word 및 Microsoft Excel이 포함됩니다.
멤버 함수를 CreateStatic
사용하여 정적 분할자 창을 만듭니다. 사용자는 정적 분할자 창에서 창의 크기만 변경할 수 있으며 숫자나 순서는 변경할 수 없습니다.
정적 분할기를 만들 때 모든 정적 분할자의 창을 특별히 만들어야 합니다. 부모 프레임의 OnCreateClient
멤버 함수가 반환되기 전에 모든 창을 만들거나 프레임워크가 창을 올바르게 표시하지 않는지 확인합니다.
멤버 함수는 CreateStatic
최소 행 높이와 열 너비가 0인 정적 분할자를 자동으로 초기화합니다. 호출 Create
후 및 SetRowInfo
멤버 함수를 호출하여 이러한 최소값을 SetColumnInfo
조정합니다. 또한 원하는 이상적인 창 차원을 나타내기 위해 호출 CreateStatic
한 후 사용합니다.SetColumnInfo
SetRowInfo
정적 분할기의 개별 창은 종종 다른 클래스에 속합니다. 정적 분할기 창의 예는 그래픽 편집기 및 Windows 파일 관리자를 참조하세요.
분할자 창은 특수 스크롤 막대를 지원합니다(창에 있을 수 있는 스크롤 막대 제외). 이러한 스크롤 막대는 개체의 CSplitterWnd
자식이며 창과 공유됩니다.
분할자 창을 만들 때 이러한 특수 스크롤 막대를 만듭니다. 예를 들어 CSplitterWnd
하나의 행, 두 개의 열이 있는 WS_VSCROLL
스타일은 두 창에서 공유하는 세로 스크롤 막대를 표시합니다. 사용자가 스크롤 막대 WM_VSCROLL
를 이동하면 메시지가 두 창으로 전송됩니다. 창이 스크롤 막대 위치를 설정하면 공유 스크롤 막대가 설정됩니다.
분할자 창에 대한 자세한 내용은 Technical Note 29를 참조하세요.
동적 분할자 창을 만드는 방법에 대한 자세한 내용은 다음을 참조하세요.
상속 계층 구조
CSplitterWnd
요구 사항
머리글: afxext.h
CSplitterWnd::ActivateNext
다음 창 또는 이전 창 명령을 수행하기 위해 프레임워크에서 호출됩니다.
virtual void ActivateNext(BOOL bPrev = FALSE);
매개 변수
bPrev
활성화할 창을 나타냅니다. TRUE
이전의 경우 FALSE
을 선택합니다.
설명
이 멤버 함수는 클래스에서 구현에 CView
위임 CSplitterWnd
하는 데 사용되는 상위 수준 명령입니다.
CSplitterWnd::CanActivateNext
프레임워크에서 호출하여 다음 창 또는 이전 창 명령이 현재 가능한지 확인합니다.
virtual BOOL CanActivateNext(BOOL bPrev = FALSE);
매개 변수
bPrev
활성화할 창을 나타냅니다. TRUE
이전의 경우 FALSE
을 선택합니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 멤버 함수는 클래스에서 구현에 CView
위임 CSplitterWnd
하는 데 사용되는 상위 수준 명령입니다.
CSplitterWnd::Create
동적 분할자 창을 만들려면 멤버 함수를 호출합니다 Create
.
virtual BOOL Create(
CWnd* pParentWnd,
int nMaxRows,
int nMaxCols,
SIZE sizeMin,
CCreateContext* pContext,
DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | SPLS_DYNAMIC_SPLIT,
UINT nID = AFX_IDW_PANE_FIRST);
매개 변수
pParentWnd
분할자 창의 부모 프레임 창입니다.
nMaxRows
분할자 창의 최대 행 수입니다. 이 값은 2를 초과하면 안됩니다.
nMaxCols
분할자 창의 최대 열 수입니다. 이 값은 2를 초과하면 안됩니다.
sizeMin
창이 표시될 수 있는 최소 크기를 지정합니다.
pContext
구조체에 대한 포인터입니다 CCreateContext
. 대부분의 경우 부모 프레임 창에 pContext
전달될 수 있습니다.
dwStyle
창 스타일을 지정합니다.
nID
창의 자식 창 ID입니다. 분할자 창이 다른 분할자 창 내에 중첩되지 않는 한 ID가 될 AFX_IDW_PANE_FIRST
수 있습니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
다음 단계를 수행하여 부모 CFrameWnd
또는 CMDIChildWnd
개체에 포함 CSplitterWnd
할 수 있습니다.
부모 프레임에
CSplitterWnd
멤버 변수를 포함합니다.부모 프레임의 멤버 함수를 재정의
CFrameWnd::OnCreateClient
합니다.재정
OnCreateClient
의된Create
내에서 멤버 함수를 호출합니다.
부모 프레임 내에서 분할자 창을 만들 때 부모 프레임의 pContext
매개 변수를 분할자 창에 전달합니다. 그렇지 않으면 이 매개 변수는 .일 수 있습니다 NULL
.
동적 분할자 창의 초기 최소 행 높이 및 열 너비는 매개 변수에 sizeMin
의해 설정됩니다. 창이 너무 작아서 전체적으로 표시할 수 없는지 여부를 결정하는 이러한 최소값은 멤버 함수와 SetColumnInfo
함께 SetRowInfo
변경할 수 있습니다.
동적 분할자 창에 대한 자세한 내용은 여러 문서 유형, 보기 및 프레임 창, Technical Note 29 및 CSplitterWnd
클래스 개요 문서의 "Splitter Windows"를 참조하세요.
예시
// the following function is created by the MFC Application Wizard
// when you select Split window from the User Interface Features tab:
BOOL CMyChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext *pContext)
{
return m_wndSplitter.Create(this,
2, 2, // TODO: adjust the number of rows, columns
CSize(10, 10), // TODO: adjust the minimum pane size
pContext);
}
CSplitterWnd::CreateScrollBarCtrl
공유 스크롤 막대 컨트롤을 만들기 위해 프레임워크에서 호출됩니다.
virtual BOOL CreateScrollBarCtrl(
DWORD dwStyle,
UINT nID);
매개 변수
dwStyle
창 스타일을 지정합니다.
nID
창의 자식 창 ID입니다. 분할자 창이 다른 분할자 창 내에 중첩되지 않는 한 ID가 될 AFX_IDW_PANE_FIRST
수 있습니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
스크롤 막대 옆에 추가 컨트롤을 포함하도록 재정 CreateScrollBarCtrl
의합니다. 기본 동작은 일반 Windows 스크롤 막대 컨트롤을 만드는 것입니다.
CSplitterWnd::CreateStatic
정적 분할자 창을 만들려면 멤버 함수를 호출합니다 CreateStatic
.
virtual BOOL CreateStatic(
CWnd* pParentWnd,
int nRows,
int nCols,
DWORD dwStyle = WS_CHILD | WS_VISIBLE,
UINT nID = AFX_IDW_PANE_FIRST);
매개 변수
pParentWnd
분할자 창의 부모 프레임 창입니다.
nRows
rows 수입니다. 이 값은 16을 초과하면 안됩니다.
nCols
columns 수입니다. 이 값은 16을 초과하면 안됩니다.
dwStyle
창 스타일을 지정합니다.
nID
창의 자식 창 ID입니다. 분할자 창이 다른 분할자 창 내에 중첩되지 않는 한 ID가 될 AFX_IDW_PANE_FIRST
수 있습니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
A CSplitterWnd
는 일반적으로 다음 단계를 수행하여 부모 CFrameWnd
또는 CMDIChildWnd
개체에 포함됩니다.
부모 프레임에
CSplitterWnd
멤버 변수를 포함합니다.부모 프레임의 멤버 함수를 재정의
OnCreateClient
합니다.재정
CFrameWnd::OnCreateClient
의된CreateStatic
내에서 멤버 함수를 호출합니다.
정적 분할자 창에는 종종 다른 클래스의 고정된 수의 창이 포함됩니다.
정적 분할기 창을 만들 때 동시에 모든 창을 만들어야 합니다. CreateView
멤버 함수는 일반적으로 이 용도로 사용되지만 다른 비뷰 클래스도 만들 수 있습니다.
정적 분할자 창의 초기 최소 행 높이 및 열 너비는 0입니다. 창이 너무 작아서 전체적으로 표시할 수 없는 경우를 결정하는 이러한 최소값은 멤버 함수와 SetColumnInfo
함께 SetRowInfo
변경할 수 있습니다.
정적 분할자 창에 스크롤 막대를 추가하려면 스타일과 WS_VSCROLL
스타일을 추가 WS_HSCROLL
합니다dwStyle
.
정적 분할자 창에 대한 자세한 내용은 여러 문서 형식, 보기 및 프레임 창, 기술 참고 29 및 CSplitterWnd
클래스 개요 문서에서 "Splitter Windows"를 참조하세요.
CSplitterWnd::CreateView
정적 분할자 창의 창을 만듭니다.
virtual BOOL CreateView(
int row,
int col,
CRuntimeClass* pViewClass,
SIZE sizeInit,
CCreateContext* pContext);
매개 변수
row
새 보기를 배치할 분할자 창 행을 지정합니다.
col
새 뷰를 배치할 분할자 창 열을 지정합니다.
pViewClass
새 뷰의 CRuntimeClass
값을 지정합니다.
sizeInit
새 뷰의 초기 크기를 지정합니다.
pContext
뷰를 만드는 데 사용되는 만들기 컨텍스트에 대한 포인터입니다(일반적으로 pContext
분할자 창이 만들어지는 부모 프레임의 재정의된 CFrameWnd::OnCreateClient
멤버 함수에 전달됨).
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
프레임워크에서 분할자를 표시하기 전에 정적 분할자 창의 모든 창을 만들어야 합니다.
또한 이 멤버 함수를 호출하여 동적 분할자 창의 사용자가 창, 행 또는 열을 분할할 때 새 창을 만듭니다.
예시
// this function creates the panes for a static splitter window
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext *pContext)
{
m_bSplitterCreated = m_wndSplitter.CreateStatic(this, 1, 2);
// CMyView and CMyOtherView are user-defined views derived from CView
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CMyView), CSize(0, 0),
pContext);
m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CMyOtherView), CSize(0, 0),
pContext);
return (m_bSplitterCreated);
}
CSplitterWnd::CSplitterWnd
개체를 생성하기 위한 호출입니다 CSplitterWnd
.
CSplitterWnd();
설명
두 단계로 개체를 CSplitterWnd
생성합니다. 먼저 개체를 만드는 CSplitterWnd
생성자를 호출한 다음, 분할자 창을 만들어 개체에 연결하는 멤버 함수를 CSplitterWnd
호출 Create
합니다.
CSplitterWnd::DeleteColumn
분할자 창에서 열을 삭제합니다.
virtual void DeleteColumn(int colDelete);
매개 변수
colDelete
삭제할 열을 지정합니다.
설명
이 멤버 함수는 동적 분할자 창(즉, 분할자 창에 스타일이 있는 경우)의 논리를 구현하기 위해 프레임워크에서 SPLS_DYNAMIC_SPLIT
호출됩니다. 고급 동적 분할자를 구현하기 위해 가상 함수 CreateView
와 함께 사용자 지정할 수 있습니다.
CSplitterWnd::DeleteRow
분할자 창에서 행을 삭제합니다.
virtual void DeleteRow(int rowDelete);
매개 변수
rowDelete
삭제할 행을 지정합니다.
설명
이 멤버 함수는 동적 분할자 창(즉, 분할자 창에 스타일이 있는 경우)의 논리를 구현하기 위해 프레임워크에서 SPLS_DYNAMIC_SPLIT
호출됩니다. 고급 동적 분할자를 구현하기 위해 가상 함수 CreateView
와 함께 사용자 지정할 수 있습니다.
CSplitterWnd::DeleteView
분할자 창에서 보기를 삭제합니다.
virtual void DeleteView(
int row,
int col);
매개 변수
row
보기를 삭제할 분할자 창 행을 지정합니다.
col
보기를 삭제할 분할자 창 열을 지정합니다.
설명
활성 보기가 삭제되면 다음 보기가 활성화됩니다. 기본 구현에서는 뷰가 자동으로 삭제 PostNcDestroy
된다고 가정합니다.
이 멤버 함수는 동적 분할자 창(즉, 분할자 창에 스타일이 있는 경우)의 논리를 구현하기 위해 프레임워크에서 SPLS_DYNAMIC_SPLIT
호출됩니다. 고급 동적 분할자를 구현하기 위해 가상 함수 CreateView
와 함께 사용자 지정할 수 있습니다.
CSplitterWnd::DoKeyboardSplit
키보드 분할 명령(일반적으로 "창 분할")을 수행합니다.
virtual BOOL DoKeyboardSplit();
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 멤버 함수는 클래스에서 구현에 CView
위임 CSplitterWnd
하는 데 사용되는 상위 수준 명령입니다.
CSplitterWnd::DoScroll
분할 창의 동기화된 스크롤을 수행합니다.
virtual BOOL DoScroll(
CView* pViewFrom,
UINT nScrollCode,
BOOL bDoScroll = TRUE);
매개 변수
pViewFrom
스크롤 메시지가 시작되는 뷰에 대한 포인터입니다.
nScrollCode
사용자의 스크롤 요청을 나타내는 스크롤 막대 코드입니다. 이 매개 변수는 가로로 발생하는 스크롤 유형을 결정하는 하위 바이트와 세로로 발생하는 스크롤 유형을 결정하는 상위 바이트라는 두 부분으로 구성됩니다.
SB_BOTTOM
아래로 스크롤합니다.SB_LINEDOWN
한 줄 아래로 스크롤합니다.SB_LINEUP
한 줄을 위로 스크롤합니다.SB_PAGEDOWN
한 페이지를 아래로 스크롤합니다.SB_PAGEUP
한 페이지를 위로 스크롤합니다.SB_TOP
위로 스크롤합니다.
bDoScroll
지정한 스크롤 동작이 발생하는지 여부를 결정합니다. TRUE
즉bDoScroll
, 자식 창이 있고 분할 창에 스크롤 범위가 있는 경우 지정된 스크롤 작업이 수행 bDoScroll
FALSE
될 수 있습니다. 즉, 자식 창이 없거나 분할 보기에 스크롤 범위가 없는 경우 스크롤이 발생하지 않습니다.
Return Value
동기화된 스크롤이 발생하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 멤버 함수는 보기에서 스크롤 메시지를 받을 때 분할 창의 동기화된 스크롤을 수행하기 위해 프레임워크에서 호출됩니다. 동기화된 스크롤이 허용되기 전에 사용자가 작업을 요구하도록 재정의합니다.
CSplitterWnd::DoScrollBy
분할 창을 지정된 픽셀 수만큼 스크롤합니다.
virtual BOOL DoScrollBy(
CView* pViewFrom,
CSize sizeScroll,
BOOL bDoScroll = TRUE);
매개 변수
pViewFrom
스크롤 메시지가 시작되는 뷰에 대한 포인터입니다.
sizeScroll
가로 및 세로로 스크롤할 픽셀 수입니다.
bDoScroll
지정한 스크롤 동작이 발생하는지 여부를 결정합니다. TRUE
즉bDoScroll
, 자식 창이 있고 분할 창에 스크롤 범위가 있는 경우 지정된 스크롤 작업이 수행 bDoScroll
FALSE
될 수 있습니다. 즉, 자식 창이 없거나 분할 보기에 스크롤 범위가 없는 경우 스크롤이 발생하지 않습니다.
Return Value
동기화된 스크롤이 발생하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 멤버 함수는 스크롤 메시지에 대한 응답으로 프레임워크에서 호출하여 분할 창의 동기화된 스크롤을 픽셀 단위로 수행 sizeScroll
합니다. 양수 값은 아래로 스크롤하고 오른쪽으로 스크롤함을 나타냅니다. 음수 값은 위쪽과 왼쪽으로 스크롤함을 나타냅니다.
스크롤을 허용하기 전에 사용자가 작업을 요구하도록 재정의합니다.
CSplitterWnd::GetActivePane
프레임의 포커스 또는 활성 보기에서 활성 창을 결정합니다.
virtual CWnd* GetActivePane(
int* pRow = NULL,
int* pCol = NULL);
매개 변수
pRow
현재 창의 행 번호를 검색하는 포인터 int
입니다.
pCol
현재 창의 열 번호를 검색하는 포인터 int
입니다.
Return Value
현재 창에 대한 포인터입니다. NULL
활성 창이 없으면 입니다.
설명
이 멤버 함수는 분할자 창에서 활성 창을 결정하기 위해 프레임워크에서 호출됩니다. 활성 창을 가져오기 전에 사용자가 작업을 요구하도록 재정의합니다.
CSplitterWnd::GetColumnCount
현재 창 열 수를 반환합니다.
int GetColumnCount() const;
Return Value
분할자의 현재 열 수를 반환합니다. 정적 분할기의 경우 최대 열 수이기도 합니다.
CSplitterWnd::GetColumnInfo
지정된 열에 대한 정보를 반환합니다.
void GetColumnInfo(
int col,
int& cxCur,
int& cxMin) const;
매개 변수
col
열을 지정합니다.
cxCur
열의 int
현재 너비로 설정할 참조입니다.
cxMin
열의 int
현재 최소 너비로 설정할 참조입니다.
CSplitterWnd::GetPane
지정된 행과 열의 창을 반환합니다.
CWnd* GetPane(
int row,
int col) const;
매개 변수
row
행을 지정합니다.
col
열을 지정합니다.
Return Value
지정된 행과 열의 창을 반환합니다. 반환된 창은 일반적으로 CView
파생 클래스입니다.
CSplitterWnd::GetRowCount
현재 창 행 수를 반환합니다.
int GetRowCount() const;
Return Value
분할자 창의 현재 행 수를 반환합니다. 정적 분할자 창의 경우 최대 행 수이기도 합니다.
CSplitterWnd::GetRowInfo
지정된 행에 대한 정보를 반환합니다.
void GetRowInfo(
int row,
int& cyCur,
int& cyMin) const;
매개 변수
row
행을 지정합니다.
cyCur
int
행의 현재 높이(픽셀)로 설정할 참조입니다.
cyMin
int
행의 현재 최소 높이(픽셀)로 설정할 참조입니다.
설명
이 멤버 함수를 호출하여 지정된 행에 대한 정보를 가져옵니다. cyCur
매개 변수는 지정된 행의 현재 높이로 채워지고 cyMin
행의 최소 높이로 채워집니다.
CSplitterWnd::GetScrollStyle
분할자 창의 공유 스크롤 막대 스타일을 반환합니다.
DWORD GetScrollStyle() const;
Return Value
성공하는 경우 다음 창 스타일 플래그 중 하나 이상:
WS_HSCROLL
분할자에서 현재 공유 가로 스크롤 막대를 관리하는 경우WS_VSCROLL
분할자에서 현재 공유 세로 스크롤 막대를 관리하는 경우
0이면 분할자 창에서 현재 공유 스크롤 막대를 관리하지 않습니다.
CSplitterWnd::IdFromRowCol
지정된 행과 열에 있는 창의 자식 창 ID를 가져옵니다.
int IdFromRowCol(
int row,
int col) const;
매개 변수
row
분할자 창 행을 지정합니다.
col
분할자 창 열을 지정합니다.
Return Value
창의 자식 창 ID입니다.
설명
이 멤버 함수는 비뷰를 창으로 만드는 데 사용되며 창이 존재하기 전에 호출될 수 있습니다.
예시
HBRUSH CMySplitterWnd::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hbr = CSplitterWnd::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_LISTBOX &&
pWnd->GetDlgCtrlID() == IdFromRowCol(1, 0))
{
// Pane 1,0 is a list box. Set the color of the text to be blue.
pDC->SetBkColor(m_BkColor);
pDC->SetTextColor(RGB(0, 0, 255));
return (HBRUSH)m_hbrListBoxBkgnd.GetSafeHandle();
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
CSplitterWnd::IsChildPane
현재 이 분할자 창의 자식 창인지 여부를 pWnd
확인합니다.
BOOL IsChildPane(
CWnd* pWnd,
int* pRow,
int* pCol);
매개 변수
pWnd
테스트할 개체에 대한 CWnd
포인터입니다.
pRow
int
행 번호를 저장할 포인터입니다.
pCol
int
열 번호를 저장할 포인터입니다.
Return Value
0이 pWnd
아닌 경우 현재 이 분할자 창의 자식 창이며 pRow
pCol
분할자 창의 창 위치로 채워집니다. 이 분할자 창의 자식 창이 아닌 경우 pWnd
0이 반환됩니다.
설명
6.0 이전의 Visual C++ 버전에서 이 함수는 로 정의되었습니다.
BOOL IsChildPane(CWnd* pWnd, int& row, int& col);
이 버전은 이제 사용되지 않으므로 사용하면 안 됩니다.
CSplitterWnd::IsTracking
이 멤버 함수를 호출하여 창의 분할 막대가 현재 이동 중인지 확인합니다.
BOOL IsTracking();
Return Value
분할자 작업이 진행 중인 경우 0이 아닌 경우 그렇지 않으면 0입니다.
CSplitterWnd::OnDrawSplitter
분할 창의 이미지를 렌더링합니다.
virtual void OnDrawSplitter(
CDC* pDC,
ESplitType nType,
const CRect& rect);
매개 변수
pDC
그릴 디바이스 컨텍스트에 대한 포인터입니다. NULL
CWnd::RedrawWindow
이 경우 pDC
프레임워크에서 호출되고 분할 창이 그려지지 않습니다.
nType
다음 중 하나일 수 있는 값 enum ESplitType
입니다.
splitBox
분할자 끌기 상자입니다.splitBar
두 분할 창 사이에 표시되는 막대입니다.splitIntersection
분할 창의 교집합입니다. 이 요소는 Windows 95/98에서 실행할 때 호출되지 않습니다.splitBorder
분할 창 테두리입니다.
rect
분할 창의 CRect
크기와 모양을 지정하는 개체에 대한 참조입니다.
설명
이 멤버 함수는 프레임워크에서 분할자 창의 정확한 특성을 그리고 지정하기 위해 호출됩니다. 분할자 창의 다양한 그래픽 구성 요소에 대한 이미지의 고급 사용자 지정을 재정 OnDrawSplitter
의합니다. 기본 이미지는 Windows용 Microsoft Works 또는 Microsoft Windows 95/98의 분할자와 유사합니다. 분할 막대의 교차점이 함께 혼합되어 있다는 점입니다.
동적 분할자 창에 대한 자세한 내용은 여러 문서 유형, 보기 및 프레임 창, Technical Note 29 및 CSplitterWnd
클래스 개요 문서의 "Splitter Windows"를 참조하세요.
CSplitterWnd::OnInvertTracker
분할 창의 이미지를 프레임 창과 동일한 크기와 모양으로 렌더링합니다.
virtual void OnInvertTracker(const CRect& rect);
매개 변수
rect
추적 사각형을 CRect
지정하는 개체에 대한 참조입니다.
설명
이 멤버 함수는 분할자의 크기를 조정하는 동안 프레임워크에서 호출됩니다. 분할자 창 이미지의 고급 사용자 지정을 재정 OnInvertTracker
의합니다. 기본 이미지는 Windows용 Microsoft Works 또는 Microsoft Windows 95/98의 분할자와 유사합니다. 분할 막대의 교차점이 함께 혼합되어 있다는 점입니다.
동적 분할자 창에 대한 자세한 내용은 여러 문서 유형, 보기 및 프레임 창, Technical Note 29 및 CSplitterWnd
클래스 개요 문서의 "Splitter Windows"를 참조하세요.
CSplitterWnd::RecalcLayout
행 또는 열 크기를 조정한 후 분할자 창을 다시 표시하도록 호출합니다.
virtual void RecalcLayout();
설명
및 멤버 함수를 사용하여 행 및 열 크기를 조정한 후 분할자 창을 올바르게 다시 표시하려면 이 멤버 함수를 SetRowInfo
SetColumnInfo
호출합니다. 분할자 창이 표시되기 전에 만들기 프로세스의 일부로 행 및 열 크기를 변경하는 경우 이 멤버 함수를 호출할 필요가 없습니다.
프레임워크는 사용자가 분할자 창의 크기를 조정하거나 분할을 이동할 때마다 이 멤버 함수를 호출합니다.
예시
CSplitterWnd::SetColumnInfo
에 대한 예를 참조하세요.
CSplitterWnd::SetActivePane
창을 프레임의 활성 창으로 설정합니다.
virtual void SetActivePane(
int row,
int col,
CWnd* pWnd = NULL);
매개 변수
row
이 NULL
경우 pWnd
활성화될 창의 행을 지정합니다.
col
이 NULL
경우 pWnd
활성화될 창의 열을 지정합니다.
pWnd
CWnd
개체에 대한 포인터입니다. 이면 NULL
창이 지정되고 row
col
활성으로 설정됩니다. 그렇지 않은 NULL
경우 활성으로 설정된 창을 지정합니다.
설명
이 멤버 함수는 프레임워크에서 사용자가 프레임 창 내의 창으로 포커스를 변경할 때 창을 활성으로 설정하기 위해 호출됩니다. 명시적으로 호출 SetActivePane
하여 포커스를 지정된 뷰로 변경할 수 있습니다.
행과 열을 제공하거나 입력하여 창을 지정합니다 pWnd
.
CSplitterWnd::SetColumnInfo
지정된 열 정보를 설정하기 위한 호출입니다.
void SetColumnInfo(
int col,
int cxIdeal,
int cxMin);
매개 변수
col
분할자 창 열을 지정합니다.
cxIdeal
분할자 창 열에 이상적인 너비를 픽셀 단위로 지정합니다.
cxMin
분할자 창 열의 최소 너비를 픽셀 단위로 지정합니다.
설명
이 멤버 함수를 호출하여 열에 대한 새 최소 너비 및 이상적인 너비를 설정합니다. 열 최소값은 열이 너무 작아서 완전히 표시되지 않을 시기를 결정합니다.
프레임워크에서 분할자 창을 표시하면 분할자 창의 클라이언트 영역의 왼쪽 위에서 오른쪽 아래 모서리까지 작업하는 이상적인 차원에 따라 열과 행의 창이 배치됩니다.
예시
void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIChildWnd::OnSize(nType, cx, cy);
CRect rect;
GetWindowRect(&rect);
if (m_bSplitterCreated) // m_bSplitterCreated set in OnCreateClient
{
m_wndSplitter.SetColumnInfo(0, rect.Width() / 2, 10);
m_wndSplitter.SetColumnInfo(1, rect.Width() / 2, 10);
m_wndSplitter.RecalcLayout();
}
}
CSplitterWnd::SetRowInfo
지정된 행 정보를 설정하기 위한 호출입니다.
void SetRowInfo(
int row,
int cyIdeal,
int cyMin);
매개 변수
row
분할자 창 행을 지정합니다.
cyIdeal
분할자 창 행에 이상적인 높이를 픽셀 단위로 지정합니다.
cyMin
분할자 창 행의 최소 높이를 픽셀 단위로 지정합니다.
설명
이 멤버 함수를 호출하여 행에 대한 새 최소 높이 및 이상적인 높이를 설정합니다. 행 최소값은 행이 너무 작아서 완전히 표시되지 않을 시기를 결정합니다.
프레임워크에서 분할자 창을 표시하면 분할자 창의 클라이언트 영역의 왼쪽 위에서 오른쪽 아래 모서리까지 작업하는 이상적인 차원에 따라 열과 행의 창이 배치됩니다.
CSplitterWnd::SetScrollStyle
분할자 창의 공유 스크롤 막대 지원에 대한 새 스크롤 스타일을 지정합니다.
void SetScrollStyle(DWORD dwStyle);
매개 변수
dwStyle
분할자 창의 공유 스크롤 막대 지원에 대한 새 스크롤 스타일이며 다음 값 중 하나일 수 있습니다.
WS_HSCROLL
가로 공유 스크롤 막대를 만들거나 표시합니다.WS_VSCROLL
세로 공유 스크롤 막대를 만들거나 표시합니다.
설명
스크롤 막대가 만들어지면 해당 스타일 없이 호출되더라도 SetScrollStyle
제거되지 않습니다. 대신 스크롤 막대가 숨겨집니다. 이렇게 하면 스크롤 막대가 숨겨져 있어도 상태를 유지할 수 있습니다. 호출 SetScrollStyle
한 후에는 모든 변경 내용을 적용하도록 호출 RecalcLayout
해야 합니다.
CSplitterWnd::SplitColumn
프레임 창이 세로로 분할되는 위치를 나타냅니다.
virtual BOOL SplitColumn(int cxBefore);
매개 변수
cxBefore
분할이 발생하기 전의 위치(픽셀)입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 멤버 함수는 세로 분할기 창을 만들 때 호출됩니다. SplitColumn
는 분할이 발생하는 기본 위치를 나타냅니다.
SplitColumn
는 동적 분할자 창의 논리(즉, 분할자 창에 스타일이 있는 경우)의 논리를 구현하기 위해 프레임워크에서 SPLS_DYNAMIC_SPLIT
호출됩니다. 고급 동적 분할자를 구현하기 위해 가상 함수 CreateView
와 함께 사용자 지정할 수 있습니다.
CSplitterWnd::SplitRow
프레임 창이 가로로 분할되는 위치를 나타냅니다.
virtual BOOL SplitRow(int cyBefore);
매개 변수
cyBefore
분할이 발생하기 전의 위치(픽셀)입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 멤버 함수는 가로 분할자 창을 만들 때 호출됩니다. SplitRow
는 분할이 발생하는 기본 위치를 나타냅니다.
SplitRow
는 동적 분할자 창의 논리(즉, 분할자 창에 스타일이 있는 경우)의 논리를 구현하기 위해 프레임워크에서 SPLS_DYNAMIC_SPLIT
호출됩니다. 고급 동적 분할자를 구현하기 위해 가상 함수 CreateView
와 함께 사용자 지정할 수 있습니다.
CSplitterWnd::OnDraw
분할자 창을 그리기 위해 프레임워크에서 호출됩니다.
virtual void OnDraw(CDC* pDC);
매개 변수
pDC
디바이스 컨텍스트에 대한 포인터입니다.