亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sstylepassive.pas

?? AlphaControls是一個Delphi標準控件的集合
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
end;

procedure TsPassivePaintStyle.Update;
begin
{$IFDEF TSHINTS}
  if FOwner is TsHintManager then begin
    TsHintManager(FOwner).SetCustomDefinition;
  end;
{$ENDIF}
end;

procedure TsPassivePaintStyle.SetSkinSection(const Value: string);
begin
  if FSkinSection <> Value then begin
    FSkinSection := Value;
  end;
end;

procedure TsPassivePaintStyle.WndProc(var Message: TMessage);
{$IFNDEF ALITE}
var
  sSC : TsControlsManager;
{$ENDIF}
begin
  if (Message.Msg >= SM_OFFSET) and (Message.Msg <= SM_LAST) then begin
    if ((Message.WParam = GroupIndex) or (Message.WParam = GI_FORPANELPATTERN)) then begin
      case Message.Msg of
//        CM_SETBORDERBOTTOM:   Painting.ColorBorderBottom := TSMSetColor(Message).Value;
//        CM_SETCOLORACTIVE:    Selection.Color := TSMSetColor(Message).Value;
        CM_SETColor:  Painting.Color := TSMSetColor(Message).Value;
        CM_SETCOLORSHADOW :   Shadow.Color := TSMSetColor(Message).Value;

        SM_CLEARINDEXES : begin
          SkinIndex := -1;
          BorderIndex := -1;
        end;
        SM_SETNEWSKIN : begin
          DeleteUnusedBmps(True);
          SkinIndex := GetSkinIndex;
          BorderIndex := GetMaskIndex(BordersMask);
          if (FOwner is TsSkinProvider) and (sSkinData.SkinManager <> nil) then begin
            TsSkinProvider(FOwner).ButtonMin.ImageIndex   := GetMaskIndex(BorderIconMinimize);
            TsSkinProvider(FOwner).ButtonMax.ImageIndex   := GetMaskIndex(BorderIconMaximize);
            TsSkinProvider(FOwner).ButtonClose.ImageIndex := GetMaskIndex(BorderIconClose);
            TsSkinProvider(FOwner).ButtonHelp.ImageIndex  := GetMaskIndex(BorderIconHelp);
            TsSkinProvider(FOwner).MDIMin.ImageIndex   := GetMaskIndex(SmallIconMinimize);
            TsSkinProvider(FOwner).MDIMax.ImageIndex   := GetMaskIndex(SmallIconMaximize);
            TsSkinProvider(FOwner).MDIClose.ImageIndex := GetMaskIndex(SmallIconClose);

            if TsSkinProvider(FOwner).SkinManager = nil then begin
              TsSkinProvider(FOwner).SkinManager := sSkinData.SkinManager;
            end;

            if not (csDesigning in TsSkinProvider(FOwner).ComponentState) then begin
              DeleteUnusedBmps(True);
              if TForm(TsSkinProvider(FOwner).Form).BorderIcons <> [] then begin
                TForm(TsSkinProvider(FOwner).Form).BorderIcons := [];
              end;
              TsSkinProvider(FOwner).SkinManager.SkinableMenus.UpdateMenus;
              if Pointer(GetWindowLong(TsSkinProvider(FOwner).Form.Handle, GWL_WNDPROC)) <> TsSkinProvider(FOwner).NewInstance then begin
                TsSkinProvider(FOwner).FormActive := Screen.ActiveForm = TsSkinProvider(FOwner).Form;
                SetWindowLong(TsSkinProvider(FOwner).Form.Handle, GWL_WNDPROC, LongInt(TsSkinProvider(FOwner).NewInstance));
              end;
