#include "stdafx.h"
#include "CLstViewControl.h"
HWND CLstViewControl::CreateListView (HWND hWnd,HINSTANCE hInstance){
if ( !hWnd )
{
ListViewhWnd = CreateWindowEx (LVS_EX_FULLROWSELECT ,"SysListView32",NULL, WS_CHILD | LVS_REPORT | WS_VISIBLE | WS_BORDER ,0,0,280,200,hWnd,(HMENU)1004,hInstance,NULL);
SendMessage(ListViewhWnd,LVM_SETEXTENDEDLISTVIEWSTYLE,0, LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
return ListViewhWnd;
}
else
{
ListView_SetExtendedListViewStyle (hWnd, LVS_EX_FLATSB | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
ListViewhWnd = hWnd;
return hWnd;
}
}
int CLstViewControl::InsertColumn (char* Title, int Index, int Width){
LVCOLUMN LvColumn;
memset(&LvColumn,0,sizeof(LvColumn));
LvColumn.mask = LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;
LvColumn.pszText=Title;
LvColumn.cx=Width;
SendMessage(ListViewhWnd,LVM_INSERTCOLUMN,Index,(LPARAM)&LvColumn);
return 1;
}
int CLstViewControl::InsertColumn (int Title, int Index, int Width, int AriphmeticSystem )
{
char NewTitle [25];
itoa ( Title, NewTitle, AriphmeticSystem );
strupr ( NewTitle );
int i = (int) strlen ( NewTitle );
memcpy ( NewTitle + (8-i), NewTitle, i );
NewTitle [8] = '\0';
memset ( NewTitle, '0', 8-i);
return InsertColumn ( NewTitle, Index, Width );
}
int CLstViewControl::InsertItem (char* Title, int Index){
LVITEM LvItem;
memset(&LvItem,0,sizeof(LvItem));
LvItem.mask=LVIF_TEXT; // Text Style
LvItem.cchTextMax = 256; // Max size of test
LvItem.iItem=Index; // choose item
LvItem.iSubItem=0; // Put in first coluom
LvItem.pszText=Title; // Text to display (can be from a char variable) (Items)
SendMessage(ListViewhWnd,LVM_INSERTITEM,0,(LPARAM)&LvItem); // Send to the Listview
return 1;
}
int CLstViewControl::InsertItem (int Title, int Index, int AriphmeticSystem )
{
char NewTitle [25];
itoa ( Title, NewTitle, AriphmeticSystem );
strupr ( NewTitle );
int i = (int) strlen ( NewTitle );
memcpy ( NewTitle + (8-i), NewTitle, i );
NewTitle [8] = '\0';
memset ( NewTitle, '0', 8-i);
return InsertItem ( NewTitle, Index );
}
int CLstViewControl::InsertSubItem (char* Title, int Index, int SubIndex){
memset(&LvItem,0,sizeof(LvItem));
int RetVal;
LvItem.mask=LVIF_TEXT; // Text Style
LvItem.cchTextMax = 256; // Max size of test
LvItem.iItem=Index;
LvItem.iSubItem=SubIndex;
LvItem.pszText=Title;
RetVal= (int) SendMessage(ListViewhWnd,LVM_SETITEM,0,(LPARAM)&LvItem);
return 1;
}
int CLstViewControl::InsertSubItem (int Title, int Index, int SubIndex, int AriphmeticSystem )
{
char NewTitle [25];
itoa ( Title, NewTitle, AriphmeticSystem );
strupr ( NewTitle );
int i = (int) strlen ( NewTitle );
memcpy ( NewTitle + (8-i), NewTitle, i );
NewTitle [8] = '\0';
memset ( NewTitle, '0', 8-i);
return InsertSubItem ( NewTitle, Index, SubIndex );
}
int CLstViewControl::GetSelected (){
return (int) SendMessage(ListViewhWnd,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);
}
CLstViewControl::CLstViewControl(){
}
CLstViewControl::~CLstViewControl(){
}
int CLstViewControl::GetNumberOfItems (){
return (int) SendMessage(ListViewhWnd,LVM_GETITEMCOUNT,-1,LVSICF_NOINVALIDATEALL);
}
int CLstViewControl::DeleteAllItems (){
SendMessage(ListViewhWnd,LVM_DELETEALLITEMS,0,0);
return 1;
}
int CLstViewControl::DeleteItem (int Number){
return (int)SendMessage (ListViewhWnd,LVM_DELETEITEM,Number,NULL);
}
int CLstViewControl::SetItemText (int Number,char* Text){
memset(&LvItem,0,sizeof(LvItem));
int RetVal;
LvItem.mask=LVIF_TEXT; // Text Style
LvItem.cchTextMax = 256; // Max size of test
LvItem.iItem=Number;
LvItem.iSubItem=0;
LvItem.pszText=Text;
return RetVal= (int) SendMessage(ListViewhWnd,LVM_SETITEM,0,(LPARAM)&LvItem);
}
char* CLstViewControl::GetItemText (int Number){
ListView_GetItemText (ListViewhWnd,LVM_GETITEMTEXT,0,Txt,50);
return Txt;
}
int CLstViewControl::SetSelected (int Number){
ListView_SetItemState(ListViewhWnd,Number,LVIS_SELECTED | LVIS_FOCUSED,LVIS_SELECTED);
return 1;
}