2 iconos superpuestos y barras de progreso.
http://www.megapix.com/?p=OO6VT132.jpg
La mejor forma de usar estas características de forma nativa es con la clase “ITaskbarList3”, es realmente simple lo único que hay que hacer es crear un puntero de este objeto e instanciarlo con “CoCreateInstance” una función para inicializar objetos con un CLSID especifico, no hay mucho más que explicar ya que todos sabemos cómo funcionan las barras de progreso y los iconos así que vamos directo al código.
Código para superponer un icono
Código:
//Creamos e inicializamos el objeto ITaskbarList3
ITaskbarList3* itl;
CoCreateInstance( CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList3, (void**)&itl );
//Cargamos el icono desde el imagelist
static int ind;
ind = ind >= 1 ? 0 : 1;
TIcon* ico = new TIcon;
ima1->GetIcon( ind, ico );
//Sobreponemos el icono
itl->SetOverlayIcon( this->Handle, ico->Handle, L"Descripcion" );
Código para ver el progreso en la barra de tareas
Código:
//Creamos e inicializamos el objeto ITaskbarList3
ITaskbarList3* itl;
CoCreateInstance( CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList3, (void**)&itl );
//Mostramos un progreso de 86 en un máximo de 100
itl->SetProgressValue( this->Handle, 86, 100 );
//Cambiamos de modo TBPF_NORMAL a TBPF_ERROR, la barra cambia a rojo
itl->SetProgressState( this->Handle, TBPF_ERROR );
Ejemplo:
http://www.megaupload.com/?d=FBHQDL0V