lcl: forcing menus icon bitmap refresh on Imagelist change. #35658

git-svn-id: trunk@61307 -
This commit is contained in:
dmitry 2019-06-01 05:57:36 +00:00
parent 2ab93def5e
commit 75accac5aa
2 changed files with 6 additions and 6 deletions

View File

@ -50,7 +50,7 @@ begin
FImages.FreeNotification(Self); FImages.FreeNotification(Self);
FImages.RegisterChanges(FImageChangeLink); FImages.RegisterChanges(FImageChangeLink);
end; end;
FItems.UpdateImages; FItems.UpdateImages(true);
end; end;
procedure TMenu.SetImagesWidth(const aImagesWidth: Integer); procedure TMenu.SetImagesWidth(const aImagesWidth: Integer);

View File

@ -1458,7 +1458,7 @@ begin
end; end;
end; end;
procedure TMenuItem.UpdateImage; procedure TMenuItem.UpdateImage(forced: Boolean);
var var
ImgList: TCustomImageList; ImgList: TCustomImageList;
begin begin
@ -1475,7 +1475,7 @@ begin
end end
else else
begin begin
if (ImgList = nil) or (ImageIndex = -1) then if (forced) or (ImgList = nil) or (ImageIndex = -1) then
begin begin
FreeAndNil(FBitmap); FreeAndNil(FBitmap);
FBitmapIsValid := True; FBitmapIsValid := True;
@ -1485,15 +1485,15 @@ begin
end; end;
end; end;
procedure TMenuItem.UpdateImages; procedure TMenuItem.UpdateImages(forced: Boolean);
var var
i: integer; i: integer;
begin begin
if HandleAllocated and ([csLoading,csDestroying]*ComponentState=[]) then if HandleAllocated and ([csLoading,csDestroying]*ComponentState=[]) then
begin begin
UpdateImage; UpdateImage(forced);
for i := 0 to Count - 1 do for i := 0 to Count - 1 do
Items[i].UpdateImages; Items[i].UpdateImages(forced);
end; end;
end; end;