Ver Mensaje Individual
  #3  
Antiguo 17-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Caro, me parece que PanelCount cuenta el número de paneles que aparecen en el DBCtrlGrid, y que está determinado por RowCount y ColCount; pero creo que Andrés quiere recorrer las componentes dentro de cada panel.

Al parecer, esa única componente que ve Andrés, es de tipo TDBCtrlPanel y es la que, a su vez, contiene los otros controles, así que podría recorrer así:

Código Delphi [-]
var
  Panel: TDBCtrlPanel;
  I: Integer;

begin
  Panel := DBCtrlGrid1.Components[0] as TDBCtrlPanel;

  for I := 0 to Panel.ControlCount - 1 do
  begin
  {
    Aquí accedes a Panel.Controls[i]
  }
  end;

  DBCtrlGrid1.Refresh;
end;

El Refresh final es por si los cambios que se hacen son visuales (el color por ejemplo), de manera que se reflejen inmediatamente en todos los paneles.

Pero ojo, esto cambia todos los controles, es decir, de todos los paneles. Si lo que quieres es algo distinto según el registro de que se trate, no sé si pueda hacerse, pues aunque hay un evento OnPaintPanel, a juzgar po r la ayuda, parece que sólo sirve para pintar el fondo del panel.

// Saludos
Responder Con Cita