Hola...
Primeramente leí la Guia de estilos y me pareció muy aleccionadora por tanto, trataré de ser más explicito y claro.
Estoy haciendo una aplicación para manejar las Estadisticas del turismo en la entidad Islazul que incorpora un CheckListBox (componente poco nombrado) y que con el cual normalmente se pueden marcar más de un items en tiempo de ejecución, los items son nombres de instalaciones hoteleras que al ser marcados selecciono el informe correspondiente presionando un Button.
El dilema en sí es que al marcar un items luego de marcar otro, se borre el anterior marcado, o sea que siempre sea un solo items marcado, yo logré algo como les muestro a continuación, pero como verán no funciona del todo bien.
Código Delphi
[-]
procedure TForm5.CheckListBox1ClickCheck(Sender: TObject);
var i,a,j,e,f:integer;
begin
for a:=0 to checklistbox1.items.count-1 do begin
if CheckListBox1.Checked[a]=false then BitBtn1.Enabled:=false;
end;
for j:=0 to checklistbox1.items.count-1 do begin
if CheckListBox1.Checked[j] then BitBtn1.Enabled:=true;
end;
e:=-1;
if ComboBox1.ItemIndex=1 then begin
CheckBox1.Checked:=false;
CheckListBox1.ClearSelection;
for i:=0 to checklistbox1.items.count-1 do
if CheckListBox1.Checked[i] then begin
e:=i;
CheckListBox1.Checked[e]:=false;
end;
end;
En esta parte es donde tengo el problema donde hace bien la operación de mantener un solo items marcado pero solo cuando se selecciona un items en la lista que está más abajo del ya marcado, cuando se selecciona un items que este más arriba del anterior lo hace mal.
Disculpemme lo extenso de la explicación, y me indican si violo alguna norma del Foro, pero les agradeceria una vez más la colaboración de ustedes.
Gracias