谁有用api函数写的 列表控件 的代码?我不要用类实现的,
我要用api函数写的 列表控件 的代码!谢谢了

解决方案 »

  1.   

    直接用CreateWindow 就可以了吧。
      

  2.   

     SendDlgItemMessage  发送 LB_ADDSTRING来添加选项   发送
      

  3.   

    HWND CreateListView(HINSTANCE hInstance, HWND hwndParent)
    {
    DWORD       dwStyle;
    HWND        hwndListView;
    BOOL        bSuccess = TRUE;dwStyle =   WS_TABSTOP | WS_CHILD | WS_BORDER | WS_VISIBLE|LVS_REPORT;
    // |LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT;
    // LVS_AUTOARRANGE | LVS_OWNERDATA;
                
    hwndListView = CreateWindowEx(   WS_EX_WINDOWEDGE,//WS_EX_CLIENTEDGE,// ex style
                                     WC_LISTVIEW, // class name defined in commctrl.h
                                     NULL,                      // window text
                                     dwStyle,                   // style
                                     0,                         // x position
                                     120,                       // y position
                                     200,                       // width
                                     200,                       // height
                                     hwndParent,                // parent
                                     (HMENU)IDC_LISTVIEW,       // ID
                                     (HINSTANCE)GetWindowLong(hwndParent, GWL_HINSTANCE), // instance
                                     NULL);                     // no extra data if(hwndListView)
    {
    //SetExtendedStyle((hwndListView,LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); 
    InitListView(hwndListView);
    // 
    LVITEM lvi;
    ZeroMemory(&lvi, sizeof(lvi));
    lvi.mask=LVIF_TEXT;//|LVIF_IMAGE; 
    lvi.cchTextMax=40;
    lvi.iSubItem=0;
    lvi.pszText="MainItem";
    lvi.iItem=0; int now=ListView_InsertItem(hwndListView,&lvi); //
    ListView_SetItemText(hwndListView,now,1,"Column 1"); 
    ListView_SetItemText(hwndListView,now,2,"Column 2"); 
    ListView_SetItemText(hwndListView,now,3,"Column 3"); 
    ListView_SetItemText(hwndListView,now,4,"Column 4"); 
    return hwndListView;
    }
    else
    {
    return NULL;
    }
    }//
    //
    BOOL InitListView(HWND hwndListView)
    {
    LV_COLUMN   lvColumn;
    int         i;
    TCHAR       szString[5][20] = {  TEXT("Main Column"), 
                                     TEXT("Column 1"), 
                                     TEXT("Column 2"), 
                                     TEXT("Column 3"), 
                                     TEXT("Column 4")};//initialize the columns
    lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
    lvColumn.fmt = LVCFMT_LEFT;
    lvColumn.cx = 80;
    for(i = 0; i < 5; i++)
    {
    lvColumn.pszText = szString[i];
    SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)i, (LPARAM)&lvColumn);
    }
    return TRUE;
    }
      

  4.   

    是在createdialog()创建的对话筐中
    添加 列表控件。
      

  5.   

    在createdialog()创建的对话筐中:
    HWND hLV=CreateListView(hInstance,hwndParent);