Dodakaedr,
diman_21Ru, пардон, ввел всех в заблуждение. Пока сам себя не проверишь, ответа не получишь. Все дело в свойстве TreeViewStyle, которое есть у листа из китайской версии. При значении True (либо в секции Setup директива ComponentsListTVStyle=yes) наблюдаем подобное поведение, WantTabs немного из другой оперы. Для решения проблемы нужно самому обработать мышиные события:
Скрытый текст
Код:
type
TCheckListBoxHelper = record
Index: Integer;
ItemArea: TItemArea;
end;
var
CLBHelper: TCheckListBoxHelper;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure ComponentsListOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
with TNewCheckListBox(Sender) do
begin
if (Button = mbLeft) and (CLBHelper.ItemArea = iaItem) and ItemEnabled[CLBHelper.Index] then
case State[CLBHelper.Index] of
cbUnchecked,
cbGrayed:
CheckItem(CLBHelper.Index, coCheckWithChildren);
cbChecked:
CheckItem(CLBHelper.Index, coUncheck);
end;
end;
end;
/////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure ComponentsListOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
begin
CLBHelper.Index := Index;
CLBHelper.ItemArea := Area;
end;
///////////////////////////
procedure InitializeWizard;
begin
with WizardForm.ComponentsList do
begin
if TreeViewStyle then
begin
OnMouseDown := @ComponentsListOnMouseDown;
OnItemMouseMove := @ComponentsListOnItemMouseMove;
end;
end;
end;