win32列表视图缩写文本

时间:2013-09-04 15:29:27

标签: c++ winapi listview user-interface text

我正在使用win32创建带有下载图标的列表视图,但是,文本缩写为大约19个字符(大约12字体,Segoe UI)。我已经包含了我正在使用的CreateWindow和项目创建代码。

任何建议都将受到赞赏。

HWND airlinelist = CreateWindow(WC_LISTVIEW,L"",WS_CHILD | LVS_LIST | WS_TABSTOP | WS_BORDER,18,104,323,74,hwnd,(HMENU)3,hinst,NULL);

                    LVITEM newi;
                    ZeroMemory(&newi,sizeof(LVITEM));                       
                    const wchar_t* n = L"Client Website Name, website.com"  
                    newi.pszText = newc;                            
                    newi.mask = LVIF_TEXT | LVIF_IMAGE;
                    newi.iImage = 0;                            
                    ListView_InsertItem(airlinelist,&newi); 

上面会创建一个带有图标的列表视图以及“客户网站Nam ...”的效果,尽管它只占据了列表视图宽度的一半。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用LVS_LIST模式,因为样式会显示在您的代码示例中。将项目添加到列表控件后,可以使用LVM_SETCOLUMNWIDTH消息调整列大小。您还可以使用ListView_SetColumnWidth宏。 E.g:

SendMessage(airlinelist, LVM_SETCOLUMNWIDTH, 0, 300);

这会将列设置为300像素宽。如果您实际使用LVS_REPORT模式,则需要单独设置每列的宽度。