有没大虾知道如何用VC++ WIN32api做多列列表框的,不用MFC,做了后如何去调用(使用SENDMESSAGE调用)

来源:百度知道 编辑:UC知道 时间:2024/05/29 23:13:45
有没大虾知道如何用VC++ WIN32api做多列列表框的,不用MFC,做了后如何去调用(使用消息调用)
非常感谢”真诚到永远”,不过确实有点复杂,我现在想用WIN32调用list contral 控件进行,将属性框内style属性改为report可以得到多列列表框,但是无法进行调用,MFC有相关的调用办法,api不知道如何调用,请高手再指点一二.

给你现成的代码参考下吧,自己写的:下面的代码大部分来自于MSDN,虽然没有显式地SendMessage调用,取而代之的是宏调用,但宏调用的根本还是SendMessage
HWND MyCreateListWindow(HWND hParent,HINSTANCE hInstance)//这个函数是用来创建一个报表样式的列表,也就是多列的
{
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&icex);

HWND hWndListView = CreateWindow(WC_LISTVIEWA, "",
WS_CHILD|LVS_REPORT|WS_VISIBLE|LVS_SHOWSELALWAYS|LVS_SINGLESEL,
0, 0, 0,0,
hParent, 0, hInstance, NULL);
SendMessage(hWndListView,LVM_SETEXTENDEDLISTVIEWSTYLE,0,(LPARAM)LVS_EX_FULLROWSELECT);
int index=ListView_GetItemCount(hWndListView);

return hWndListView;
}

BOOL InitListViewColumns(HWND hWndListView) //初始化这个列表,添加四个列
{
RECT rect;
GetWindowRect(hWndListView,&rect);
int nWidth=rect.right-rect.left;

char szColumns[6][32]={"操作", "数据(ASCII)", "源IP:端口",