RRUZ / vcl-styles-utils

Extend and improve the Delphi VCL Styles
https://theroadtodelphi.wordpress.com/
329 stars 115 forks source link

Blend style modification for NCButton #275

Open Himeko7 opened 4 years ago

Himeko7 commented 4 years ago

Please consider the following modifications to Vcl.Styles.NC.pas to add a blend style:

174:

TNCImageStyle = (isNormal, isGray, isGrayHot, isBlend);

569:

procedure DoDrawBlendImage(hdcDst: HDC; himl: HIMAGELIST; ImageIndex, X, Y: Integer);
var
  pimldp: TImageListDrawParams;
begin
  FillChar(pimldp, SizeOf(pimldp), #0);
  pimldp.fState := ILS_ALPHA;
  pimldp.Frame  := 128;
  pimldp.cbSize := SizeOf(pimldp);
  pimldp.hdcDst := hdcDst;
  pimldp.himl := himl;
  pimldp.i := ImageIndex;
  pimldp.X := X;
  pimldp.Y := Y;
  ImageList_DrawIndirect(@pimldp);
end;

1178:

      if FImageStyle = isBlend then
        DoDrawBlendImage(ACanvas.Handle, NCControls.FImages.Handle, LImgIndex, IX, IY) else
        DoDrawGrayImage(ACanvas.Handle, NCControls.FImages.Handle, LImgIndex, IX, IY);