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

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

?? sskinprovider.pas

?? AlphaControls是一個Delphi標準控件的集合
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
    Result := False;
    if Assigned(Form.ActiveMDIChild) and Assigned(Form.ActiveMDIChild.Menu) then begin
      for i := ItemProcessed to Form.ActiveMDIChild.Menu.Items.Count - 1 do begin
        LocalItem := Form.ActiveMDIChild.Menu.Items[i];

        // If MDI form and included other
        if (LocalItem.GroupIndex > ChangedIndex) and (LocalItem.GroupIndex <= CurrentIndex) then begin

          if not Assigned(LocalItem.OnMeasureItem) or
               not Assigned(LocalItem.OnAdvancedDrawItem) or
                 not LocalItem.Visible then Break;

          Result := (LocalItem.GroupIndex >= CurrentIndex);
          ChangedIndex := LocalItem.GroupIndex;

          j := i;
          while (j <= Form.ActiveMDIChild.Menu.Items.Count - 1) do begin
            LocalItem := Form.ActiveMDIChild.Menu.Items[j];
            if (LocalItem.GroupIndex > ChangedIndex) and (Index <= Form.Menu.Items.Count - 1) then Exit;
            w := 0;
            h := 0;
            LocalItem.OnMeasureItem(LocalItem, FsStyle.FCacheBmp.Canvas, w, h);
            ChangedIndex := LocalItem.GroupIndex;

            if x + w + Offs - SymbolWidth> Form.Width - 2 * BorderWidth - 6 - 2 * TForm(Form).BorderWidth then begin
              x := BorderWidth;
              inc(y, MenuHeight);
            end;

            r := Rect(x, y, x + w + Offs - SymbolWidth, y + MenuHeight);
            LocalItem.OnAdvancedDrawItem(LocalItem,
                                 FsStyle.FCacheBmp.Canvas, R, []);
            x := r.Right;
            ItemProcessed := i + 1;
            inc(j);
          end;
        end;
      end;
    end;
  end;
begin
  Offs := GetSystemMetrics(SM_CXMENUSIZE);
  Iconic := IsIconic(Form.Handle);
  CY := BorderHeight;
  h := 2 * CY + CaptionHeight;
  ItemProcessed := 0;
  SymbolWidth := 6;
  if Iconic then begin
    rForm := Rect(0, 0, IconicWidth, h - CY + 1);//IconicHeight);
  end
  else begin
    rForm := Rect(0, 0, Form.Width, Form.Height)
  end;
  if BGChanged then begin //and (FsStyle.FCacheBmp.Width <> Form.Width) and (FsStyle.FCacheBmp.Height <> Form.Height) then begin
    RgnChanged := True;
    ci.Ready := False;
    FsStyle.FCacheBmp.Width := Form.Width;
    FsStyle.FCacheBmp.Height := Form.Height;

    if IsValidSkinIndex(sStyle.SkinIndex) then begin
      // Paint body
      if (Form.BorderStyle <> bsNone) then begin
        PaintItem(sStyle.SkinIndex, sStyle.SkinSection, EmptyCI, False, integer(FormActive), rForm, Point(0, 0), FsStyle.FCacheBmp);
      end
      else begin
        PaintItemBG(sStyle.SkinIndex, sStyle.SkinSection, EmptyCI, integer(FormActive), rForm, Point(0, 0), FsStyle.FCacheBmp);
      end;

      // Prepare cache info
      ci.Bmp := FsStyle.FCacheBmp;
      ci.X := OffsetX; ci.Y := OffsetY;
      ci.Ready := True;

      if (Form.BorderStyle <> bsNone) then begin
        // Paint title
        i := GetSkinIndex(FormTitle);
        if Iconic and IsValidSkinIndex(i) then begin
          PaintItem(i, FormTitle, ci, True, integer(FormActive),
            Rect(0, 0, rForm.Right, rForm.Bottom),
            Point(0, 0), FsStyle.FCacheBmp);
        end
        else begin
          if IsValidSkinIndex(i) then
            PaintItem(i, FormTitle, ci, True, integer(FormActive),
              Rect(0, 0, rForm.Right, h - CY),
              Point(0, 0), FsStyle.FCacheBmp);
        end;
      end;

      if not Iconic then begin
        if (Form.BorderStyle <> bsNone) then begin
          // Paint title toolbar if exists
          i := sStyle.GetMaskIndex(NormalTitleBar);
          if IsValidImgIndex(i) then begin
            DrawMaskRect(FsStyle.FCacheBmp, ma[i].Bmp,
                   integer(FormActive),
                   Rect(Form.Width - BarWidth(i), 0, FsStyle.FCacheBmp.Width, h - CY),
                   ma[i].TransparentColor, True, EmptyCI);
          end;
        end;

        if (Form.Menu <> nil) and MenuPresent and (MenuHeight > 0) then begin
          LinesCount := GetLinesCount;

          // Paint menu bar
          i := GetSkinIndex(MenuLine);
          if IsValidSkinIndex(i) then
            PaintItem(i, MenuLine, ci, True, integer(FormActive),
              Rect(0, CaptionHeight + BorderHeight, FsStyle.FCacheBmp.Width, CaptionHeight + BorderHeight + LinesCount * MenuHeight + 1),
              Point(0, CaptionHeight + BorderHeight),
              FsStyle.FCacheBmp);

          // Store bg for Menu line
          MenuLineBmp.Width := Form.Width;
          MenuLineBmp.Height := LinesCount * MenuHeight + 1;
          BitBlt(MenuLineBmp.Canvas.Handle, 0, 0, MenuLineBmp.Width, MenuLineBmp.Height,
               FsStyle.FCacheBmp.Canvas.Handle, 0, BorderHeight + CaptionHeight, SRCCOPY);
