https://msdn.microsoft.com/ko-kr/library/hfshke78.aspx
http://www.tipssoft.com/bulletin/board.php?bo_table=FAQ&wr_id=1016
[VITEM 에 대한 설명]
http://crowback.tistory.com/142
[SetExtendedStyle에 대한 설명_MSDN]
https://msdn.microsoft.com/library/windows/desktop/bb774732
[Only LVS_REPORT style]
LVS_EX_GRIDLINES : 항목 주변에 라인 생성
LVS_EX_FULLROWSELECT : 항목을 선택했을 경우, 그 행의 라인이 모두 활성화 표시 됨
LVS_EX_CHECKBOXES : 0번 항목 앞에 Check Box 생성
LVS_EX_HEADERDRAGDROP : 컬럼 항목의 순서를 드래그 & 드랍하며 변경할 수 있음
LVS_EX_SUBITEMIMAGES : ?
[ List Control의 Item 선택 시, Event 처리 방법 ]
void CviewSampleDlg::OnNMClickListOld(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast <LPNMITEMACTIVATE>(pNMHDR); int index = pNMItemActivate->iItem; // 클릭한 아이템의 인덱스 얻어옴 if (index >= 0 && index < m_ListOld.GetItemCount()) // 표시된 아이템들중에 클릭시 아래 코드 실행 { // do somthing } *pResult = 0; } :: 행 클릭 시, 인덱스 값 가져오기 |
리스트 컨트롤에서 행을 클릭 하면 값을 반환하는 이벤트를 할 수 있다.
혹은 행 클릭시 이벤트를 수행하고 싶다면 아래의 순서 중 처음 몇가지 방법만 수행하면된다
1. 리스트컨트롤을 클릭하고 이벤트 버튼(번개아이콘)을 눌러 NM_CLICK 이라는 찾는다.
2. 오른쪽을 클릭하면 이벤트 이름이 있고 선택하면 .cpp에 아래와 같은 이벤트 함수가 추가된다void CDataDlg::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
*pResult = 0;
}
3. 클릭 이벤트 함수 안에 아래의 소스를 넣는다
// 행 클릭시 행 넘버값 받아오기
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
int idx = pNMListView -> iItem;
// 선택된 아이템값의 아이템을 (0,1 ... n 번째 인덱스) 한개 가져온다.
CString sIndexValue;
sIndexValue = m_cListCtrl.GetItemText(idx, 1);
[ List Control 선택 관련 ]
http://istudyhard.tistory.com/260
// 다중 선택시
void GetIndex() |
// 단일 선택
int GetIndex() |
// 다중선택한거 골라서 삭제
int nItem; pos = m_ctrlList.GetFirstSelectedItemPosition(); |
'[배움] > MFC' 카테고리의 다른 글
Visual Studio 기본제공 아이콘 (0) | 2016.07.26 |
---|---|
Message Box (0) | 2016.06.22 |
버튼 이미지 넣기 (0) | 2016.05.09 |
[MFC] 각 클래스의 객체 포인터 얻어오기 [ 펌 ] (0) | 2016.04.19 |
Graphics 클래스 (0) | 2016.04.12 |