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

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

?? sskinprovider.pas

?? AlphaControls是一個Delphi標準控件的集合
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
        Message.Result := CallWindowProc(pointer(OldInstance), Form.Handle, Message.Msg, Message.wParam, Message.lParam);
        if OldCaption <> Form.Caption then begin
          OldCaption := Form.Caption;
          BGChanged := True;
          SendMessage(Form.Handle, WM_NCPAINT, 0, 0);
        end;
      end;
      WM_GETTEXT : begin
        Message.Result := CallWindowProc(pointer(OldInstance), Form.Handle, Message.Msg, Message.wParam, Message.lParam);
        if OldCaption1 <> Form.Caption then begin
          OldCaption1 := Form.Caption;
          BGChanged := True;
          SendMessage(Form.Handle, WM_NCPAINT, 0, 0);
        end;
      end;
      // Caption changing
      WM_COMMAND : begin
        cm := TWMCommand(Message);
        case cm.NotifyCode of
          EN_CHANGE : begin
            Message.Result := CallWindowProc(pointer(OldInstance), Form.Handle, Message.Msg, Message.wParam, Message.lParam);
            BGChanged := True;
            SendMessage(Form.Handle, WM_NCPAINT, 0, 0);
          end;
          EN_UPDATE : begin
          end
          else Message.Result := CallWindowProc(pointer(OldInstance), Form.Handle, Message.Msg, Message.wParam, Message.lParam);
        end;
      end
      else begin
{$IFDEF LOCALDEBUG}
        if Assigned(Form1) and Assigned(Form1.List) and not (csCreating in Form1.ControlState) then
        Form1.List.Add(MessageToStr(Message.Msg) + ' : ' + IntToStr(Message.WParam));
{$ENDIF}
        if Message.Msg = RM_TaskbarCreated then else
          Message.Result := CallWindowProc(pointer(OldInstance), Form.Handle, Message.Msg, Message.wParam, Message.lParam);
      end;
    end;
  end;
end;

procedure TsSkinProvider.PaintBorderIcons;
var
  i, b : integer;
