'listview'에 해당되는 글 2건

  1. 2010.04.25 윈폼-리스트뷰에서 간단히 사용하기
  2. 2010.02.03 리스트뷰

           
             리스트뷰에 먼저 헤더를 삽입한다.
            처음에 "" 이렇게 빈 헤더를 넣었는데 이유는 모르겠으나 subitem을 넣을때 
            자꾸 첫번재 열 다음부터 값이들어가서 임의대로 ""로 해놓고 길이도 1로해놨다.
            이상하게 2번째 열부터 값이들어간다.

            listView1.Columns.Add("", 1, HorizontalAlignment.Left);
            listView1.Columns.Add("싱크시작", 100, HorizontalAlignment.Left);
            listView1.Columns.Add("싱크종료", 100, HorizontalAlignment.Left);
            listView1.Columns.Add("자막내용", 200, HorizontalAlignment.Left);

            listView1.View = View.Details;

            listView1.FullRowSelect = true;
            listView1.GridLines = true;


다음에 실제 값들을 넣는다.
            ListViewItem item;

            item.SubItems.Add(temp);
           
            item.SubItems.Add(temp2);

            item.SubItems.Add(temp3);                
                   
            listView1.Items.AddRange(new ListViewItem[] { item});

이렇게 값이들어간다.




마지막으로 값을 가져오고싶을때는 아래와같이 가져 올수 있다.

string name = listView1.Items[0].SubItems[1].Text;


'.NET > C#' 카테고리의 다른 글

윈폼-리스트뷰에서 간단히 사용하기  (0) 2010.04.25
윈도우 서비스 만들기  (0) 2010.04.04
ReadLine, Read, ReadKey  (0) 2010.04.03
어셈블리 동적 로딩  (0) 2010.03.31
Const Vs Readonly  (0) 2010.03.29
Sealed  (0) 2010.03.29
Posted by 아몰라

댓글을 달아 주세요

리스트뷰 -  ListBox가 발전된 형태로  좀 더 깔끔하고 다양한 기능을 사용할 수 있다.




리스트뷰 함수정리

ListView_GetItemCount()  :  등록된 항목의 개수

ListView_InsertItem()  :  새 항목 등록

ListView_SetItem()  :  항목의 정보를 변경(이미지 등)

ListView_SetItemText()  :  항목의 문자열을 변경

ListView_DeleteItem()  :  지정한 항목을 삭제

ListView_DeleteAllItems()  :  전체 항목을 삭제

ListView_GetItemText()  :  지정한 항목의 문자열을 얻어옴

ListView_GetNextItem()  :  옵션에 해당하는 항목의 인덱스 반환

ListView_FindItem()  :  제시한 조건과 일치하는 항목의 인덱스 반환

ListView_SetItemState()  :  지정한 항목의 상태 변경(포커스 등)





LVCOLUMN 구조체  -  LVCOLUMN 구조체에 헤더의 정보를 채운 뒤 LVM_INSERTCOLUMN 메시지 전송

Typedef struct_LVCOLUMN{
UINT mask;  :사용될 멤버 값 설정
int fmt;  :문자열의 정렬방법과 이미지 사용여부
int cx;  :헤더의 폭
LPTSTR pszText;  :보여질 문자열
int cchTextMax;  :문자열의 크기
int iSubItem;  :연결될 항목
#if(_WIN32_IE>=0x0300)  :IE의 버전(구 버전 이미지 사용불가)
int iImage;  :보여질 이미지
int iOrder;  :헤더의 순서
#endif
}LVCOLUMN,FAR*LPLVCOLUMN;



LVITEM 구조체 -  LVITEM 구조체에 항 정보를 채운 뒤 LVM_INSERTITEM  메시지 전송

