0
3 개의 cxRadioButton이있는 dxCheckGroupBox1이 있습니다. TdxCustomCheckGroupBoxCheckBox를 클릭하면 의 cxRadioButton이 활성화 또는 비활성화됩니다. 그것은 정상적인 행동입니다.라디오 버튼을 선택 취소하고 dxCheckGroupBox에서 case 문을 사용합니다.
그러나 CheckGroupBox를 비활성화하면 선택한 cxRadioButton을 선택 취소하여 으로 지정하겠습니다. GroupBoxCheckBox의 선택을 해제 한 후 마지막으로 사용한 버튼이 으로 체크 된 상태로 유지됩니다.
이것은 제대로 작동하지 않는 것 같습니다.
procedure TForm1.dxCheckGroupBox1Click(Sender: TObject);
var i:integer;
CheckGroupBox1 : TdxCheckGroupBox;
begin
for I := 0 to CheckGroupBox1.ComponentCount - 1 do
if Components[0] is TcxRadioButton then
(Components[0] as TcxRadioButton).Checked:=False;;
end;
또 다른 질문이 dxCheckGroupBox1 합니다 (cxRadioButton의 선택에 따라에 CASE 문을 사용하는 방법입니다
두 아이디어 : 1.'Checked' 대신'EditValue'를 설정 2. 라디오 버튼 ** 중 하나가 ** 체크되어 있어야만합니까 ** –
이 실제 코드입니까? CheckGroupBox1'은 지역 변수이며 존재하지 않습니다. 액세스 위반이 예상됩니다. 또 다른 문제는'CheckGroupBox1' 컴포넌트를 반복하는 것이지만, 루프 안에서'TForm1'의'Components' 배열에 접근하는 것입니다. 고정 인덱스 (0)를 사용하면됩니다. 나는 당신이 의도 한 것이'CheckGroupBox1.Components [i]'라고 믿는다. – nil
@nil 네, 맞습니다. AV를 던집니다. – user763539