2017-05-09 5 views
1

Ich muss meine Wahl in CheCkListBox begrenzen. Nicht mehr als zwei Auswahlmöglichkeiten aus der Liste. Wie geht das?Ich muss meine Wahl in CheckListBox beschränken

procedure TForm1.RadioGroup1Click(Sender: TObject); 
begin 
    case RadioGroup1.ItemIndex of 

    0: begin 
     // No more than two selections from the list 
     end; 


    1: begin 
     // Choice not limited 
     end; 
    end; 
end; 

Antwort

2

Get Anzahl der aktivierten Elemente:

function GetCheckedCount(const Cl : TCheckListBox) : Integer; 
var 
    I: Integer; 
begin 
    Result := 0; 
    for I := 0 to Cl.Count - 1 do 
    begin 
    if Cl.Checked[i] then 
     inc(Result); 
    end; 
end; 

CheckListBox OnClickCheckEvent:

procedure TForm13.CheckListBox1ClickCheck(Sender: TObject); 
const // or global variable or ... 
MaxCheckedItems = 2; 
begin 
    if GetCheckedCount(CheckListBox1) > MaxCheckedItems then 
    CheckListBox1.Checked[CheckListBox1.ItemIndex] := False; 
end; 
+0

vielen Dank – abrakadabra

Verwandte Themen