16,471
社区成员
发帖
与我相关
我的任务
分享
BOOL KScreenshotWindow::_CreateButtomListWindow()
{
INITCOMMONCONTROLSEX iCex;
// Ensure that the common control DLL is loaded.
iCex.dwSize = sizeof(INITCOMMONCONTROLSEX);
iCex.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&iCex);
// Create the list-view window in report view with label
// editing enabled.
m_hButtomListView =
::CreateWindow (
WC_LISTVIEW, /// ListBox,
L"MyListButtom",
WS_CHILD| ///WS_VISIBLE |
LVS_ALIGNLEFT |
LVS_REPORT ///| LVS_ALIGNTOP | LVS_EDITLABELS |
/// LVS_ICON |
/// LVS_NOCOLUMNHEADER | LVS_NOSCROLL
,
/// LVS_LIST | LVS_NOLABELWRAP
0,
0,
1000, /// button加起来的长度
100, /// button的高度
m_hWindows,
NULL,
m_hInst,
NULL
);
if (NULL == m_hButtomListView)
{
return FALSE;
}
LV_COLUMN lvcColumn;
lvcColumn.mask = LVCF_TEXT | LVCF_WIDTH; /// LVCF_IMAGE
lvcColumn.mask |= LVCF_FMT;
lvcColumn.fmt = LVCFMT_LEFT;
lvcColumn.cx = 50; /// 单个图标的像素
lvcColumn.pszText = L"功能";
SendMessage(m_hButtomListView, LVM_INSERTCOLUMN, nColumnFunId, (LPARAM)&lvcColumn);
LVITEM lvcItem;
lvcItem.mask = LVCF_TEXT; /// LVCF_IMAGE
lvcItem.iItem = 0;
lvcItem.iSubItem = 0;
lvcItem.lParam = nColumnFunId;
LONG nRes = 110;
lvcItem.pszText = L"square";
nRes = SendMessage(m_hButtomListView, LVM_INSERTITEM, 0, (LPARAM)&lvcItem);
/// 这里断点nRes返回的是0,插入成功,但是却不能显示
lvcItem.pszText = L"circle";
SendMessage(m_hButtomListView, LVM_INSERTITEM, 0, (LPARAM)&lvcItem);
lvcItem.pszText = L"finish";
SendMessage(m_hButtomListView, LVM_INSERTITEM, 0, (LPARAM)&lvcItem);
ShowWindow(m_hButtomListView, SW_SHOW);
UpdateWindow(m_hButtomListView);
return TRUE;
}