first_insert_col = FALSE; first_get_row = FALSE; lvSubitemcount = 0; SubRowcount = 0; }
/*-------------------------------------------------------------------------------*/ //函数名:~ListView
//函数作用:删除对象前的操作 //函数参数:无 //返回值:无
ListView :: ~ListView() { }
/*-------------------------------------------------------------------------------*/ //函数名:SethList
//函数作用:设置ListView对象句柄 //函数参数:LV_num,ListView对象id; //返回值:无
void ListView :: SethList(int LV_num) { hList = GetDlgItem(hwnd,LV_num); if(hList == NULL) {
MessageBox(NULL,TEXT(\无法获取控件\
} }
/*-------------------------------------------------------------------------------*/ //函数名:SetMainWinhwnd
//函数作用:设置ListVew所属窗口句柄 //函数参数:main_hwnd,所属窗口的句柄值; //返回值:无
void ListView :: SetMainWinhwnd(HWND main_hwnd) { if(hwnd != NULL) { MessageBox(NULL,TEXT(\已经获取主窗口\
return ; } hwnd = main_hwnd; }
/*-------------------------------------------------------------------------------*/
句柄
句柄
//函数名:InsertRowItem
//函数作用:插入行的内容。
//函数参数:contain,对应栏的内容; //返回值:无
void ListView :: InsertRowItem(char *contain) { if(hList == NULL) { MessageBox(NULL,TEXT(\无\
return ; }
lvi.iSubItem = lvSubitemcount;//列号 lvi.pszText = contain;
if(first_get_row == FALSE) {
法
获
取
控
件
句
柄
lvi.iItem = SendMessage(hList,LVM_GETITEMCOUNT,NULL,NULL);//行号 lvi.mask = LVIF_TEXT; ListView_InsertItem(hList,&lvi); first_get_row = TRUE; } else { ListView_SetItem(hList,&lvi); } lvSubitemcount++; }
/*-------------------------------------------------------------------------------*/ //函数名:GetItem
//函数作用:获取指定栏的内容
//函数参数:item,接收内容的缓冲区;size,缓冲区大小;Colnum,指定栏的列号;Row,指定栏的行号;
//返回值:无
void ListView :: GetItem(char *item,int size,int Colnum,int Row) { if(hList == NULL) { MessageBox(NULL,TEXT(\无法获取控件句柄\
return ; } lvi.mask = TVIF_TEXT; lvi.pszText = item; lvi.cchTextMax = size;
lvi.iItem = Row;//行数 lvi.iSubItem = Colnum;//列数 SendMessage(hList,LVM_GETITEM,0,(LPARAM)&lvi); return ; }
/*-------------------------------------------------------------------------------*/ //函数名:GetRowCount
//函数作用:获取ListView中所有行的总数 //函数参数:无 //返回值:无
int ListView :: GetRowCount() { if(hList == NULL) { MessageBox(NULL,TEXT(\无法获取控\
return 0; } return SendMessage(hList,LVM_GETITEMCOUNT,0,0); }
/*-------------------------------------------------------------------------------*/ //函数名:GetColumnCount
//函数作用:获取ListView中所有列的列数 //函数参数:无
//返回值:返回所有列的总数值 int ListView :: GetColumnCount() { if(hList == NULL) { MessageBox(NULL,TEXT(\无法获取控\
return 0; } HWND temp = ListView_GetHeader(hList); return SendMessage(temp,HDM_GETITEMCOUNT,0,0); }
/*-------------------------------------------------------------------------------*/ //函数名:SetFocus
//函数作用:设置指定行为当前的焦点 //函数参数:Rownum,指定行的行号; //返回值:无
void ListView :: SetFocus(int Rownum) { if(hList == NULL)
件句件句柄
柄
{
MessageBox(NULL,TEXT(\无法获取空间句柄\设置选项|LVIS_FOCUSED设置焦点|LVIS_DROPHILITED设置高亮
return ; } ListView_SetItemState(hList,Rownum,LVIS_SELECTED|LVIS_DROPHILITED,LVIS_SELECTED|LVIS_DROPHILITED);
}
/*-------------------------------------------------------------------------------*/ //函数名:GetCurIndex
//函数作用:获取当前被选中的行的索引 //函数参数:无
//返回值:选中行的索引 int ListView :: GetCurIndex() { if(hList == NULL) { MessageBox(NULL,TEXT(\无法获取空间句柄\设置选项|LVIS_FOCUSED设置焦点|LVIS_DROPHILITED设置高亮
return -1; } return SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED); }
/*-------------------------------------------------------------------------------*/ //函数名:SetItem
//函数作用:修改指定栏的内容
//函数参数:contain,修改后的内容缓冲区;Col,指定栏的列号;Row,指定栏的行号; //返回值:无
void ListView :: SetItem(char *contain,int Col,int Row) { if(hList == NULL) { MessageBox(hwnd,TEXT(\无法获取控件句柄!\提示\
return ; } lvi.mask = TVIF_TEXT; lvi.pszText = contain; lvi.cchTextMax = sizeof(contain)/sizeof(char); lvi.iItem = Row;//行数 lvi.iSubItem = Col;//列数 ListView_SetItem(hList,&lvi);
}
2. 添加歌词歌曲信息:WinControl #include \#include \extern ListView lv;
extern char href[100][1000]; extern int flag;
WinControl :: WinControl() { main_hwnd = NULL; LRC_hwnd = NULL; }
WinControl :: ~WinControl() { }
void WinControl :: WinInit() { if(main_hwnd == NULL) { return ; } LRC_hwnd = CreateDialog((HINSTANCE)GetWindowLong(main_hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_LRC),main_hwnd,(DLGPROC)Sub_Proc); SendMessage(GetDlgItem(main_hwnd,IDC_COMBO1),CB_ADDSTRING,0,(LPARAM)TEXT(\歌词服务器(电信)\ SendMessage(GetDlgItem(main_hwnd,IDC_COMBO1),CB_ADDSTRING,0,(LPARAM)TEXT(\歌词服务器(网通)\ lv.InsertColumnItem(\歌曲名\ lv.InsertColumnItem(\歌手名\ lv.InsertColumnItem(\歌词ID\}
void WinControl :: SetMainHwnd(HWND hwnd) { main_hwnd = hwnd; }
void WinControl :: Action_Search()