今天写了个类似改变窗体皮肤的小控件,但是在窗体删除控件的时候出现了奇怪的现象,部分代码如下:
控件paint消息处理中创建的组件(菜单栏和上面的最小化、最大化、关闭按钮)
if not Assigned(FMenu) then
begin
FMenu:=TImage.Create(FParentWin);
FMenu.Parent:=FParentWin;
FMenu.Stretch:=true;
FMenu.Picture.LoadFromFile('D:\pic\zyz_out.jpg');
FMenu.OnMouseDown:=MyOnMouseDown;
end;
FMenu.SetBounds(0,0,FParentWin.Width,30);
if not Assigned(FMin) then
begin
FMin:=TBitBtn.Create(FParentWin);
FMin.Glyph.LoadFromFile('D:\pic\减号.bmp');
FMin.Parent:=TWinControl(FParentWin);
FMin.OnClick:=MyMinClick;
end;
FMin.SetBounds(FParentWin.Width-60,5,15,15);
if not Assigned(FMax) then
begin
FMax:=TBitBtn.Create(FParentWin);
FMax.Glyph.LoadFromFile('D:\pic\加号