begin
  b := 2;
  if biSystemMenu in FsBorderIcons then begin
    if IsValidImgIndex(ButtonClose.ImageIndex) then begin
      ButtonClose.Rect.Left := Form.Width - BorderWidth - ButtonWidth - 1;
      ButtonClose.Rect.Top := (CaptionHeight - ButtonHeight + BorderHeight) div 2;
      ButtonClose.Rect.Right := ButtonClose.Rect.Left + ButtonWidth;
      ButtonClose.Rect.Bottom := ButtonClose.Rect.Top + ButtonHeight;
      PaintBlendGlyph(sStyle.FCacheBmp, ma[ButtonClose.ImageIndex].Bmp,
                Point(ButtonClose.Rect.Left, ButtonClose.Rect.Top),
                ButtonClose.State, ma[ButtonClose.ImageIndex].TransparentColor, 1 + integer(not FormActive));
    end;
    if SystemMenu.VisibleMax then begin
      if SystemMenu.EnabledMax then begin
        if IsValidImgIndex(ButtonMax.ImageIndex) then begin
          ButtonMax.Rect.Left := Form.Width - BorderWidth - b * (ButtonWidth + 1);
          ButtonMax.Rect.Top := (CaptionHeight - ButtonHeight + BorderHeight) div 2;
          ButtonMax.Rect.Right := ButtonMax.Rect.Left + ButtonWidth;
          ButtonMax.Rect.Bottom := ButtonMax.Rect.Top + ButtonHeight;
          PaintBlendGlyph(sStyle.FCacheBmp, ma[ButtonMax.ImageIndex].Bmp,
                    Point(ButtonMax.Rect.Left, ButtonMax.Rect.Top),
                    ButtonMax.State, ma[ButtonMax.ImageIndex].TransparentColor, 1 + integer(not FormActive));
          inc(b);
        end;
      end
      else begin
        i := sStyle.GetMaskIndex(BorderIconNormalize);
        if i > -1 then begin
          ButtonMax.Rect.Left := Form.Width - BorderWidth - b * (ButtonWidth + 1);
          ButtonMax.Rect.Top := (CaptionHeight - ButtonHeight + BorderHeight) div 2;
          ButtonMax.Rect.Right := ButtonMax.Rect.Left + ButtonWidth;
          ButtonMax.Rect.Bottom := ButtonMax.Rect.Top + ButtonHeight;
          PaintBlendGlyph(sStyle.FCacheBmp, ma[i].Bmp,
                    Point(ButtonMax.Rect.Left, ButtonMax.Rect.Top),
                    ButtonMax.State, ma[i].TransparentColor, 1 + integer(not FormActive));
          inc(b);
        end;
      end;
    end;
    if SystemMenu.VisibleMin then begin
      if IsValidImgIndex(ButtonMin.ImageIndex) then begin
        ButtonMin.Rect.Left := Form.Width - BorderWidth - b * (ButtonWidth + 1);
        ButtonMin.Rect.Top := (CaptionHeight - ButtonHeight + BorderHeight) div 2;
        ButtonMin.Rect.Right := ButtonMin.Rect.Left + ButtonWidth;
        ButtonMin.Rect.Bottom := ButtonMin.Rect.Top + ButtonHeight;
        PaintBlendGlyph(sStyle.FCacheBmp, ma[ButtonMin.ImageIndex].Bmp,
                  Point(ButtonMin.Rect.Left, ButtonMin.Rect.Top),
                  ButtonMin.State, ma[ButtonMin.ImageIndex].TransparentColor, 1 + integer(not FormActive));
        inc(b);
      end;
    end;
    if biHelp in FsBorderIcons then begin
      if IsValidImgIndex(ButtonHelp.ImageIndex) then begin
        ButtonHelp.Rect.Left := Form.Width - BorderWidth - b * (ButtonWidth + 1);
        ButtonHelp.Rect.Top := (CaptionHeight - ButtonHeight + BorderHeight) div 2;
        ButtonHelp.Rect.Right := ButtonHelp.Rect.Left + ButtonWidth;
        ButtonHelp.Rect.Bottom := ButtonHelp.Rect.Top + ButtonHeight;
        PaintBlendGlyph(sStyle.FCacheBmp, ma[ButtonHelp.ImageIndex].Bmp,
                  Point(ButtonHelp.Rect.Left, ButtonHelp.Rect.Top),
                  ButtonHelp.State, ma[ButtonHelp.ImageIndex].TransparentColor, 1 + integer(not FormActive));
      end;
    end;
  end;

  // Drawing of MDI child buttons if maximized
  if MDIButtonsNeeded then begin
    LinesCount := GetLinesCount;
    if IsValidImgIndex(MDIMin.ImageIndex) then begin
      MDIMin.Rect := Rect(
                          Form.Width - BorderWidth - 3 * (SmallButtonWidth + 1),
                          HeaderHeight - (MenuHeight - SmallButtonHeight) div 2 - SmallButtonHeight - 1,
                          MDIMin.Rect.Left + SmallButtonWidth,
                          MDIMin.Rect.Top + SmallButtonHeight
                         );

      PaintBlendGlyph(sStyle.FCacheBmp, ma[MDIMin.ImageIndex].Bmp,
                Point(MDIMin.Rect.Left, MDIMin.Rect.Top),
                MDIMin.State, ma[MDIMin.ImageIndex].TransparentColor, 1 + integer(not FormActive));
    end;
    if IsValidImgIndex(MDIMax.ImageIndex) then begin
      MDIMax.Rect := Rect(
                          Form.Width - BorderWidth - 2 * (SmallButtonWidth + 1),
                          HeaderHeight - (MenuHeight - SmallButtonHeight) div 2 - SmallButtonHeight - 1,
                          MDIMax.Rect.Left + SmallButtonWidth,
                          MDIMax.Rect.Top + SmallButtonHeight
                         );

      PaintBlendGlyph(sStyle.FCacheBmp, ma[MDIMax.ImageIndex].Bmp,
                Point(MDIMax.Rect.Left, MDIMax.Rect.Top),
                MDIMax.State, ma[MDIMax.ImageIndex].TransparentColor, 1 + integer(not FormActive));
    end;
    if IsValidImgIndex(MDIClose.ImageIndex) then begin
      MDIClose.Rect.Left   := Form.Width - BorderWidth - SmallButtonWidth - 1;
      MDIClose.Rect.Top    := HeaderHeight - (MenuHeight - SmallButtonHeight) div 2 - SmallButtonHeight - 1;
      MDIClose.Rect.Right  := MDIClose.Rect.Left + SmallButtonWidth;
      MDIClose.Rect.Bottom := MDIClose.Rect.Top + SmallButtonHeight;

      PaintBlendGlyph(sStyle.FCacheBmp, ma[MDIClose.ImageIndex].Bmp,
                Point(MDIClose.Rect.Left, MDIClose.Rect.Top),
                MDIClose.State, ma[MDIClose.ImageIndex].TransparentColor, 1 + integer(not FormActive));
    end;
  end;