//          Exit;
          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

          // Draw maximized child form icon
          if ChildIconPresent and (MDISkinProvider = Self) then begin
            if Form.ActiveMDIChild.Icon.Handle <> 0 then begin
              DrawIconEx(sStyle.FCacheBmp.Canvas.Handle, BorderWidth + 1, CaptionHeight + BorderHeight + 1, Form.ActiveMDIChild.Icon.Handle, MenuHeight - 2, MenuHeight - 2, 0, 0, di_Normal);
            end
            else begin
              if Application.Icon.Handle <> 0 then begin
                DrawIconEx(sStyle.FCacheBmp.Canvas.Handle, BorderWidth + 1, CaptionHeight + BorderHeight + 1, Application.Icon.Handle, MenuHeight - 2, MenuHeight - 2, 0, 0, di_Normal);
              end
              else begin
                DrawIconEx(sStyle.FCacheBmp.Canvas.Handle, BorderWidth + 1, CaptionHeight + BorderHeight + 1, LoadIcon(0, IDI_APPLICATION), MenuHeight - 2, MenuHeight - 2, 0, 0, di_Normal);
              end;
            end;
          end;

          // Paint menu items
          x := BorderWidth;
          y := BorderHeight + CaptionHeight;// - 1;

          ChangedIndex := -1;
          Index := 0;
          while Index <= Form.Menu.Items.Count - 1 do begin
            w := 0;
            h := 0;
            CurrentItem := Form.Menu.Items[Index];
            if (CurrentItem.GroupIndex = ChangedIndex) or ProcessMerged(CurrentItem.GroupIndex) then begin
              inc(Index);
              continue;
            end
            else begin
              if not Assigned(CurrentItem.OnMeasureItem) or not Assigned(CurrentItem.OnAdvancedDrawItem) or
                                      not CurrentItem.Visible then Break;

              w := 0;
              h := 0;
              CurrentItem.OnMeasureItem(CurrentItem, FsStyle.FCacheBmp.Canvas, w, h);

              if x + w + Offs - SymbolWidth > Form.Width - 2 * BorderWidth - 6 - 2 * TForm(Form).BorderWidth then begin
                x := BorderWidth;
                inc(y, MenuHeight);
              end;

              r := Rect(x, y, x + w + Offs - SymbolWidth, y + MenuHeight);
              CurrentItem.OnAdvancedDrawItem(CurrentItem, FsStyle.FCacheBmp.Canvas, R, []);
              inc(x, w + Offs - SymbolWidth);
              inc(Index);
            end;
          end;
          ProcessMerged(99999);

          //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
          //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        end;

        if (Form.BorderStyle <> bsNone) then begin
          // Draw app icon
          if IconVisible then begin
            if TForm(Form).Icon.Handle <> 0 then begin
              DrawIconEx(FsStyle.FCacheBmp.Canvas.Handle, IconRect.Left, IconRect.Top, TForm(Form).Icon.Handle, WidthOf(IconRect), HeightOf(IconRect), 0, 0, di_Normal);
            end
            else begin
              if Application.Icon.Handle <> 0 then begin
                DrawIconEx(FsStyle.FCacheBmp.Canvas.Handle, IconRect.Left, IconRect.Top, Application.Icon.Handle, WidthOf(IconRect), HeightOf(IconRect), 0, 0, di_Normal);
              end
              else begin
                DrawIconEx(FsStyle.FCacheBmp.Canvas.Handle, IconRect.Left, IconRect.Top, LoadIcon(0, IDI_APPLICATION), WidthOf(IconRect), HeightOf(IconRect), 0, 0, di_Normal);
              end;
            end;
          end;

          if not Iconic then begin
            // Store bg for buttons
            TempBmp.Width := ButtonsCount * (ButtonWidth + 1) + BorderWidth;
            TempBmp.Height := HeaderHeight;//CaptionHeight + 2 * CY + 6;
            BitBlt(TempBmp.Canvas.Handle, 0, 0, TempBmp.Width, TempBmp.Height,
                   FsStyle.FCacheBmp.Canvas.Handle, Form.Width - TempBmp.Width - 1, 0, SRCCOPY);

            // Paint buttons
            PaintBorderIcons;
          end;

          // Out title text
          FsStyle.FCacheBmp.Canvas.Font.Assign(Form.Font);
          FsStyle.FCacheBmp.Canvas.Font.Style := FsStyle.FCacheBmp.Canvas.Font.Style + [fsBold];
          i := GetSkinIndex(FormTitle);
          if Iconic then begin
            s := CutText(FsStyle.FCacheBmp.Canvas, Form.Caption, rForm.right - IconRect.Right - 8);
          end
          else begin
            s := CutText(FsStyle.FCacheBmp.Canvas, Form.Caption, rForm.right - IconRect.Right - ButtonsCount * ButtonWidth - 16);
          end;
          r := Rect(BorderWidth + integer(IconVisible) * WidthOf(IconRect) + 4, CY, FsStyle.FCacheBmp.Canvas.TextWidth(s), CaptionHeight);
          WriteTextEx(FsStyle.FCacheBmp.Canvas, PChar(s), Form.Enabled, r, 0, i, FormActive);
        end;
      end;
      // Paint MDIArea
      if (Form.FormStyle = fsMDIForm) then begin
        if (Assigned(Form.ActiveMDIChild) and (Form.ActiveMDIChild.WindowState = wsMaximized)) then Exit;
        w := TsMDIForm(MDIForm).Width;
        h := TsMDIForm(MDIForm).Height;
        x := TsMDIForm(MDIForm).Left;
        y := TsMDIForm(MDIForm).Top;

        CI.Bmp := sStyle.FCacheBmp;
        CI.Ready := True;
        CI.X := 0;
        CI.Y := 0;
        i := GetSkinIndex(MDIArea);
        PaintItem(i, MDIArea, CI, False, 0, Rect(x, y, x + w, y + h), Point(x, y), sStyle.FCacheBmp.Canvas.Handle);
      end;
    end;
    // Paint shadows (currently n/a)
{    for i := 0 to Form.ControlCount - 1 do begin
      sc := GetsStyle(Form.Controls[i]);
//      if (csDestroying in Form.Controls[i].ComponentState) then Continue;
      if Assigned(sc) and (sc.SkinIndex > -1) and Form.Controls[i].Visible then begin
        sc.PaintShadow(sStyle.FCacheBmp.Canvas, OffsetX, OffsetY);
      end
      else
      if Assigned(sc) and (sc.COC > 0) and sc.Effects.Shadow.Enabled and Form.Controls[i].Visible then begin
        sc.PaintShadow(sStyle.FCacheBmp.Canvas, OffsetX, OffsetY);
      end;
    end;  }
  end;
