muchas gracias por la respuesta
Se me olvidó especificar que estoy usando Win32 Api a codigo limpio:
LvItem.mask=LVIF_TEXT; // Text Style
LvItem.cchTextMax = 256; // Max size of test
LvItem.iItem=0; // choose item
LvItem.iSubItem=0; // Put in first coluom
LvItem.mask=LvItem.mask+LVIF_IMAGE;
LvItem.iItem=e++; // choose item
LvItem.iImage=a->Tipo; //imagen
LvItem.iSubItem=0; // Put in first coluom
sprintf(string,"%s",a->NombreObra);
LvItem.pszText=string; // Text to display (can be from a char variable) (Items)
SendMessage(AlarmList,LVM_INSERTITEM,c,(LPARAM)&LvItem);
InvalidateRect(Alerta,NULL,true);
ShowWindow(Alerta,SW_SHOW);
UpdateWindow(Alerta);
Con lo que no uso Clistview o cosas asi.
Actualmente, mas o menos he conseguido rodear el problema, aunque ahora mismo se me esta torciendo la seleccion de los objetos.
En fin, seguire informando.
Muchas gracias por la ayuda no obstante.