Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #16  
Antiguo 10-05-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Poder: 16
mizzard Va por buen camino
Hola aams01,

Al final tras muchos intentos consigo quitar el foco, pero estableciéndoselo a otro elemento no funciona. Buscando por el foro he encontrado este que sí que funciona (aporte de escafandra):

Código:
    TGridRect NoRect;
    NoRect.Top = NoRect.Left = NoRect.Right = NoRect.Bottom = -1;
    frmMain->StrGridTique->Selection=NoRect;
El caso es que funciona, pero nuevamente vuelvo a tener problemas. En mi StringGrid cambio a la opcion de editar cuando hago clic en una columna, en el resto de casos deshabilito la opcion de editar (esto parece que funciona bien).

El error en concreto sale cuando al terminar de realizar rellenar el StringGrid y de realizar las operaciones pertinentes (únicamente cuando edito un dato en una celda, si no lo edito no sale el error), quito la celda seleccionada, la limpio de información y entonces aparece un mensaje de error, a continuación muestro el codigo y cuándo aparece el mensaje:

Cuando termino de operar con el StringGrid... (hasta aquí sin problemas) hago lo siguiente:

Código:
quitarFocoGrid(); // función que contiene el código de arriba

// Limpiamos el Grid de información
// RowCount-2 porque no me interesa la fila fija ni la que se crea despues de la que contiene informacion (esto probado a parte funciona)
        for (int cont = frmMain->StrGridTique->RowCount-2; cont > 0; cont--) {
            frmMain->StrGridTique->Rows[cont]->Clear();
            frmMain->StrGridTique->RowCount=frmMain->StrGridTique->RowCount-1;
        }
        frmMain->StrGridTique->Cells[0][0]="";
        frmMain->StrGridTique->Cells[1][0]="";
        frmMain->StrGridTique->Cells[2][0]="";
        frmMain->StrGridTique->Cells[3][0]="";

// Mostramos un mensaje informativo
Application->MessageBoxA(L"Puede retirar la tarjeta.",L"Información",MB_OK+ MB_ICONINFORMATION);
Y cuando le doy a aceptar sale el siguiente mensaje de error:

EListError with message 'List indexof bounds (-1)'

He probado a poner la de quitar el foco al final del borrado de la tabla y pasa lo mismo pero el mensaje sale en otra parte del código, por lo que el problema es el mismo.

Alguna idea de cómo puedo hacer el borrado y quitar la fila seleccionada (o al revés) sin que dé este problema??

Muchas gracias y un saludo!

Última edición por mizzard fecha: 10-05-2011 a las 11:47:44.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Centrar imagen que esta en las celdas de un StringGrid gulder Varios 4 11-12-2008 19:48:02
Centrar texto en un memo Tilk Varios 1 12-11-2008 01:19:13
Centrar el texto de un edit Sayuri Varios 2 19-03-2008 21:28:59
Centrar el texto de una columna en el componente DrawGrid Aprendiendo OOP 0 30-09-2004 00:55:00
Centrar bmp en celda de stringgrid mosorio OOP 2 31-03-2004 06:15:27


La franja horaria es GMT +2. Ahora son las 23:54:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi