win32 sdk에서 ListView 목록 컨트롤 사용
만약 호출에 링크 오류가 발생하면, 이 함수를 가진 라이브러리 파일을 연결하지 않았음을 의미합니다.해당 헤더와 라이브러리 DLL은 각각 #include
다음은CreateWindow 방법이나CreateWindowEx 방법을 이용하여ListView 컨트롤을 만들고 필요한 스타일을 설정해야 한다(LVS REPORT | LVS SHOWSELALWAYS 등).
ListView에서 가장 흔히 볼 수 있는 동작은 삽입항과 열입니다. 여기에 두 개의 구조체가 필요합니다: LVITEM과 LVCOLUMN
두 구조체 정의는 다음과 같습니다.
typedef struct _LVITEM {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
#if (_WIN32_IE >= 0x0300)
int iIndent;
#endif
#if (_WIN32_IE >= 0x560)
int iGroupId;
UINT cColumns; // tile view columns
PUINT puColumns;
#endif
typedef struct _LVCOLUMN {
UINT mask;
int fmt;
int cx;
LPTSTR pszText;
int cchTextMax;
int iSubItem;
#if (_WIN32_IE >= 0x0300)
int iImage;
int iOrder;
#endif
} LVCOLUMN, *LPLVCOLUMN;
} LVITEM, *LPLVITEM;
이 두 구조체가 있으면, 우리는 SendMessage를 이용하여ListView 컨트롤에 메시지와 열을 추가할 수 있다.우리는 각각 아래 두 개의 메시지를 통해 항목과 열을 추가합니다.SendMessage(hButton, LVM_INSERTITEM, 0, (LPARAM)&item); SendMessage(hButton, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn); LVM_INSERTITEM은 추가 항목 LVM을 나타냅니다.INSERTCOLUMN은 추가 열을 나타냅니다.
기타 일부 조작은 msdn을 보면서 배울 수 있습니다.
//
LV_COLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_WIDTH;
for(i = 0 ; i < 5 ; i ++)
{
lvc.cx = 50 ;
lvc.pszText = _T("test") ;
ListView_InsertColumn(ListView , i , &lvc );
}
//
LVITEM lvitem;
lvitem.mask=LVIF_TEXT;
lvitem.cchTextMax=MAX_PATH;
lvitem.iSubItem=0;
lvitem.pszText = TEXT("");
lvitem.iItem=0;// , 0
ListView_InsertItem(Detail_List,&lvitem);
for(i = 0 ;i < 5 ;i ++)
ListView_SetItemText(ListView,lvitem.iItem,i,TEXT(_T("test"));
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flutter의 ListTile에서 높이를 지정하면 레이아웃이 무너지는 문제현재 업무로 1개월 반 정도 Flutter를 사용하고 있습니다. 아주 좋은 팀으로, 최근에는 Flutter 자체에도 열중해 왔습니다. title, subtitle, leading, trailing 등을 설정하는 것만...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.