end;

procedure TsSkinProvider.PaintBG;
var
  aRect: TRect;
  bmp : TBitmap;
  TransColor : TsColor;
  iDrawed : boolean;

  procedure FillCanvas(bmp : TBitmap); begin
    BMP.Canvas.Pen.Style := psClear;
    BMP.Canvas.Brush.Style := bsSolid;
    BMP.Canvas.Brush.Color := ColorToRGB(Form.Color);
    BMP.Canvas.Rectangle(aRect.Left, aRect.Top, aRect.Right + 1, aRect.Bottom + 1);
  end;
  procedure PaintAddons; var i : integer; begin
    iDrawed := False;
    // BGImage painting
    if (gd[sStyle.SkinIndex].ImagePercent > 0) then begin
      i := sStyle.GetMaskIndex(PatternFile);
      if (i > -1) and (ma[i].Bmp <> nil)
           and (ma[i].Bmp.Width <> 0)
           and (ma[i].Bmp.Height <> 0) then begin
        TileBitmap(sStyle.FCacheBmp.Canvas, aRect, ma[i].Bmp);
        iDrawed := True;
      end
      else begin
        FillCanvas(sStyle.FCacheBmp);
      end;
    end;
    // BGGradient painting
    if (gd[sStyle.SkinIndex].GradientPercent > 0) then begin
      if iDrawed then begin
        bmp := TBitmap.Create;
        bmp.PixelFormat := pf24bit;
        bmp.Width := Form.Width;
        bmp.Height := Form.Height;
        try

          if Length(gd[sStyle.SkinIndex].GradientData) > 0 then begin
            PaintGrad(Bmp, aRect, gd[sStyle.SkinIndex].GradientArray);
          end
          else begin
            FillCanvas(Bmp);
          end;

          TransColor.A := 0;
          TransColor.R := gd[sStyle.SkinIndex].ImagePercent * 256 div 100;
          TransColor.G := TransColor.R;
          TransColor.B := TransColor.R;

          SumBitmaps(sStyle.FCacheBmp, Bmp, TransColor);
        finally
          FreeAndNil(Bmp);
        end;
      end
      else begin
        if Length(gd[sStyle.SkinIndex].GradientData) > 0 then begin
          PaintGrad(sStyle.FCacheBmp, aRect, gd[sStyle.SkinIndex].GradientArray);
        end
        else begin
          FillCanvas(sStyle.FCacheBmp);
        end;
      end;
    end;
    if gd[sStyle.SkinIndex].GradientPercent + gd[sStyle.SkinIndex].ImagePercent in [1..100] then begin
      BlendColorRect(sStyle.FCacheBmp,
                                 Rect(0,
                                      0,
                                      sStyle.FCacheBmp.Width,
                                      sStyle.FCacheBmp.Height),
                         (gd[sStyle.SkinIndex].GradientPercent + gd[sStyle.SkinIndex].ImagePercent),
                 ColorToRGB(Form.Color));
    end
    else begin
      sStyle.FCacheBmp.Canvas.Pen.Style := psClear;
      sStyle.FCacheBmp.Canvas.Brush.Style := bsSolid;
      sStyle.FCacheBmp.Canvas.Brush.Color := ColorToRGB(Form.Color);
      sStyle.FCacheBmp.Canvas.Rectangle(aRect.Left, aRect.Top, aRect.Right + 1, aRect.Bottom + 1);
    end;
  end;
