CDragListBox 클래스
이 클래스는 Windows 목록 상자 CDragListBox
의 기능을 제공하는 것 외에도 사용자가 목록 상자 내에서 파일 이름과 같은 목록 상자 항목을 이동할 수 있도록 합니다.
구문
class CDragListBox : public CListBox
멤버
공용 생성자
속성 | 설명 |
---|---|
CDragListBox::CDragListBox | CDragListBox 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
CDragListBox::BeginDrag | 끌기 작업이 시작될 때 프레임워크에서 호출됩니다. |
CDragListBox::CancelDrag | 끌기 작업이 취소된 경우 프레임워크에서 호출됩니다. |
CDragListBox::D ragging | 끌기 작업 중에 프레임워크에서 호출됩니다. |
CDragListBox::D rawInsert | 끌기 목록 상자의 삽입 안내선을 그립니다. |
CDragListBox::D ropped | 항목이 삭제된 후 프레임워크에서 호출됩니다. |
CDragListBox::ItemFromPt | 끌 항목의 좌표를 반환합니다. |
설명
이 기능이 있는 목록 상자를 사용하면 사용자에게 가장 유용한 방식으로 목록의 항목을 정렬할 수 있습니다. 기본적으로 목록 상자는 목록의 새 위치로 항목을 이동합니다. 그러나 개체를 CDragListBox
이동하는 대신 항목을 복사하도록 사용자 지정할 수 있습니다.
클래스와 연결된 목록 상자 컨트롤에는 CDragListBox
LBS_SORT 또는 LBS_MULTIPLESELECT 스타일이 없어야 합니다. 목록 상자 스타일에 대한 설명은 목록 상자 스타일을 참조 하세요.
애플리케이션의 기존 대화 상자에서 끌기 목록 상자를 사용하려면 대화 상자 편집기를 사용하여 대화 상자 서식 파일에 목록 상자 컨트롤을 추가한 다음 대화 상자 서식 파일의 목록 상자 컨트롤에 해당하는 멤버 변수(범주 Control
및 변수 형식 CDragListBox
)를 할당합니다.
멤버 변수에 컨트롤을 할당하는 방법에 대한 자세한 내용은 대화 상자 컨트롤의 멤버 변수 정의에 대한 바로 가기를 참조 하세요.
상속 계층 구조
CDragListBox
요구 사항
헤더: afxcmn.h
CDragListBox::BeginDrag
마우스 왼쪽 단추 누르기 등 끌기 작업을 시작할 수 있는 이벤트가 발생할 때 프레임워크에서 호출됩니다.
virtual BOOL BeginDrag(CPoint pt);
매개 변수
pt
끌 항목의 좌표를 포함하는 CPoint 개체입니다.
Return Value
끌기가 허용되는 경우 0이 아니고, 그렇지 않으면 0입니다.
설명
끌기 작업이 시작될 때 발생하는 작업을 제어하려면 이 함수를 재정의합니다. 기본 구현은 마우스를 캡처하고 사용자가 왼쪽 또는 오른쪽 마우스 단추를 클릭하거나 ESC를 누를 때까지 끌기 모드로 유지됩니다. 이때 끌기 작업이 취소됩니다.
CDragListBox::CancelDrag
끌기 작업이 취소된 경우 프레임워크에서 호출됩니다.
virtual void CancelDrag(CPoint pt);
매개 변수
pt
끌 항목의 좌표를 포함하는 CPoint 개체입니다.
설명
목록 상자 컨트롤에 대한 특수 처리를 처리하도록 이 함수를 재정의합니다.
CDragListBox::CDragListBox
CDragListBox
개체를 생성합니다.
CDragListBox();
CDragListBox::D ragging
개체 내에서 목록 상자 항목을 끌 때 프레임워크에서 CDragListBox
호출됩니다.
virtual UINT Dragging(CPoint pt);
매개 변수
pt
커서의 x 및 y 화면 좌표를 포함하는 CPoint 개체입니다.
Return Value
표시할 커서의 리소스 ID입니다. 가능한 값은 다음과 같습니다.
DL_COPYCURSOR 항목이 복사됨을 나타냅니다.
DL_MOVECURSOR 항목이 이동됨을 나타냅니다.
DL_STOPCURSOR 현재 삭제 대상이 허용되지 않음을 나타냅니다.
설명
기본 동작은 DL_MOVECURSOR 반환합니다. 추가 기능을 제공하려는 경우 이 함수를 재정의합니다.
CDragListBox::D rawInsert
표시된 인덱스가 있는 항목 앞에 삽입 안내선을 그리기 위해 프레임워크에서 호출됩니다.
virtual void DrawInsert(int nItem);
매개 변수
nItem
삽입 지점의 인덱스(0부터 시작하는 인덱스)입니다.
설명
값 - 1은 삽입 안내선의 지웁니다. 삽입 안내선의 모양이나 동작을 수정하려면 이 함수를 재정의합니다.
CDragListBox::D ropped
개체 내에서 CDragListBox
항목을 삭제할 때 프레임워크에서 호출됩니다.
virtual void Dropped(
int nSrcIndex,
CPoint pt);
매개 변수
nSrcIndex
삭제된 문자열의 인덱스(0부터 시작하는 인덱스)를 지정합니다.
pt
삭제 사이트의 좌표를 포함하는 CPoint 개체입니다.
설명
기본 동작은 목록 상자 항목과 해당 데이터를 새 위치에 복사한 다음 원래 항목을 삭제합니다. 목록 상자 항목의 복사본을 목록 내의 다른 위치로 끌 수 있도록 설정하는 것과 같은 기본 동작을 사용자 지정하도록 이 함수를 재정의합니다.
CDragListBox::ItemFromPt
pt에 있는 목록 상자 항목의 인덱스(0부터 시작하는 인덱스)를 검색하려면 이 함수를 호출합니다.
int ItemFromPt(
CPoint pt,
BOOL bAutoScroll = TRUE) const;
매개 변수
pt
목록 상자 내의 점 좌표를 포함하는 CPoint 개체입니다.
bAutoScroll
스크롤이 허용되는 경우 0이 아니고, 그렇지 않으면 0입니다.
Return Value
끌기 목록 상자 항목의 인덱스(0부터 시작하는 인덱스)입니다.