end;

procedure TsSkinProvider.PaintCaption(DC : hdc);
var
  h, hmnu : integer;
begin
  h := BorderHeight + CaptionHeight;
  if IsIconic(Form.Handle) then inc(h);

  if BGChanged then begin
    PaintAll;
    BGChanged := False;
  end;                             

  hmnu := LinesCount * MenuHeight * integer(MenuPresent);

  // Title and menu line update
  BitBlt(DC, 0, 0, Form.Width, h + hmnu + integer(MenuPresent) + TForm(Form).BorderWidth, FsStyle.FCacheBmp.Canvas.Handle, 0, 0, SRCCOPY);
  // Left border update
  BitBlt(DC, 0, h + hmnu + TForm(Form).BorderWidth, Borderwidth + TForm(Form).BorderWidth, FsStyle.FCacheBmp.Height, FsStyle.FCacheBmp.Canvas.Handle, 0, h + hmnu + TForm(Form).BorderWidth, SRCCOPY);
  // Bottom border update
  BitBlt(DC, Borderwidth + TForm(Form).BorderWidth,
             {FsStyle.FCacheBmp.}Form.Height - Borderwidth - TForm(Form).BorderWidth,
             Form.Width - BorderWidth - TForm(Form).BorderWidth,
             Borderwidth + TForm(Form).BorderWidth,
             FsStyle.FCacheBmp.Canvas.Handle,
             Borderwidth + TForm(Form).BorderWidth,
             Form.Height - BorderHeight - TForm(Form).BorderWidth,
  SRCCOPY);
  // Right border update
  BitBlt(DC, FsStyle.FCacheBmp.Width - Borderwidth - TForm(Form).BorderWidth, h + hmnu + TForm(Form).BorderWidth, Borderwidth + TForm(Form).BorderWidth, FsStyle.FCacheBmp.Height, FsStyle.FCacheBmp.Canvas.Handle, FsStyle.FCacheBmp.Width - Borderwidth - TForm(Form).BorderWidth, h + hmnu + TForm(Form).BorderWidth, SRCCOPY);
end;

procedure TsSkinProvider.PaintForm(DC : hdc);
//var
//  m : TMessage;
begin
  PaintAll;
//  m := MakeMessage(SM_SETBGCHANGED, 0, integer(BGChanged), 0);
//  BroadCasts(Form, m);
//  RepaintsControls(Form, BGChanged);

//  if Form.FormStyle <> fsMDIForm then begin
  BitBlt(DC, 0, 0,
         Form.Width, Form.Height,
         FsStyle.FCacheBmp.Canvas.Handle,
         (BorderWidth + Form.BorderWidth),
         (BorderHeight + CaptionHeight + LinesCount * MenuHeight * integer(MenuPresent) + Form.BorderWidth) + 1,
         SRCCOPY);
//  end;

  PaintPassiveControls(Form);
//  Form.PaintControls(Form.Canvas.Handle, nil);

  BGChanged := False;
end;

procedure TsSkinProvider.SetBorderIcons(const Value: TsBorderIcons);
begin
  if FsBorderIcons <> Value then begin
    FsBorderIcons := Value;
//    if not (csDesigning in ComponentState) then PaintForm;
  end;
end;

procedure TsSkinProvider.SetHotHT(i: integer);
begin
  if HotItem.Item <> nil then begin
    RepaintMenuItem(HotItem.Item, HotItem.R, []);
    HotItem.Item := nil;
  end;
  if (CurrentHT = i) then Exit;
  if (CurrentHT <> 0) then begin
    case CurrentHT of
      HTCLOSE : begin
        ButtonClose.State := 0;
      end;
      HTMAXBUTTON : begin
        ButtonMax.State := 0;
      end;
      HTMINBUTTON : begin
        ButtonMin.State := 0;
      end;
      HTHELP : begin
        ButtonHelp.State := 0;
      end;
      HTCHILDCLOSE : begin
        MDIClose.State := 0;
      end;
      HTCHILDMAX : begin
        MDIMax.State := 0;
      end;
      HTCHILDMIN : begin
        MDIMin.State := 0;
      end;
    end;
    RepaintButton(CurrentHT);
  end;
  CurrentHT := i;
  case CurrentHT of
    HTCLOSE : begin
      ButtonClose.State := 1;
    end;
    HTMAXBUTTON : begin
      ButtonMax.State := 1;
    end;
    HTMINBUTTON : begin
      ButtonMin.State := 1;
    end;
    HTHELP : begin
      ButtonHelp.State := 1;
    end;
    HTCHILDCLOSE : begin
      MDIClose.State := 1;
    end;
    HTCHILDMAX : begin
      MDIMax.State := 1;
    end;
    HTCHILDMIN : begin
      MDIMin.State := 1;
    end;
  end;
  RepaintButton(CurrentHT);
