// ssxrclist .cpp #include "ssxrclist.h" ssxrclist::ssxrclist() { } ssxrclist::ssxrclist(HINSTANCE hInst) { createlist(hInst); } ssxrclist::~ssxrclist() { destroylist(); } void ssxrclist::createlist(HINSTANCE hInst) { list = CreateWindow("ListBox",NULL,WS_VSCROLL,0,0,0,0,0,0,hInst,0); ShowWindow(list, SW_HIDE); } void ssxrclist::createlistex(LPCSTR title,DWORD style,int x,int y,int cx, int cy,HWND parent,HINSTANCE hInst) { list = CreateWindow("ListBox",title,style,x,y,cx,cy,parent,0,hInst,0); } void ssxrclist::destroylist() { if(list != NULL) { DestroyWindow(list); } } void ssxrclist::getitem(int index, char* id) { SendMessage(list,LB_GETTEXT,index,(LPARAM)(LPCSTR)id); } int ssxrclist::finditem(char* id) { int len; len = getcount(); for(int i = 0; i < len; i++) { char buff[200]; if(strstr(buff,id)) { return i; } } return NULL; } HWND ssxrclist::gethwnd() { return list; } int ssxrclist::getcount() { return SendMessage(list,LB_GETCOUNT,0,0); } void ssxrclist::additem(char* item) { SendMessage(list,LB_ADDSTRING,strlen(item),(LPARAM)(LPCSTR)item); } void ssxrclist::removeitem(char* item) { int count = getcount(); for(int i = 0; i < count; i++) { char buff[300]; SendMessage(list,LB_GETTEXT,i,(LPARAM)(LPCSTR)buff); if(strstr(buff,item)) { int rmv = i; removeitem(rmv); break; } } } void ssxrclist::removeitem(int in) { SendMessage(list,LB_DELETESTRING,in,0); } void ssxrclist::clear() { SendMessage(list,LB_RESETCONTENT,0,0); } void ssxrclist::addlist(HWND hwnd) { int len; len = SendMessage(hwnd,LB_GETCOUNT,0,0); if(len) { for ( int i = 0; i < len; i++ ) { char buff[9000]; SendMessage(hwnd,LB_GETTEXT,i,(LPARAM)(LPCSTR)buff); SendMessage(list,LB_ADDSTRING,i,(LPARAM)(LPCSTR)buff); } } } void ssxrclist::dumplist(HWND hwnd) { int len; len = SendMessage(hwnd,LB_GETCOUNT,0,0); if(len) { for ( int i = 0; i < len; i++ ) { char buff[9000]; SendMessage(list,LB_GETTEXT,i,(LPARAM)(LPCSTR)buff); SendMessage(hwnd,LB_ADDSTRING,i,(LPARAM)(LPCSTR)buff); } } }