//              if Assigned(TsSkinProvider(FOwner).Form.Menu) then begin
//                TsSkinProvider(FOwner).Form.Menu.Items[0].Assign(TsSkinProvider(FOwner).Form.Menu.Items[0]);
//                OnChange(TsSkinProvider(FOwner).Form.Menu, TsSkinProvider(FOwner).Form.Menu.Items[0], True);
//              end;

              if Assigned(TsSkinProvider(FOwner).VSBar) then SendMessage(TsSkinProvider(FOwner).VSBar.Handle, Message.Msg, Message.WParam, Message.LParam);
              if Assigned(TsSkinProvider(FOwner).HSBar) then SendMessage(TsSkinProvider(FOwner).HSBar.Handle, Message.Msg, Message.WParam, Message.LParam);
              // Menu Line refresh
              TsSkinProvider(FOwner).BGChanged := True;
              SendMessage(TsSkinProvider(FOwner).Form.Handle, WM_NCPaint, Message.WParam, Message.LParam);
            end;
          end;
        end;
        SM_REMOVESKIN : begin
          if FOwner is TsSkinProvider then begin
            BorderIndex := -1;
            SkinIndex := -1;
            TsSkinProvider(FOwner).BGChanged := True;
            if not (csDesigning in TsSkinProvider(FOwner).ComponentState) and Assigned(TsSkinProvider(FOwner).SkinManager) then begin
              DeleteUnusedBmps(True);
              TsSkinProvider(FOwner).SkinManager.SkinableMenus.InitItems(False);
              if TsSkinProvider(FOwner).OldBorderIcons <> TForm(TsSkinProvider(FOwner).Form).BorderIcons then begin
                TsSkinProvider(FOwner).Frozen := True;
                TForm(TsSkinProvider(FOwner).Form).BorderIcons := TsSkinProvider(FOwner).OldBorderIcons;
                TsSkinProvider(FOwner).Frozen := False;
              end
              else begin
                TForm(TsSkinProvider(FOwner).Form).Perform(CM_RECREATEWND, 0, 0);
              end;
            end;
          end;
        end;
        CM_SETSHADOWENABLED:  begin
          if COC <> COC_TsHintManager then
            Shadow.FEnabled := TSMSetBoolean(Message).Value;
        end;
        CM_SHADOWTRANSPARENCY:Shadow.FTransparency := TSMSetInteger(Message).Value;
        CM_SHADOWOFFSET:      Shadow.FOffset       := TSMSetInteger(Message).Value * 2;
        CM_SHADOWBLUR:        Shadow.FBlur         := TSMSetInteger(Message).Value * 2;

        SM_GETSTYLEINFO:      begin
            TSMGetStyleInfo(Message).WParam := 1;
            TSMGetStyleInfo(Message).LParam := Longint(Self);
          end;

{$IFNDEF ALITE}
        CM_SETPATTERN: begin
          if Background.ListenMSG then begin
            if Assigned(TSMSetBground(Message).sBackground.Image) then begin
              Background.Image.Assign(TSMSetBground(Message).sBackground.Image);
            end;
          end;
          Message.Result := 1;
        end;

        CM_CHANGEALL : begin
            sSC := TCMChangeAll(Message).sStyleControl;

            Shadow.Color := sSC.Shadow.Color;
            if COC <> COC_TsHintManager then
              Shadow.Enabled := sSC.Shadow.Enabled;

            Shadow.Offset       := sSC.Shadow.Offset * 2;
            Shadow.Blur         := sSC.Shadow.Blur * 2;

            if Background.ListenMSG and Assigned(sSC.Background) then begin
                  if Assigned(sSC.Background.Image) then begin
                    Background.Image.Assign(sSC.Background.Image);
                  end;
            end;
          end;
{$ENDIF}
      end;
    end;
  end;
end;

{ TsPassiveShadow }

constructor TsPassiveShadow.Create(AOwner: TPersistent);
begin
  inherited Create;
  FOwner := TsPassivePaintStyle(AOwner);
  FColor := clBlack;
  FBlur := 6;
  FOffset := 10;
  FTransparency := 50;
  FEnabled := True;
end;

procedure TsPassiveShadow.SetBlur(const Value: integer);
begin
  if FBlur <> Value then begin
    FBlur := Value;
    FOwner.Update;
  end;
end;

procedure TsPassiveShadow.SetColor(const Value: TColor);
begin
  if (FColor <> Value) then begin
    FColor := Value;
    FOwner.Update;
  end;
end;

procedure TsPassiveShadow.SetEnabled(const Value: boolean);
begin
  if (FEnabled <> Value) then begin
    FEnabled := Value;
    FOwner.Update;
  end;
end;

procedure TsPassiveShadow.SetOffset(const Value: integer);
begin
  if (FOffset <> Value) then begin
    FOffset := Value;
    FOwner.Update;
  end;
end;

procedure TsPassiveShadow.SetTransparency(const Value: TPercent);
begin
  if FTransparency <> Value then begin
    FTransparency := Value;
    FOwner.Update;
  end;
end;

{ TsPassivePainting }

constructor TsPassivePainting.Create(AOwner: TPersistent);
begin
  inherited Create;
  FColorBorderTop := clWhite;
  FColorBorderBottom := clBlack;
  FColor := clMenu;
  FTransparency := 50;
  FBevel := cbRaisedSoft;
  FOwner := TsPassivePaintStyle(AOwner);
end;