end;

procedure TsSkinProvider.SetPressedHT(i: integer);
begin
  if (CurrentHT <> i) and (CurrentHT <> 0) then begin
    case CurrentHT of
      HTCLOSE : begin
        ButtonClose.State := 0;
      end;
      HTMAXBUTTON : begin
        ButtonMax.State := 0;
      end;
      HTMINBUTTON : begin
        ButtonMin.State := 0;
      end;
      HTHELP : begin
        ButtonHelp.State := 0;
      end;
      HTCHILDCLOSE : begin
        MDIClose.State := 0;
      end;
      HTCHILDMAX : begin
        MDIMax.State := 0;
      end;
      HTCHILDMIN : begin
        MDIMin.State := 0;
      end;
    end;
    RepaintButton(CurrentHT);
  end;
  CurrentHT := i;
  case CurrentHT of
    HTCLOSE : begin
      ButtonClose.State := 2;
    end;
    HTMAXBUTTON : begin
      ButtonMax.State := 2;
    end;
    HTMINBUTTON : begin
      ButtonMin.State := 2;
    end;
    HTHELP : begin
      ButtonHelp.State := 2;
    end;
    HTCHILDCLOSE : begin
      MDIClose.State := 2;
    end;
    HTCHILDMAX : begin
      MDIMax.State := 2;
    end;
    HTCHILDMIN : begin
      MDIMin.State := 2;
    end;
  end;
  RepaintButton(CurrentHT);
  Application.ProcessMessages;
end;