Typedef struct_LVITEM{
UINT mask;  :사용될 멤버 값 설정
int iItem;  :항목의 Index설정
int iSubItem;  :항목의 Colum Index설정
UINT state;  :항목의 상태(focus, 선택 등)
UINT stateMask;  :상태를 설정
LPTSTR pszText;  :문자열(실제 내용)
int cchTextMax;  :문자열 길이
int iImage;  :왼쪽에 보여질 이미지의 인덱스
LPARAM lParam;  :항목의 추가 저장공간
#if(_WIN32_IE>=0x0300)  : IE의 버전(구 버전 들여쓰기 사용불가)
int iIndent;  :들여쓰기
#endif
}LVCOLUMN,FAR*LPLVCOLUMN;


 
LVFINDINFO 구조체 - LVFINDINFO 구조체에 검색할 정보를 채운 뒤 LVM_FINDITEM 메시지 전송

typedef struct tagLVFINDINFOW {
UINT flags;  :
검색 형태를 지정하는 옵션
LPCWSTR psz;  :검색할 문자열
LPARAM lParam;  :검색할 32bit Data
POINT pt;  :검색할 좌표값
UINT vkDirection;  :검색할 방향
} LVFINDINFOW, FAR* LPFINDINFOW;




#include <windows.h>
#include <commctrl.h>
#define IDC_LISTVIEW 150
#define LVIF_TEXT 151


LVCOLUMN COL; //열 구조체
LVITEM LI;          //항목 구조체
HWND hList;


void OnInitCOL(HWND hWnd)
{
 hList = CreateWindow(WC_LISTVIEW,NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | LVS_REPORT, 150,18,240,60,hWnd,(HMENU)IDC_LISTVIEW,0,0);
 ListView_SetExtendedListViewStyle(hList,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//리스트뷰 스타일 초기화

 COL.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
 COL.fmt = LVCFMT_LEFT;
 
 COL.cx=80;
 COL.pszText="가";   
 COL.iSubItem=0;
 ListView_InsertColumn(hList,0,&COL);   

//첫번째 : 해당 리스트 핸들
//두번째 : 몇번째 열인지
//세번째 : 해당 열의 초기화상태
 
 COL.cx=80;
 COL.pszText="나";   
 COL.iSubItem=1;
 ListView_InsertColumn(hList,1,&COL);
 
 COL.cx=80;
 COL.pszText="다";  
 COL.iSubItem=2;
 ListView_InsertColumn(hList,2,&COL);
}


void OnInitITEM()
{
 LI.mask = LVIF_TEXT;
 LI.iItem = 1;         //행 (전체 화면 - 캡션포함)
 LI.iSubItem = 0;    //열
 LI.pszText = "1";  //문자열 값
 ListView_InsertItem(hList, &LI);
//초기화된 항목구조체 정보를 토대로 해당리스트에 삽입 

 ListView_SetItemText(hList, 0, 1, "2"); 
//첫번째: 해당 리스트 핸들
//두번째 : 행 (캡션 미 포함)
//세번째 : 열
//네번째 : 값
 ListView_SetItemText(hList, 0, 2, "3");
 
  
 LI.iItem = 2;
 LI.pszText = "4";
 ListView_InsertItem(hList, &LI);

 ListView_SetItemText(hList, 1, 1, "5");
 ListView_SetItemText(hList, 1, 2, "6");
 
 LI.iItem = 3;
 LI.pszText = "7";
 ListView_InsertItem(hList, &LI);

 ListView_SetItemText(hList, 2, 1, "8");
 ListView_SetItemText(hList, 2, 2, "9");
}



결과



'API & MFC > API & 시스템프로그래밍' 카테고리의 다른 글

ATOM  (0) 2010.02.09
간단한 DLL 예제  (1) 2010.02.03
리스트뷰  (0) 2010.02.03
WM_USER And WM_APP  (0) 2010.02.02
레지스트리  (0) 2010.02.02
o/s의 role  (0) 2010.01.28
Posted by 아몰라
TAG API, listview

댓글을 달아 주세요

이전버튼 1 이전버튼