procedure TsPassivePainting.SetBevel(const Value: TsControlBevel);
begin
  if FBevel <> Value then begin
    FBevel := Value;
    FOwner.Update;
  end;
end;

procedure TsPassivePainting.SetColors(Index: Integer; Value: TColor);
begin
  case Index of
    0: if FColorBorderTop <> Value then begin
      FColorBorderTop := Value;
      FOwner.Update;
    end;
    1: if FColorBorderBottom <> Value then begin
      FColorBorderBottom := Value;
      FOwner.Update;
    end;
    3: if FColor <> Value then begin
      FColor := Value;
      FOwner.Update;
    end;
  end;
end;

procedure TsPassivePainting.SetTransparency(const Value: integer);
begin
  if FTransparency <> Value then begin
    FTransparency := Value;
    FOwner.Update;
  end;
end;

{ TsHotPaintStyle }

constructor TsHotPaintStyle.Create(AOwner: TPersistent);
begin
  inherited Create(AOwner);
  FHotStyle := TsHotStyle.Create(Self);
end;

destructor TsHotPaintStyle.Destroy;
begin
  FreeAndNil(FHotStyle);
  inherited Destroy;
end;

procedure TsHotPaintStyle.PaintActiveBG(BGBmp : TBitmap; R : TRect; ci : TCacheInfo);
var
  aRect, cRect: TRect;
  Bmp : TBitmap;
  TransColor : TsColor;
  iDrawed : boolean;
  Transparency : integer;
  procedure FillCanvas(bmp : TBitmap); begin
    BMP.Canvas.Pen.Style := psClear;
    BMP.Canvas.Brush.Style := bsSolid;
    BMP.Canvas.Brush.Color := ColorToRGB(HotStyle.HotPainting.Color);
    BMP.Canvas.Rectangle(R);
  end;
  procedure PaintAddons; begin
    iDrawed := False;
    // BGImage painting
    if (HotStyle.HotBackground.Image.Percent > 0) and Assigned(HotStyle.HotBackground.Image.Image)
           and (HotStyle.HotBackground.Image.Image.Width <> 0)
           and (HotStyle.HotBackground.Image.Image.Height <> 0) then begin
      TileBitmap(BGBMP.Canvas, Rect(0, 0, BGBmp.Width, BGBmp.Height), HotStyle.HotBackground.Image.Image.Graphic);
      iDrawed := True;
    end;
    // BGGradient painting
    if (HotStyle.HotBackground.Gradient.Percent > 0) then begin
      if iDrawed then begin
        if Length(HotStyle.HotBackground.Gradient.FGradArray) > 0 then begin
          PaintGrad(Bmp, Rect(0, 0, BGBmp.Width, BGBmp.Height), HotStyle.HotBackground.Gradient.FGradArray);
        end
        else begin
          FillCanvas(Bmp);
        end;

        TransColor.A := 0;
        TransColor.R := HotStyle.HotBackground.Image.Percent * 255 div 100;
        TransColor.G := TransColor.R;
        TransColor.B := TransColor.R;
        SumBitmaps(BGBMP, Bmp, TransColor);
      end
      else begin
        if Length(HotStyle.HotBackground.Gradient.FGradArray) > 0 then begin
          PaintGrad(BGBMP, Rect(0, 0, BGBmp.Width, BGBmp.Height), HotStyle.HotBackground.Gradient.FGradArray);
        end
        else begin
          FillCanvas(BGBMP);
        end;
      end;
    end;
    if HotStyle.HotBackground.Gradient.Percent + HotStyle.HotBackground.Image.Percent in [1..99] then begin
      BlendColorRect(BGBMP,
                                 Rect(0,
                                      0,
                                      BGBMP.Width - 1,
                                      BGBMP.Height - 1),
                         (HotStyle.HotBackground.Gradient.Percent + HotStyle.HotBackground.Image.Percent),
                 ColorToRGB(HotStyle.HotPainting.Color));
{      FadeRect(BGBMP.Canvas, Rect(0,
                                      0,
                                      BGBMP.Width,
                                      BGBMP.Height),
                         BGBMP.Canvas.Handle, Point(0, 0),
                         (HotStyle.HotBackground.Gradient.Percent + HotStyle.HotBackground.Image.Percent),
                         ColorToRGB(HotStyle.HotPainting.Color), 0, ssRectangle);}
    end
    else if HotStyle.HotBackground.Gradient.Percent + HotStyle.HotBackground.Image.Percent <> 100 then begin
      BGBMP.Canvas.Pen.Style := psClear;
      BGBMP.Canvas.Brush.Style := bsSolid;
      BGBMP.Canvas.Brush.Color := ColorToRGB(HotStyle.HotPainting.Color);
      BGBMP.Canvas.Rectangle(aRect);
    end;
  end;
