t16bz,
держи:
читать дальше »
Код:
[Setup]
AppName=DisksInfo
VersionInfoVersion=5.0
AppVerName=DisksInfo
DefaultDirName={pf}\My program
DefaultGroupName=New_Folder
AllowNoIcons=yes
[Icons]
Name: {group}\Тествый значок; Filename: calc.exe Check: not No_Start_Icons
[code]
var
StartMenuTreeView : TStartMenuFolderTreeView;
function No_Start_Icons: Boolean;
begin
Result := WizardForm.NoIconsCheck.Checked;
end;
procedure GrpEditOnChange(Sender: TObject);
begin
if WizardForm.GroupEdit.Text <> '{#SetupSetting("DefaultGroupName")}' then StartMenuTreeView.ChangeDirectory(ExpandConstant(WizardForm.GroupEdit.Text), True);
end;
procedure ObjectOnClick(Sender: TObject);
begin
case Sender of
StartMenuTreeView: if StartMenuTreeView.Directory <> '' then WizardForm.GroupEdit.Text := StartMenuTreeView.Directory
WizardForm.NoIconsCheck:
begin
with WizardForm do
begin
GroupEdit.Enabled := not NoIconsCheck.Checked;
StartMenuTreeView.Enabled := not NoIconsCheck.Checked;
GroupBrowseButton.Enabled := not NoIconsCheck.Checked;
end;
end;
end;
end;
Procedure InitializeWizard;
begin
with WizardForm do
begin
with NoIconsCheck do
begin
SetBounds(WizardForm.DiskSpaceLabel.Left + 96, WizardForm.DiskSpaceLabel.Top + 1, WizardForm.NoIconsCheck.Width, WizardForm.NoIconsCheck.Height
OnClick:= @ObjectOnClick
end;
GroupEdit.OnChange := @GrpEditOnChange;
end;
StartMenuTreeView := TStartMenuFolderTreeView.Create(WizardForm)
with StartMenuTreeView do
begin
SetPaths(ExpandConstant('{userprograms}'), ExpandConstant('{commonprograms}'), ExpandConstant('{userstartup}'), ExpandConstant('{commonstartup}'));
SetBounds(ScaleX(0), ScaleY(110), ScaleX(400), ScaleY(100))
Parent:= WizardForm.SelectProgramGroupPage
Cursor:= crHand
Directory := '{#SetupSetting("DefaultGroupName")}'
OnChange:=@ObjectOnClick
end;
StartMenuTreeView.ChangeDirectory(ExpandConstant(WizardForm.GroupEdit.Text), True);
end;
при изменении эдита папки меню пуск меняется директория TFolderTreeView в и наоборот
Это глючный пример. Не использовать!
При редактировании эдита обновляется TStartMenuFolderTreeView и наоборот. Получается порочный круг жутких багов
(пробовал исправить по всякому в пределах своих ничтожных знаний и возможностей)
Кто допилит, тот будет удостоен похвалы, всеобщего признания и звания героя труда!
)