定数 | 解説 |
---|---|
LVS_ALIGNLEFT | 大きいアイコン、小さいアイコン表示で項目が左寄せになる |
LVS_ALIGNTOP | 大きいアイコン、小さいアイコン表示で項目が上に寄せられる |
LVS_AUTOARRANGE | 大きいアイコン、小さいアイコン表示で自動的に整列する |
LVS_BUTTON | 大きいアイコン表示で、項目アイコンをボタン風にする |
LVS_EDITLABELS | テキストは編集可能である 親ウィンドウが LVN_ENDLABELEDIT 通知を処理しなければならない |
LVS_ICON | 大きいアイコン表示 |
LVS_LIST | 一覧表示 |
LVS_NOCOLUMNHEADER | 詳細表示で、列見出しが表示されない |
LVS_NOLABELWRAP | 大きいアイコン表示で項目テキストを1行に表示 |
LVS_NOSORTHEADER | 列見出しをクリックしてもアクションを実行しない |
LVS_OWNERDRAWFIXED | 詳細表示で、項目をオーナーが描画する 親ウィンドウは WM_DRAWITEM メッセージを受けるようになる |
LVS_REPORT | 詳細表示 最初の列が常に左寄せにされる |
LVS_SHAREIMAGELISTS | コントロールが破棄されても 関連付けられているイメージリストを破棄しない 複数のリストビューでイメージリストを共有する時に指定する |
LVS_SHOWSELALWAYS | フォーカスを失っても、常に選択を表示する |
LVS_SINGLESEL | 1度に1つの項目のみを選択できる |
LVS_SMALLICON | 小さいアイコン表示 |
LVS_SORTASCENDING | 項目テキストが昇順になるように、項目を整列する |
LVS_SORTDESCENDING | 項目テキストが降順になるように、項目を整列する |
typedef struct _LVCOLUMN { UINT mask; int fmt; int cx; LPTSTR pszText; int cchTextMax; int iSubItem; } LVCOLUMN, FAR *LPLVCOLUMN;mask には、有効な情報が含まれるメンバを表すフラグを指定します
定数 | 解説 |
---|---|
LVCF_FMT | fmt メンバが有効 |
LVCF_SUBITEM | iSubItem メンバが有効 |
LVCF_TEXT | pszTest メンバが有効 |
LVCF_WIDTH | cs メンバが有効 |
typedef struct _LVITEM { UINT mask; int iItem; int iSubItem; UINT state; UINT stateMask; LPTSTR pszText; int cchTextMax; int iImage; LPARAM lParam; } LVITEM, FAR *LPLVITEM;mask には、この構造体の使用するメンバを表すフラグを指定します
定数 | 解説 |
---|---|
LVIF_DI_SETITEM | LVN_GETDISPINFO 通知メッセージでのみ設定可能で システムが要求された項目情報を、格納し再度尋ねないことを表す |
LVIF_IMAGE | iImage メンバが有効である |
LVIF_PARAM | lParam メンバが有効である |
LVIF_STATE | state メンバが有効である |
LVIF_TEXT | pszText メンバが有効である |
定数 | 解説 |
---|---|
LVIS_CUT | 切り取りと貼り付け操作に対してマークされる |
LVIS_DRAPHILITED | 切り取りと貼り付け操作の対象として強調表示される |
LVIS_FOCUSED | フォーカスをもっている |
LVIS_OVERLAYMASK | オーバーレイイメージインデックスが含まれているかどうか判定する |
LVIS_SELECTED | 選択されている |
LVIS_STATEIMAGEMASK | 状態イメージが関連付けられているかどうか判定する |
#include <windows.h> #include <commctrl.h> #define TITLE TEXT("Kitty on your lap") LPCTSTR strItem[] = {TEXT("RENA") , TEXT("YUKI") , TEXT("MIMI")}; LRESULT CALLBACK WndProc(HWND hWnd , UINT msg , WPARAM wp , LPARAM lp) { LVCOLUMN col; LVITEM item = {0}; int iCount = 0; static HWND hList; switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_CREATE: InitCommonControls(); hList = CreateWindowEx(0 , WC_LISTVIEW , 0 , WS_CHILD | WS_VISIBLE | LVS_REPORT , 0 , 0 , 10 , 10 , hWnd , (HMENU)1 , ((LPCREATESTRUCT)lp)->hInstance , NULL); col.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH; col.fmt = LVCFMT_LEFT; col.cx = 100; col.pszText = TITLE; ListView_InsertColumn(hList , 0 , &col); item.mask = LVIF_TEXT; for ( ;iCount < 3 ; iCount++) { item.pszText = strItem[iCount]; item.iItem = iCount; ListView_InsertItem(hList , &item); } return 0; case WM_SIZE: MoveWindow(hList , 0 , 0 , LOWORD(lp) , HIWORD(lp) , FALSE); return 0; } return DefWindowProc(hWnd , msg , wp , lp); } int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { HWND hWnd; MSG msg; WNDCLASS winc; winc.style = CS_HREDRAW | CS_VREDRAW; winc.lpfnWndProc = WndProc; winc.cbClsExtra = winc.cbWndExtra = 0; winc.hInstance = hInstance; winc.hIcon = LoadIcon(NULL , IDI_APPLICATION); winc.hCursor = LoadCursor(NULL , IDC_ARROW); winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); winc.lpszMenuName = NULL; winc.lpszClassName = TEXT("KITTY"); if (!RegisterClass(&winc)) return -1; hWnd = CreateWindow( TEXT("KITTY") , TITLE , WS_OVERLAPPEDWINDOW | WS_VISIBLE , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , NULL , NULL , hInstance , NULL ); if (hWnd == NULL) return -1; while(GetMessage(&msg , NULL , 0 , 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; }
#include <windows.h> #include <commctrl.h> #define TITLE TEXT("Kitty on your lap") LPTSTR strItem[] = {TEXT("RENA") , TEXT("YUKI") , TEXT("MIMI")}; LPTSTR strAttr[] = { TEXT("口が悪くて手が早い、勝手気ままでまさに「猫」") , TEXT("思慮深く、清楚でけなげ") , TEXT("「ごしゅじんさまだ〜いすきっ!」と飛びついてきそうな甘えん坊") }; LRESULT CALLBACK WndProc(HWND hWnd , UINT msg , WPARAM wp , LPARAM lp) { LVCOLUMN col; LVITEM item = {0}; int iCount = 0; static HWND hList; switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_CREATE: InitCommonControls(); hList = CreateWindowEx(0 , WC_LISTVIEW , 0 , WS_CHILD | WS_VISIBLE | LVS_REPORT , 0 , 0 , 10 , 10 , hWnd , (HMENU)1 , ((LPCREATESTRUCT)lp)->hInstance , NULL); col.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; col.fmt = LVCFMT_LEFT; col.cx = 100; col.pszText = TEXT("Name"); col.iSubItem = 0; ListView_InsertColumn(hList , 0 , &col); col.iSubItem = 1; col.pszText = TEXT("Introduction"); ListView_InsertColumn(hList , 1 , &col); item.mask = LVIF_TEXT; for ( ;iCount < 3 ; iCount++) { item.pszText = strItem[iCount]; item.iItem = iCount; item.iSubItem = 0; ListView_InsertItem(hList , &item); item.pszText = strAttr[iCount]; item.iItem = iCount; item.iSubItem = 1; ListView_SetItem(hList , &item); } return 0; case WM_SIZE: MoveWindow(hList , 0 , 0 , LOWORD(lp) , HIWORD(lp) , FALSE); return 0; } return DefWindowProc(hWnd , msg , wp , lp); } int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { HWND hWnd; MSG msg; WNDCLASS winc; winc.style = CS_HREDRAW | CS_VREDRAW; winc.lpfnWndProc = WndProc; winc.cbClsExtra = winc.cbWndExtra = 0; winc.hInstance = hInstance; winc.hIcon = LoadIcon(NULL , IDI_APPLICATION); winc.hCursor = LoadCursor(NULL , IDC_ARROW); winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); winc.lpszMenuName = NULL; winc.lpszClassName = TEXT("KITTY"); if (!RegisterClass(&winc)) return -1; hWnd = CreateWindow( TEXT("KITTY") , TITLE , WS_OVERLAPPEDWINDOW | WS_VISIBLE , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , NULL , NULL , hInstance , NULL ); if (hWnd == NULL) return -1; while(GetMessage(&msg , NULL , 0 , 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; }
HIMAGELIST ListView_SetImageList( HWND hwnd , HIMAGELIST himl , int iImageList );hwnd には、リストビューのハンドルを指定します
定数 | 解説 |
---|---|
LVSIL_NORMAL | 大きいアイコン |
LVSIL_SMALL | 小さいアイコン |
LVSIL_STATE | 状態イメージ |
#define OEMRESOURCE #include <windows.h> #include <commctrl.h> #define TITLE TEXT("Kitty on your lap") LPTSTR strItem[] = {TEXT("RENA") , TEXT("YUKI") , TEXT("MIMI")}; LRESULT CALLBACK WndProc(HWND hWnd , UINT msg , WPARAM wp , LPARAM lp) { LVCOLUMN col; LVITEM item = {0}; HIMAGELIST hImg; int iCount = 0; static HWND hList; switch (msg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_CREATE: InitCommonControls(); hImg = ImageList_Create(16 , 16 , ILC_COLOR4 | ILC_MASK, 1 , 1); ImageList_AddIcon(hImg , LoadIcon(NULL , IDI_ASTERISK)); hList = CreateWindowEx(0 , WC_LISTVIEW , 0 , WS_CHILD | WS_VISIBLE | LVS_REPORT , 0 , 0 , 10 , 10 , hWnd , (HMENU)1 , ((LPCREATESTRUCT)lp)->hInstance , NULL); ListView_SetImageList(hList , hImg , LVSIL_SMALL); col.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH; col.fmt = LVCFMT_LEFT; col.cx = 100; col.pszText = TEXT("Name"); ListView_InsertColumn(hList , 0 , &col); item.mask = LVIF_TEXT | LVIF_IMAGE; item.iImage = 0; for ( ;iCount < 3 ; iCount++) { item.pszText = strItem[iCount]; item.iItem = iCount; ListView_InsertItem(hList , &item); } return 0; case WM_SIZE: MoveWindow(hList , 0 , 0 , LOWORD(lp) , HIWORD(lp) , FALSE); return 0; } return DefWindowProc(hWnd , msg , wp , lp); } int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { HWND hWnd; MSG msg; WNDCLASS winc; winc.style = CS_HREDRAW | CS_VREDRAW; winc.lpfnWndProc = WndProc; winc.cbClsExtra = winc.cbWndExtra = 0; winc.hInstance = hInstance; winc.hIcon = LoadIcon(NULL , IDI_APPLICATION); winc.hCursor = LoadCursor(NULL , IDC_ARROW); winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); winc.lpszMenuName = NULL; winc.lpszClassName = TEXT("KITTY"); if (!RegisterClass(&winc)) return -1; hWnd = CreateWindow( TEXT("KITTY") , TITLE , WS_OVERLAPPEDWINDOW | WS_VISIBLE , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , CW_USEDEFAULT , NULL , NULL , hInstance , NULL ); if (hWnd == NULL) return -1; while(GetMessage(&msg , NULL , 0 , 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; }
HIMAGELIST ListView_SetImageList( HWND hwnd , HIMAGELIST himl , int iImageList );リストビューにイメージリストを割り当てます
定数 | 解説 |
---|---|
LVSIL_NORMAL | 大きいアイコン |
LVSIL_SMALL | 小さいアイコン |
LVSIL_STATE | 状態イメージ |