begin
  aRect := R;

  bmp := TBitmap.Create;
  bmp.PixelFormat := pf24bit;
  bmp.Width := BGBMP.Width;
  bmp.Height := BGBMP.Height;

  cRect := aRect;
//  if SkinIndex > -1 then begin
//    Transparency := gd[SkinIndex].HotPaintingTransparency;
//  end
//  else begin
    Transparency := HotStyle.HotPainting.Transparency;
//  end;

  if ci.Ready and (Transparency = 100) then begin
  end
  else if not ci.Ready then begin
//    PaintAddons;
  end
  else if Transparency = 0 then begin
    PaintAddons;
  end
  else if ci.Ready and (Transparency > 0) then begin
    PaintAddons;
    Bmp.Assign(BGBmp); // ?????? it's needed?
    FadeRect(ci.Bmp.Canvas, Rect(aRect.Left + ci.X,
                                         aRect.Top + ci.Y,
                                         aRect.Right + ci.X,
                                         aRect.Bottom + ci.Y),
                         Bmp.Canvas.Handle, Point(0, 0),
                         100, clWhite, 0, ssRectangle);
    TransColor.A := 0;
    TransColor.R := (100 - Transparency) * 255 div 100;
    TransColor.G := TransColor.R;
    TransColor.B := TransColor.R;
    SumBitmaps(BGBmp, Bmp, TransColor);
  end;

  FreeAndNil(Bmp);
end;

procedure TsHotPaintStyle.sStyleMessage(var Message: TMessage);
begin
end;

procedure TsHotPaintStyle.WndProc(var Message: TMessage);
begin
  case Message.Msg of
    SM_OFFSET..SM_SHARED, EM_CHANGEALL + 1..SM_LAST : begin
      if Message.Msg = SM_GETSTYLEINFO then begin
        TSMGetStyleInfo(Message).WParam := tos_SPASSIVEPAINTSTYLE;
        TSMGetStyleInfo(Message).LParam := Longint(Self);
      end
      else sStyleMessage(Message);
    end
  end;
  inherited;
end;

