假设我想取消选中组件 3-5:
procedure CurPageChanged(CurPageID: Integer);
var i: integer;
begin
if CurPageID = wpSelectComponents then
{ 0 based index }
for i:= 2 to 4 do begin
WizardForm.ComponentsList.Checked[i] := False;
end;
end;
它工作正常,它们被禁用,但窗口底部所需的总大小仍然显示所有组件的值。有没有办法更新它?
编辑:尝试更换
WizardForm.ComponentsList.Checked[i] := False;
跟
WizardForm.ComponentsList.CheckItem(i, coUncheck);
但它并没有改变任何东西。
终于找到了!支持类参考页面显示TWizardForm.ComponentsList
具有属性OnClickCheck
,这似乎是指向未公开TWizardForm.ComponentsListClickCheck
过程的指针。我只想补充一句:
WizardForm.ComponentsList.OnClickCheck(nil);
完整示例:
procedure CurPageChanged(CurPageID: Integer);
var i: integer;
begin
if CurPageID = wpSelectComponents then begin
{ 0 based index }
for i:= 2 to 4 do begin
WizardForm.ComponentsList.CheckItem(i, coUncheck);
end;
WizardForm.ComponentsList.OnClickCheck(nil);
end;
end;