FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Guardar un evento
Buenas y feliz año nuevo a todos.
Tengo una función definida de la siguiente forma: Código:
bool ClickLista(TListView *evLista) { if ((evLista->Items->Item[0]->Caption == "SELECCIONAR TODOS" || evLista->Items->Item[0]->Caption == "SELECCIONAR NINGUNO") && evLista->Items->Item[0]->Checked) { evLista->Items->Item[0]->Checked = false; for (int nValor = 1; nValor < evLista->Items->Count; nValor ++) evLista->Items->Item[nValor]->Checked = evLista->Items->Item[0]->Caption == "SELECCIONAR TODOS" ? true : false; evLista->Items->Item[0]->Caption = evLista->Items->Item[0]->Caption == "SELECCIONAR TODOS" ? "SELECCIONAR NINGUNO" : "SELECCIONAR TODOS"; } for (int nValor = 0; nValor < evLista->Items->Count; nValor ++) if (evLista->Items->Item[nValor]->Checked) { evLista->Items->Item[nValor]->Selected; return true; } return false; } //--------------------------------------------------------------------------- Código:
void __fastcall TfCamAfi::ListaChange(TObject *Sender, TListItem *Item, TItemChange Change) { ListaClick(NULL); } //--------------------------------------------------------------------------- void __fastcall TfCamAfi::ListaClick(TObject *Sender) { Lista->OnChange = NULL; Button3->Enabled = ClickLista(Lista); Lista->OnChange = ListaChange; } //--------------------------------------------------------------------------- |
#2
|
||||
|
||||
Hola,
En Delphi creo que algo así podría funcionar:
O sea, básicamente, hemos de usar una variable del tipo del evento que queremos "guardar", asignar a dicha variable el evento en cuestión, después "anularlo", hacer nuestro trabajo, y, finalmente, volver a asignar el evento previamente guardado. |
#3
|
||||
|
||||
Básicamente es la misma idea que ha comentado David, pero en lugar de hacerlo cada vez que ejecutas la tarea, lo que suelo hacer es quedarme con el evento antes de asignar mi procedimiento.
Es decir, donde hay esto:
Hacer algo así:
De esta forma ya tienes un apuntador al evento antiguo, si es que estaba asignado. Ahora al inicio o al final de tu procedimiento ListaChange, llamas al evento antiguo si está asignado
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
DBGrid: Guardar y No guardar + Validar | juliannemiro | Varios | 2 | 06-01-2012 06:49:19 |
Guardar cambios y no guardar ayuda!! | THACKER | Varios | 1 | 21-07-2008 17:49:52 |
capturar evento guardar de openDialog | crack_neon | Varios | 6 | 23-06-2007 19:22:12 |
Llamar evento desde otro evento | nachito_tuc | OOP | 1 | 23-08-2006 21:37:43 |
Capturar el evento de guardar en disco | magm2000 | Impresión | 1 | 29-07-2004 16:14:47 |
|