begin
  aRect := Rect(0, 0, Form.Width, Form.Height);
  PaintAddons;

{
  wc := Form;//TWinControl(FOwner);
  for i := 0 to wc.ControlCount - 1 do begin
    sc := GetsStyle(wc.Controls[i]);
    if (csDestroying in wc.Controls[i].ComponentState) then break;

    if Assigned(sc) and (sc.SkinIndex > -1) and wc.Controls[i].Visible then begin
      sc.PaintShadow(sStyle.FCacheBmp.Canvas, OffsetX, OffsetY);
    end
    els

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区按摩在线观看| 欧美日韩国产一级| 欧美在线观看视频一区二区| 日韩欧美亚洲国产精品字幕久久久| 国产日产欧产精品推荐色| 亚洲与欧洲av电影| 国产成人精品免费一区二区| 欧美精品视频www在线观看| 中文字幕不卡在线观看| 日本亚洲天堂网| 91国偷自产一区二区三区观看| 国产日本欧美一区二区| 伦理电影国产精品| 欧美性受xxxx| 亚洲女厕所小便bbb| 国产大陆精品国产| 久久伊99综合婷婷久久伊| 午夜激情一区二区| 91美女片黄在线观看91美女| 国产欧美日本一区视频| 国产一区二区三区视频在线播放| 欧美精品日日鲁夜夜添| 亚洲综合小说图片| 91美女片黄在线观看| 国产精品灌醉下药二区| 高清不卡一区二区在线| 欧美经典一区二区三区| 国产在线播放一区| 欧美精品一区二区不卡| 精品一区二区久久久| 欧美一级黄色录像| 毛片不卡一区二区| 欧美一级搡bbbb搡bbbb| 日韩高清不卡一区二区三区| 欧美三级韩国三级日本一级| 亚洲一区二区三区在线看| 欧美三级中文字幕| 日韩中文字幕区一区有砖一区 | 国产日产欧美一区二区视频| 久草在线在线精品观看| 久久在线免费观看| 成人免费va视频| 综合欧美亚洲日本| 在线观看免费亚洲| 日韩电影在线观看电影| 日韩美女视频一区二区在线观看| 久久国产尿小便嘘嘘| 久久久久久麻豆| 波多野结衣精品在线| 亚洲综合色自拍一区| 51精品秘密在线观看| 黄一区二区三区| 国产精品每日更新在线播放网址| k8久久久一区二区三区| 亚洲国产日日夜夜| 在线播放欧美女士性生活| 中文字幕在线观看不卡视频| 狠狠久久亚洲欧美| 国产精品毛片大码女人| 欧美三电影在线| 久久99久久久久久久久久久| 国产欧美一二三区| 欧美亚洲免费在线一区| 国内精品视频一区二区三区八戒| 国产精品人人做人人爽人人添| 日本黄色一区二区| 美国十次综合导航| 自拍偷自拍亚洲精品播放| 91精品国产麻豆| 成人亚洲一区二区一| 亚洲成国产人片在线观看| 久久无码av三级| 欧美亚洲免费在线一区| 国产高清不卡二三区| 亚洲国产成人91porn| 日本一区二区三区视频视频| 欧美午夜精品一区二区蜜桃 | 岛国一区二区在线观看| 香港成人在线视频| 国产精品美女久久久久aⅴ | 国产69精品久久777的优势| 亚洲午夜激情av| 国产精品免费网站在线观看| 51精品秘密在线观看| 色偷偷成人一区二区三区91| 国产在线精品一区二区夜色| 亚洲国产精品久久不卡毛片| 久久久久国产精品免费免费搜索| 欧美日韩日日摸| 99久久精品99国产精品 | 天天综合色天天| 中文字幕一区二区三区精华液 | 精品夜夜嗨av一区二区三区| 亚洲国产日韩av| 亚洲欧洲美洲综合色网| 久久久久久一二三区| 91精品国产色综合久久不卡蜜臀| 91美女蜜桃在线| 成人黄页毛片网站| 国产精品一二三区在线| 久久99在线观看| 人人爽香蕉精品| 日韩vs国产vs欧美| 亚洲va欧美va天堂v国产综合| 国产精品久久久久精k8| 欧美激情一区在线| 久久五月婷婷丁香社区| 久久久久综合网| 欧美精品一区二区三区一线天视频| 欧美日韩免费一区二区三区视频| 一本大道综合伊人精品热热 | 欧美剧在线免费观看网站 | 中文字幕一区二区三区不卡在线| 久久久久久久久久久久久夜| 精品国产电影一区二区| 精品久久久久一区二区国产| 欧美一区二区三区白人| 日韩西西人体444www| 欧美一卡在线观看| 日韩精品综合一本久道在线视频| 日韩视频一区二区在线观看| 日韩三级在线观看| 精品不卡在线视频| 久久久久久亚洲综合影院红桃| 久久精品亚洲国产奇米99| 久久久久久久综合| 国产精品麻豆视频| 亚洲黄色尤物视频| 亚洲国产日韩a在线播放| 天天综合色天天综合色h| 看片网站欧美日韩| 国产aⅴ精品一区二区三区色成熟| 懂色av中文字幕一区二区三区| 99久久精品国产毛片| 欧美午夜精品一区| 欧美一区中文字幕| 久久综合色8888| 国产精品久久久久精k8| 一二三四区精品视频| 奇米精品一区二区三区在线观看| 国产乱子轮精品视频| jlzzjlzz亚洲日本少妇| 欧美视频第二页| 欧美成人一区二区三区片免费 | 亚洲激情综合网| 日韩av在线播放中文字幕| 国产一区二区中文字幕| aaa国产一区| 欧美丰满高潮xxxx喷水动漫| 久久精品视频一区| 一区二区三区四区av| 卡一卡二国产精品 | 国产精品一区久久久久| 色综合久久久久综合体桃花网| 欧美伦理影视网| 中文字幕av不卡| 亚洲bt欧美bt精品| 成人av影院在线| 7777精品伊人久久久大香线蕉超级流畅| 久久中文字幕电影| 一区二区三区四区中文字幕| 精品一区二区免费在线观看| 色婷婷综合五月| 国产午夜精品一区二区三区嫩草| 亚洲一区av在线| 国产高清一区日本| 制服.丝袜.亚洲.中文.综合| 国产精品免费免费| 韩国三级电影一区二区| 欧美日韩日本视频| 一色屋精品亚洲香蕉网站| 激情六月婷婷久久| 欧美女孩性生活视频| 亚洲欧美色综合| 粉嫩嫩av羞羞动漫久久久| 日韩一级片网址| 亚洲午夜在线视频| 91免费看视频| 国产欧美日韩麻豆91| 黄色精品一二区| 日韩三级在线观看| 丝瓜av网站精品一区二区| 色哟哟一区二区在线观看| 欧美激情一区二区三区在线| 极品少妇一区二区三区精品视频 | 99re热这里只有精品免费视频| 2023国产一二三区日本精品2022| 日本欧美一区二区在线观看| 欧美三级视频在线播放| 亚洲激情综合网| 91国偷自产一区二区使用方法| 中文字幕一区二区三中文字幕| 成人免费视频caoporn| 久久久不卡网国产精品一区| 免费欧美高清视频| 日韩亚洲欧美高清| 精品一区二区三区免费毛片爱| 欧美一区日韩一区| 日韩**一区毛片| 日韩欧美国产高清|