procedure TsSkinProvider.PaintAll;
var
  Index, i, CY : integer;
  x, w, h, y : integer;
  s : string;
  r, rForm : TRect;
  ci : TCacheInfo;
  CurrentItem : TMenuItem;
  ItemProcessed : integer;
  ChangedIndex : integer;
  Iconic : boolean;
  function ProcessMerged(CurrentIndex : integer) : boolean;
  var
    i, j, h, w : integer;
    LocalItem : TMenuItem;
  begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩三级视频| 久久综合狠狠综合久久激情| 久久99精品久久久| 亚洲色图.com| 国产亚洲精品7777| 欧美高清视频www夜色资源网| 大白屁股一区二区视频| 看电视剧不卡顿的网站| 亚洲免费观看视频| 中文字幕欧美国产| 欧美大黄免费观看| 欧美老人xxxx18| 91免费观看视频| 成人亚洲一区二区一| 狠狠色综合日日| 蜜桃久久久久久| 日韩精品国产精品| 午夜av电影一区| 亚洲午夜久久久久久久久电影网| 最新欧美精品一区二区三区| 久久精品视频网| 久久亚洲二区三区| 日韩免费高清电影| 欧美一区二区精品久久911| 欧美亚洲综合另类| 91福利在线免费观看| 91麻豆免费看| 91蜜桃在线免费视频| 99在线视频精品| 97成人超碰视| 91国偷自产一区二区三区观看 | 欧美精品日日鲁夜夜添| 在线日韩一区二区| 色噜噜狠狠一区二区三区果冻| 成人性生交大合| 成人性生交大片免费看在线播放| 国产91精品一区二区麻豆网站| 国产成人精品亚洲午夜麻豆| 国产精品一区在线| 国产成人午夜高潮毛片| 成人精品亚洲人成在线| 91麻豆视频网站| 欧美三级在线播放| 欧美理论在线播放| 欧美变态口味重另类| 精品国产乱码久久久久久老虎 | 亚洲男人的天堂在线观看| 亚洲国产成人私人影院tom| 国产精品福利在线播放| 亚洲天堂2016| 亚洲高清在线视频| 午夜精品免费在线| 久久精品国产一区二区三 | 成人ar影院免费观看视频| 成人黄色777网| 在线视频综合导航| 欧美一二三四在线| 久久久激情视频| 亚洲视频1区2区| 亚洲第一福利一区| 国内精品久久久久影院一蜜桃| 国产精品18久久久久久久久| 99久久久久免费精品国产| 欧美天堂亚洲电影院在线播放| 日韩一卡二卡三卡四卡| 欧美国产视频在线| 亚洲一区二区三区爽爽爽爽爽| 奇米影视一区二区三区小说| 国产成人亚洲综合a∨婷婷图片| 91麻豆swag| 日韩一区二区免费电影| 国产精品福利一区| 人人精品人人爱| 成人免费不卡视频| 欧美日韩成人综合| 国产精品污网站| 亚洲va欧美va国产va天堂影院| 国产精品亚洲成人| 精品视频一区 二区 三区| 久久九九国产精品| 亚洲国产毛片aaaaa无费看| 久久成人18免费观看| 91香蕉国产在线观看软件| 日韩欧美成人午夜| 亚洲品质自拍视频网站| 精品一区二区在线视频| 在线视频亚洲一区| 国产午夜精品福利| 日本免费新一区视频| 91在线丨porny丨国产| 精品99一区二区三区| 亚洲国产日日夜夜| 成人av一区二区三区| 日韩免费看的电影| 一区二区在线观看免费| 国产精品123| 日韩女优av电影| 亚洲国产日韩在线一区模特| 丁香激情综合国产| 精品国产乱码久久久久久影片| 亚洲一级二级在线| 91日韩精品一区| 日本一区免费视频| 久久精品理论片| 欧美理论电影在线| 一区二区免费看| jlzzjlzz国产精品久久| 亚洲精品一区二区三区精华液 | 欧美日韩一级二级三级| 国产精品国产三级国产普通话三级| 久久99热狠狠色一区二区| 欧美三级欧美一级| 一区二区三区在线观看网站| 成人久久18免费网站麻豆| 国产校园另类小说区| 久久99精品久久久久久动态图| 欧美久久久一区| 亚洲福利电影网| 欧美日韩国产高清一区二区三区 | 精品制服美女丁香| 在线综合+亚洲+欧美中文字幕| 亚洲色图清纯唯美| 99久免费精品视频在线观看| 日本一区二区视频在线| 国产精品99久久久| 欧美国产精品v| 国产成人精品免费看| 久久久亚洲精华液精华液精华液| 国内欧美视频一区二区| 精品剧情v国产在线观看在线| 男人的j进女人的j一区| 欧美一区三区二区| 麻豆久久久久久| 精品嫩草影院久久| 国产美女娇喘av呻吟久久| 亚洲精品一区二区三区蜜桃下载| 久久av中文字幕片| 国产色爱av资源综合区| 国产suv精品一区二区883| 中文文精品字幕一区二区| 成人激情av网| 亚洲激情五月婷婷| 欧美色爱综合网| 麻豆国产欧美一区二区三区| 亚洲精品在线观| 成人av电影免费观看| 亚洲综合久久久| 91精品视频网| 国产又黄又大久久| 中文字幕av在线一区二区三区| 91网站视频在线观看| 亚洲福利电影网| 久久综合久久99| 91影院在线观看| 天堂资源在线中文精品| 欧美一区二区三区在线电影| 国产乱码精品一区二区三区av | 国产成人免费9x9x人网站视频| 国产女人aaa级久久久级| 91麻豆蜜桃一区二区三区| 亚洲成人av中文| 精品久久久久一区| 99久久精品一区| 五月天精品一区二区三区| 精品国精品国产| 91视频国产观看| 视频在线在亚洲| 中文欧美字幕免费| 欧美日韩在线三区| 国产精品88888| 亚洲成人午夜影院| 国产女人18毛片水真多成人如厕| 日本二三区不卡| 精品一区二区三区免费视频| 国产精品久久福利| 69久久夜色精品国产69蝌蚪网| 国产盗摄一区二区| 亚洲成人动漫在线观看| 欧美激情中文字幕| 5月丁香婷婷综合| 99久久综合狠狠综合久久| 美洲天堂一区二卡三卡四卡视频| 国产精品色一区二区三区| 欧美一卡在线观看| 91尤物视频在线观看| 狠狠色丁香婷婷综合| 亚洲电影一级黄| 国产精品伦理在线| 欧美一区2区视频在线观看| 91毛片在线观看| 国产精品亚洲一区二区三区在线| 亚洲成人精品影院| 17c精品麻豆一区二区免费| 日韩女优视频免费观看| 欧美色区777第一页| 丁香另类激情小说| 国内成人免费视频| 热久久久久久久| 亚洲电影一区二区三区| 亚洲欧美怡红院|