![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola como mencionas si solo pasa eso cuando dejas seleccionada una celda por que no quitas el focus de ese componente y lo pasas ya sea a un botón o a un edit.
El problema creo es por q tienes el stringrid en modo edición. Si el stringrid solo lo quieres para mostrar y jalar información yo diría que le quites la opción de editar, ya q te ahorraras tiempo en validar
__________________
El Software es como el Sexo, si es de gratis es Mejor |
|
#2
|
|||
|
|||
|
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 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);
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. |
|
#3
|
||||
|
||||
|
Hola por curiosidad solo cambia
Código:
Application->MessageBoxA(L"Puede retirar la tarjeta.",L"Información",MB_OK + MB_ICONINFORMATION); Código:
Application->MessageBoxA(L"Puede retirar la tarjeta.",L"Información",MB_OK| MB_ICONINFORMATION);
__________________
El Software es como el Sexo, si es de gratis es Mejor |
|
#4
|
|||
|
|||
|
Hola aams01, al final lo solucioné revisando código y añadiendo en una sección que no fuera editable.
Cita:
Muchas gracias por las molestias, un saludo! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|