Ekspoint
Новичок
А можно вместо номера компонента в AddDescription сделать его название?
Код:
type
TComponentDesc= record Description:String;Index:Integer;end;var
Descs: array of TComponentDesc;
Info:TNewStaticText;
InfoCaption:TNewStaticText;
InfoPanel:TPanel;
Indx:Integer;
procedure ShowDescription(Sender:TObject; X, Y,Index:Integer;Area:TItemArea);var i:Integer;begin
Indx:=-1;
for i:=0 to GetArrayLength(Descs)-1dobegin
if(Descs[i].Index=Index)thenbeginIndx:=i;Breakend;end;
if(Indx>=0)and(Area=iaItem)thenInfo.Caption:=Descs[Indx].DescriptionelseInfo.Caption:=ExpandConstant('{cm:ComponentsInfoPanel2}');end;
procedure AddDescription(AIndex:Integer;ADescription:String);var i, k:Integer;begin
i:=GetArrayLength(Descs);SetArrayLength(Descs, i+1);Descs[i].Description:=ADescription;Descs[i].Index:=AIndex-1end;
procedure InitializeWizard();begin
WizardForm.TypesCombo.Visible:=False;
WizardForm.ComponentsList.Height:=ScaleY(181)-WizardForm.TypesCombo.Top;
WizardForm.ComponentsList.Top:=WizardForm.TypesCombo.Top;
WizardForm.ComponentsList.Width:=ScaleX(417);
WizardForm.ComponentsList.OnItemMouseMove:=@ShowDescription
InfoPanel:=TPanel.Create(WizardForm);
InfoPanel.Parent:=WizardForm.SelectComponentsPage;
InfoPanel.Caption:='';
InfoPanel.Top:=ScaleY(190);
InfoPanel.Left:=ScaleX(0);
InfoPanel.Width:=ScaleX(417);
InfoPanel.Height:=ScaleY(40);
InfoPanel.BevelInner:= bvRaised;
InfoPanel.BevelOuter:= bvLowered;
InfoCaption:=TNewStaticText.Create(WizardForm);
InfoCaption.Parent:=WizardForm.SelectComponentsPage;
InfoCaption.Caption:=ExpandConstant('{cm:ComponentsInfoPanel1}');
InfoCaption.Left:=ScaleX(7);
InfoCaption.Top:=InfoPanel.Top-ScaleY(6);
InfoCaption.Font.Color:= clActiveCaption;
Info:=TNewStaticText.Create(WizardForm);
Info.Parent:=InfoPanel;
Info.AutoSize:=False;
Info.Left:=ScaleX(6);
Info.Width:=ScaleX(403);
Info.Top:=ScaleY(12);
Info.Height:=ScaleY(24);
Info.Caption:=ExpandConstant('{cm:ComponentsInfoPanel2}');
Info.WordWrap:=true;
AddDescription(1,'Справка');//первый параметр - это номер компонента, идет последовательно от начала записи компонентов
AddDescription(2,'Английская справка');//Второй параметр - это собственно описание компонента
AddDescription(3,'Русская справка');
AddDescription(4,'Плагины');
AddDescription(5,'Внутреннего просмотра');
AddDescription(6,'Архиваторные');
AddDescription(13,'Системные');
AddDescription(8,'CanonCam');
AddDescription(9,'PluginManager');
AddDescription(10,'Registry');
AddDescription(11,'Services');
AddDescription(12,'StartupGuard');
AddDescription(7,'Другие');
end;