Ver Mensaje Individual
  #3  
Antiguo 05-01-2012
Sapiem Sapiem is offline
Miembro
 
Registrado: abr 2007
Posts: 24
Reputación: 0
Sapiem Va por buen camino
Hola, gracias por la pronta respuesta

Es cierto y pido disculpas por el error al teclear. Es efectivamente el TCheckListBox el control que quiero tener como base. Mi deseo no es emplear el AddItem, puesto que solo cité un ejemplo, el AddItem que yo emplearé tendrá más parámetros. Lo que pasa es que AddItem desciende directamente del TCheckListBox, mientras que los Add(), Delete(), Exchange(), Insert(), todos corresponden a los Items.* y descienden de los TStrings. Que pasa, que en mi nuevo control pienso redeclarar estas mismas funciones con más parámetros, pero directamente desde el TNewCheckListBox y no desde Items.*

Todo está ok, pero cuando el usuario emplee estos parámetros nativos correspondientes a Items, pierdo el control de esos Items.

Por ejemplo, necesito usar en mi Control lo siguiente:

Código Delphi [-]
var
   grupo: integer;
begin
  grupo:= 1;
  NewCheckListBox1.AddItemGroup('Nombre 1',grupo);
end;

De esta forma yo logro controlar cada Item con su respectivo grupo supongamos. Sin embargo, si el cliente usa:

Código Delphi [-]
var
   grupo: integer;
begin
  grupo:= 1;
  NewCheckListBox1.Items.Add('Nombre 1');  //forma nativa
end;

Ahí pierdo el control de ese registro porque no se que grupo es, y por eso lo que deseo es cuando un registro o item sea agregado de esa forma, yo pueda por ejemplo definir el grupo = 99, para saber que no fue definido.

Otra situación similar o peor es cuando usan el Exchange o Insert porque me cambiaría de posición todos los Items y se me pierdo el control de su respectivo grupo.

En fin, deseo lograr estas dos variantes:

1. Lograr una interrupción de esas funciones Add(), etc nativas del CheckLisBox para autocontrolar esto de los grupos

2. Esconder esas funciones y crear las mías nuevas.

De las 2 preferiría la 1ra porque de lo contrario con la 2da tendría que reescribir mucho código ya en el objeto del que desciende.

Ojalá pueda entenderme, porque creo que está un poco enredado, jaja
Responder Con Cita