end.






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色资源网久久资源365| 日韩激情一二三区| 欧美精品一区二区久久婷婷 | 亚洲国产视频一区二区| 亚洲国产精品激情在线观看| 2020日本不卡一区二区视频| 精品少妇一区二区三区在线播放 | 久久综合九色综合欧美98| 正在播放亚洲一区| 日韩欧美高清dvd碟片| 日韩一区二区三区高清免费看看| 这里只有精品电影| 精品美女在线播放| 国产日韩欧美精品在线| 中文字幕电影一区| 成人免费在线播放视频| 亚洲一区在线视频| 日韩电影一区二区三区| 精品一区二区av| 国产成人欧美日韩在线电影| 成人免费毛片a| 色狠狠一区二区三区香蕉| 欧美三级欧美一级| 久久先锋影音av鲁色资源| 欧美经典一区二区| 亚洲一区二区三区免费视频| 奇米精品一区二区三区四区| 国产一区在线精品| 91免费观看视频| 51久久夜色精品国产麻豆| 欧美成人国产一区二区| 中文字幕不卡在线| 亚洲一区二区三区四区不卡| 国内精品国产成人国产三级粉色| 国产jizzjizz一区二区| 欧美视频在线观看一区| 欧美精品一区二区三区蜜桃| 日韩美女精品在线| 老司机午夜精品99久久| 97精品电影院| 精品国偷自产国产一区| 一区二区三区日韩在线观看| 精品一区二区三区的国产在线播放 | 亚洲成人免费看| 国产精品一色哟哟哟| 日本高清免费不卡视频| 久久综合九色综合97婷婷 | 欧美日韩免费电影| 久久久久久久久久久久久女国产乱| 亚洲精品写真福利| 成人午夜激情影院| 欧美一区二区精品| 一区二区三区四区视频精品免费| 精品在线播放免费| 欧美精品色综合| 中文字幕在线观看一区| 久久精品国产澳门| 欧美日韩免费一区二区三区 | 8v天堂国产在线一区二区| 中文字幕亚洲精品在线观看| 久久精品国产免费| 欧美一区二区三区四区久久| 亚洲伊人伊色伊影伊综合网| 91在线观看高清| 久久精品夜夜夜夜久久| 免费在线视频一区| 欧美日韩高清影院| 一区二区三区在线高清| 99久久er热在这里只有精品15| 久久九九99视频| 国内外精品视频| 精品国产一区二区亚洲人成毛片 | 日韩久久久久久| 蜜臀av性久久久久蜜臀av麻豆| 在线看不卡av| 伊人一区二区三区| 欧洲一区二区三区在线| 亚洲黄一区二区三区| 91国产免费看| 亚洲国产精品一区二区久久| 91福利在线免费观看| 亚洲男人的天堂网| 在线亚洲欧美专区二区| 亚洲在线观看免费| 884aa四虎影成人精品一区| 日本美女视频一区二区| 久久久不卡网国产精品二区| 国产一区二区不卡| 国产精品久久看| 99精品一区二区三区| 一区二区三区日韩在线观看| 欧美日韩激情一区| 精品在线你懂的| 欧美国产精品v| 日本久久电影网| 亚洲狠狠爱一区二区三区| 这里只有精品视频在线观看| 韩国成人在线视频| 国产精品国产三级国产普通话三级 | 色久综合一二码| 奇米精品一区二区三区在线观看| 欧美精品一区二区三区蜜桃视频 | 免费的国产精品| 中文字幕精品—区二区四季| 色88888久久久久久影院按摩| 夜夜嗨av一区二区三区四季av| 欧美日韩国产一级片| 黄页视频在线91| 夜夜精品视频一区二区| 精品久久久久久久久久久久包黑料| 国产成人综合精品三级| 亚洲蜜桃精久久久久久久| 欧美美女网站色| 欧美色精品在线视频| 国产伦精品一区二区三区免费| 亚洲女同一区二区| 日韩亚洲欧美成人一区| 99精品黄色片免费大全| 久久成人精品无人区| 亚洲精品视频免费看| 日韩精品自拍偷拍| 色一情一乱一乱一91av| 国产一区不卡精品| 亚洲成人1区2区| 中文字幕亚洲欧美在线不卡| 日韩一本二本av| 欧美综合在线视频| 成人免费观看男女羞羞视频| 丝袜亚洲另类欧美综合| 亚洲丝袜精品丝袜在线| ww久久中文字幕| 555夜色666亚洲国产免| 色琪琪一区二区三区亚洲区| 国产精品一级在线| 日本亚洲免费观看| 亚洲国产综合在线| **性色生活片久久毛片| 2022国产精品视频| 欧美一区二区在线播放| 欧美视频一区二区| 成人做爰69片免费看网站| 韩国三级在线一区| 麻豆一区二区在线| 日韩不卡一区二区| 亚洲亚洲人成综合网络| 亚洲欧洲av在线| 国产精品视频一二| 中文字幕av资源一区| 久久久国产精品午夜一区ai换脸| 欧美电影免费观看高清完整版在线观看| 日本乱人伦一区| 日本高清免费不卡视频| 91色porny蝌蚪| 91国产福利在线| 欧美在线制服丝袜| 欧美综合一区二区三区| 欧美中文字幕不卡| 欧美日韩国产不卡| 精品视频一区三区九区| 欧美性猛交xxxx黑人交| 欧美色综合久久| 欧美二区三区91| 欧美二区乱c少妇| 日韩欧美国产一区二区在线播放 | 亚洲天堂网中文字| 国产精品国产三级国产aⅴ中文 | 91丨九色porny丨蝌蚪| 91亚洲国产成人精品一区二区三 | 久久久久久99久久久精品网站| 国产无遮挡一区二区三区毛片日本 | 欧美精品乱码久久久久久按摩| 在线免费不卡电影| 欧美日韩国产综合一区二区| 91麻豆精品国产91久久久久久 | 日本大胆欧美人术艺术动态| 日韩二区三区四区| 激情综合色综合久久综合| 国产成人综合精品三级| 色网综合在线观看| 91精品婷婷国产综合久久性色| 日韩精品一区二区三区中文不卡| 国产视频在线观看一区二区三区| 18成人在线视频| 亚洲成a人片综合在线| 韩国成人在线视频| 色综合久久中文综合久久牛| 777奇米四色成人影色区| 精品免费视频.| 亚洲欧洲日韩av| 天天做天天摸天天爽国产一区| 韩国精品在线观看| 色呦呦国产精品| 26uuu精品一区二区三区四区在线| 国产精品乱码人人做人人爱| 亚洲一区在线看| 国产精品一区二区三区乱码| 欧美亚洲综合网| 国产日韩欧美精品综合| 日韩精彩视频在线观看| 99re66热这里只有精品3直播|