Ver Mensaje Individual
  #2  
Antiguo 20-08-2011
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Reputación: 18
_cero_ Va por buen camino
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
Responder Con Cita