我在做smart    phone开发      
不能用MFC,对话框中用到List    Control      
不知道如何实现上面功能

解决方案 »

  1.   

    MFC不就是把Win32 API封了一遍么
    跟进去看看发了什么消息就知道了
      

  2.   

    对于listView控件,SDK一般对这个控件操作的话是用
    listview_开头的API
      

  3.   

    看看平台SDK文档中的VListVw: Virtual ListView Control Sample
      

  4.   

    我试了一下,但是只能显示文字
    图标显示不出来//listview
    HIMAGELIST  himlTurn;//1,himlTurn2,himlTurn3,himlTurn4;
    //set the image lists
    himlTurn = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 0, 4);
    if (himlTurn)// && himlTurn2 && himlTurn3 && himlTurn4)
    {
       HICON hIcon;
       //set up the image list
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_DIR));
       ImageList_AddIcon(himlTurn, hIcon);
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_LEFT));
       ImageList_AddIcon(himlTurn, hIcon);
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RIGHT));
       ImageList_AddIcon(himlTurn, hIcon);
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_END));
       ImageList_AddIcon(himlTurn, hIcon);    ListView_SetImageList(hCtl, himlTurn, LVSIL_NORMAL);
    // MessageBox(0,_T("init1"),_T("ll"),MB_OK);
    } hCtl=GetDlgItem(hDlg, IDC_LIST_TURN);
    if(hCtl!=NULL)
    {
    // Here we put the info on the Coulom headers
    // this is not data, only name of each header we like
                    memset(&lvColumn,0,sizeof(lvColumn)); // Reset Coluom
    lvColumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM; // Type of mask
    lvColumn.cx=0x28;                                // width between each coloum
    lvColumn.pszText=_T("Way");                     // First Header
      lvColumn.cx=0xd2; // Inserting Couloms as much as we want
    ListView_InsertColumn(hCtl,0,&lvColumn);
    // SendMessage(hCtl,LVM_INSERTCOLUMN,0,(LPARAM)&lvColumn); // Insert/Show the coloum

    //                memset(&lvItem,0,sizeof(lvItem)); // Reset Item Struct

    //  Setting properties Of Items: lvItem.mask=LVIF_TEXT | LVIF_IMAGE;   // Text Style
    lvItem.cchTextMax = 256; // Max size of test
                    
    lvItem.iItem=0;          // choose item  
    lvItem.iImage = 0;
    lvItem.pszText=_T("fff"); // Text to display (can be from a char variable) (Items)                
    ListView_InsertItem(hCtl, &lvItem);
      

  5.   

    上面的代码太乱了,改了一下
    himlTurn = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 4, 0);
    if (himlTurn)
    {
       HICON hIcon;
       //set up the image list
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_DIR));
       ImageList_AddIcon(himlTurn, hIcon);
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_LEFT));
       ImageList_AddIcon(himlTurn, hIcon);
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RIGHT));
       ImageList_AddIcon(himlTurn, hIcon);
       hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_END));
       ImageList_AddIcon(himlTurn, hIcon);
       ListView_SetImageList(hCtl, himlTurn, LVSIL_NORMAL);
    } hCtl=GetDlgItem(hDlg, IDC_LIST_TURN);
    if(hCtl!=NULL)
    {
                    memset(&lvColumn,0,sizeof(lvColumn)); 
    lvColumn.mask=LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM; 
    lvColumn.cx=0x28;                               
    lvColumn.pszText=_T("Way");                     
      lvColumn.cx=0xd2;
    // Inserting Couloms as much as we want
    ListView_InsertColumn(hCtl,0,&lvColumn);
    //  Setting properties Of Items:
    lvItem.mask=LVIF_TEXT | LVIF_IMAGE;    lvItem.cchTextMax = 256;                    lvItem.iItem=0;          
    lvItem.iImage = 0;
    lvItem.pszText=_T("fff"); 
                    
    ListView_InsertItem(hCtl, &lvItem);
    }