2010-01-24 4 views
1

런타임의 InitRadioGroup() 프로 시저에서 RadioButton 속성을 설정하고 싶습니다. RadioGroup에 3 개의 RadioButton이 있지만 RadioGroup.ControlCount가 0이기 때문에 실패합니다.Delphi 2010의 RadioGroup.ControlCount 관련 문제

D2010 RadioGroup의 문제점은 무엇입니까? 같은 코드는 내가 프로 시저가 호출 될 때을 radioGroup이 보이지 않는 가정 델파이 2007

procedure InitRadioGroup(RadioGroup: TRadioGroup); 
var 
    i: integer; 
    RadioButton: TRadioButton; 
begin 
    for i := 0 to RadioGroup.ControlCount - 1 do 
    begin 
    RadioButton := (RadioGroup.Controls[i] as TRadioButton); 

    RadioButton.ParentColor := False; 
    RadioButton.ParentFont := False; 
    RadioButton.Font.Style := []; 
end; 

답변

3

에서 잘 작동합니다. 따라서 RadioButton이 생성되지 않을 수 있습니다.

RadioGroup.HandleNeeded으로 전화하면이 문제가 해결됩니다.

+0

당신 말이 맞습니다. Radiogroups가있는 탭 시트를 표시하기 전에 많은 RadioGroups를 초기화합니다. – pKarelian

+0

RadioGroup.HandleNeeded를 추가 했으므로 이제는 정상입니다. 고맙습니다. – pKarelian