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

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

?? unttool.pas

?? 半透明顯示在窗體上
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
*   Purpose:
*       To get whether window Show transparent is set
*   Date:
*       New Develop   :   2001-1-11
*       Modified      :   2001-1-11
*****************************************************************************}
function GetRegTransparent(var bTrans:Boolean):BOOL;
begin
  result := true;
  if not GetRegData(APP_KEY_SUBTRANSPARENT,@bTrans,SizeOf(bTrans)) then
  begin
    bTrans := true;
    SetRegTransparent(bTrans);
  end;
end;

{*****************************************************************************
*   Function GetRegShowTray
*   Purpose:
*       To get whether window Show in Tran Area is set
*   Date:
*       New Develop   :   2001-1-11
*       Modified      :   2001-1-11
*****************************************************************************}
function GetRegShowTray(var bOnTray:Boolean):BOOL;
begin
  result := true;
  if not GetRegData(APP_KEY_SUBSHOWTRAY,@bOnTray,SizeOf(bOnTray)) then
  begin
    bOnTray := true;
    SetRegShowTray(bOnTray);
  end;
end;

function GetRegClockStyle(var option:integer):BOOL;
begin
  result := true;
  if not GetRegData(APP_KEY_SUBCLOCKSTYLE,@option,SizeOf(option)) then
  begin
    option := IDM_CIRCLK;
    SetRegClockStyle(option);
  end;
end;

function GetRegShowOnTaskBar(var bShown : boolean):BOOL;
begin
  result := true;
  if not GetRegData(APP_KEY_SUBSHOWONTASKBAR,@bShown,SizeOf(bShown)) then
  begin
    bShown := false;
    SetRegShowOnTaskBar(bShown);
  end;
end;

function GetCheckBitmaps(fuCheck:UINT; menuID:integer):HBITMAP;
var
  crBackground : COLORREF;
  hbrBackground : HBRUSH;
  hbrTargetOld : HBRUSH;
  hdcSource, hdcTarget : HDC;
  bmCheckBox : BITMAP;
  hbmpCheckBoxes,
  hbmpSourceOld,
  hbmpTargetOld,
  hbmpCheck : HBITMAP;
  rc : TRECT;
  wBitmapX,wBitmapY : WORD;
begin
  // Get the Menu background color and crate a solid brush with this color
  crBackground := GetSysColor(COLOR_MENU);
  hbrBackground := CreateSolidBrush(crBackground);

  // Create memory device contexts for the source and destination bitmaps

  hdcSource := CreateCompatibleDC(0);
  hdcTarget := CreateCompatibleDC(hdcSource);

  // Get the size of the system defalt check-mark bitmap and
  // create a compatible bitmap of the same size
  wBitmapX := GetSystemMetrics(SM_CXMENUCHECK);
  wBitmapY := GetSystemMetrics(SM_CYMENUCHECK);
  hbmpCheck := CreateCompatibleBitmap(hdcSource,wBitmapX,wBitmapY);

  // select the background bursh and bitmap into the target DC
  hbrTargetOld := SelectObject(hdcTarget, hbrBackground);
  hbmpTargetOld := SelectObject(hdcTarget, hbmpCheck);

  // use the selected brush to initialize the background color
  // of the bitmap in the target device context

  PatBlt(hdcTarget, 0, 0, wBitmapX, wBitmapY, PATCOPY);

  // load the predefined check box bitmaps and select it
  // into the source DC
  hbmpCheckBoxes := //LoadImage(hInstance,'ICON_MENUCLKSET',IMAGE_ICON,0,0,
      //LR_DEFAULTSIZE);
      LoadBitmap(hInstance,'BITMAP_MENUCLKSET');
  hbmpSourceOld := SelectObject(hdcSource, hbmpCheckBoxes);

  // fill a BITMAP structrure with information about the
  // check box bitmaps and then find the upper-left corner of
  // the unchecked check box or the checked check box

  GetObject(hbmpCheckBoxes, sizeof(bmCheckBox), @bmCheckBox);
  if fuCheck = MF_CHECKED then begin
    rc.left := 0;
    rc.right := bmCheckBox.bmWidth;
  end
  else begin
    rc.Left := 0;
    rc.Right := bmCheckBox.bmWidth;
  end;
  rc.Top := 0;
  rc.Bottom := bmCheckBox.bmHeight ;

  // copy the appropriate bitmap into the target DC. if the
  // check-box bitmap is larger than the default check-mark
  // bitmap, use StrechBlt to make it fit; otherwise , just
  // Copy it

  if ( rc.Right - rc.Left > wBitmapX) or
     ( rc.Bottom - rc.Top > wBitmapY) then
  begin
    StretchBlt(hdcTarget, 0, 0, wBitmapX, wBitmapY,
        hdcSource, rc.left, rc.top, rc.right - rc.left,
        rc.bottom - rc.top, SRCCOPY);
  end
  else begin
    BitBlt(hdcTarget, 0, 0, rc.right - rc.left,
        rc.bottom - rc.top,
        hdcSource, rc.left, rc.top, SRCCOPY);
  end;

  // select the old source and destination bitmaps into the
  // source and destination DCs and then delete the DCs and
  // the background brush

  SelectObject(hdcSource, hbmpSourceOld);
  SelectObject(hdcTarget, hbrTargetOld);
  hbmpCheck := SelectObject(hdcTarget, hbmpTargetOld);

  DeleteObject(hbrBackground);
  DeleteObject(hdcSource);
  DeleteObject(hdcTarget);

  // return a handle to the new check-mark bitmap

  result := hbmpCheck;
end;

function SetMenuOwnerDraw(menu : HMENU; cmdID : integer):BOOL;
var
  menuInfo : TMENUITEMINFO;
begin
  result := false;
  if menu = 0 then exit;
  //if not GetMenuItemInfo(menu, cmdID, FALSE, menuInfo) then exit;
  menuInfo.cbSize := SizeOf(menuInfo);
  menuInfo.fMask := MIIM_CHECKMARKS or MIIM_DATA or MIIM_ID or
        MIIM_STATE or MIIM_SUBMENU or MIIM_TYPE;
  menuInfo.fType := MFT_OWNERDRAW;
  menuInfo.wID := cmdID;
  menuInfo.fState := MFS_DEFAULT;
  menuInfo.hSubMenu := 0;
  menuInfo.hbmpChecked := 0;
  menuInfo.hbmpUnchecked := 0;
  menuInfo.hbmpItem := 0;
  menuInfo.dwItemData := 0;
  menuInfo.dwTypeData := 'Hello';
  SetMenuItemInfo(menu, cmdID, FALSE, menuInfo);
end;

function DrawBmpMenu(itemMenu : DRAWITEMSTRUCT):BOOL;
var
  orgrect, rG, rect: TRect;
  p : TPoint;
  DC : HDC;
  bmpDC : HDC;
  lb : LOGBRUSH;
  oldBrush,Brush : HBRUSH;
  oldbmp,bmp,bufBmp : HBITMAP;
  BKcolor,txtColor : DWORD;
  oldRight : integer;
  i : integer;
begin
  rect := itemMenu.rcItem;
  //DC := CreateCompatibleDC(itemMenu.hDC);
  DC := itemMenu.hDC;
  {
  bufBmp := CreateCompatibleBitmap(DC,
      rect.right - rect.left,rect.bottom-rect.top);
  SelectObject(DC,bufBmp);
  }
  //Brush := CreateSolidBrush(GetSysColor(COLOR_MENU));
  //SelectObject(DC,brush);
  //DeleteObject(brush);
  //DC := itemMenu.hDC;
  orgrect := rect;
  {
  rect.Bottom := rect.Bottom -rect.Top;
  rect.Right := rect.Right - rect.left;
  rect.top := 0;
  rect.left := 0;
  }
  bmpDC := CreateCompatibleDC(DC);
  if  (itemMenu.itemAction = ODA_DRAWENTIRE) then  begin
    BKcolor := GetSysColor(COLOR_MENU);
    txtColor := GetSysColor(COLOR_MENUTEXT);
  end
  else if itemMenu.itemAction = ODA_SELECT then begin
    if not BOOL(itemMenu.itemState and ODS_SELECTED) then begin
      BKcolor := GetSysColor(COLOR_MENU);
      txtColor := GetSysColor(COLOR_MENUTEXT);
    end
    else begin
      BKcolor := GetSysColor(COLOR_HIGHLIGHT);
      txtColor := GetSysColor(COLOR_HIGHLIGHTTEXT);
    end;
  end;

  {
  rG := rect;
  Inc(rG.Left, 20);
  if BKColor = GetSysColor(COLOR_HIGHLIGHT) then begin
    for i:= 1 to 120 do begin
      Brush := CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT) +
        i*(Abs(GetSysColor(COLOR_HIGHLIGHT)-GetSysColor(COLOR_MENU)) div 120));
      rG.Left := rg.Left +(rect.right-rect.left-20) div 120;
      rG.right := rG.Left + (rect.right - rect.left - 20) div 120;
      FillRect(DC,rG,Brush);
      DeleteObject(Brush);
    end;
  end else begin }
    Brush := CreateSolidBrush(DWORD(BKcolor));
    FillRect(DC,rect,Brush);
    DeleteObject(Brush);
 { end; }
  rG := rect;
  rG.Right := rect.Left +19;
  Brush := CreateSolidBrush(GetSysColor(COLOR_MENU));
  FillRect(DC,rG,Brush);
  DeleteObject(Brush);
  bmp := LoadBitmap(hInstance,'BITMAP_MENUCLKSET');
  oldbmp := SelectObject(bmpDC,bmp);
  Bitblt(DC,rect.left+3,rect.top+4,12,12,bmpDC,0,0,SRCCOPY);
  SetBkColor(DC,BKcolor);
  SetTextColor(DC,txtColor);
  TextOut(DC,rect.left + 22,rect.top+2,'Clock setting',13);
  if BKColor = GetSysColor(COLOR_HIGHLIGHT) then
  begin
    Brush := CreateSolidBrush(RGB(255,0,0));
    Inc(rect.Left,18);
    FrameRect(DC,rect,Brush);
    DeleteObject(Brush);
    Dec(rect.Left,18);
    OldRight := rect.Right;
    rect.Right := rect.Left + 17;
    DrawEdge(DC,rect,EDGE_RAISED,BF_RECT);
    rect.Right := OldRight;
  end;
  {
  BitBlt(itemMenu.hDC,orgrect.Left,orgrect.Top,
          orgrect.Right - orgrect.Left,
          orgrect.Bottom - orgrect.top,
          DC,rect.Left,rect.top,SRCCOPY);
  }
  SelectObject(bmpDC,oldbmp);
  DeleteDC(bmpDC);
  {DeleteDC(DC);}
  {DeleteObject(bufBmp);}
  DeleteObject(bmp);

end;

function CreateRgnFromBmp(bmp : HBITMAP):HRGN;
var
  bmpSize : BITMAP;
  oldbmp : HBITMAP;
  R , R1: HRGN;
  DC : HDC;
  transColor : COLORREF;
  iWidth, iHeight, oldHeight : integer;
begin
  GetObject(bmp,SizeOf(bmpSize),@bmpSize);
  R := CreateRectRgn(0,0,bmpSize.bmWidth, bmpSize.bmHeight);
  DC := CreateCompatibleDC(0);
  oldbmp := SelectObject(DC,bmp);
  transColor := GetPixel(DC,0,0);

  for iWidth:=0 to bmpSize.bmWidth -1 do
  begin
    iHeight := 0;
    while iHeight < bmpSize.bmHeight do
    //for iHeight := 0 to bmpSize.bmHeight -1 do
    begin
      if GetPixel(DC,iWidth,iHeight) = transColor then
      begin
        oldHeight := iHeight;
        while (iHeight<bmpSize.bmHeight) and
              (GetPixel(DC,iWidth,iHeight+1)=transColor) do
                  inc(iHeight);
        R1 := CreateRectRgn(iWidth,oldHeight,iWidth + 1,iHeight + 1);
        CombineRgn(R,R,R1,RGN_DIFF);
        DeleteObject(R1);
      end else ;
        inc(iHeight);
    end;
  end;
  SelectObject(DC,oldBmp);
  DeleteDC(DC);
  result := R;
end;

function CreateAlfaRgn(x,y,r,Alfa,halfWidth,ArrowLen:integer):HRGN;
var
  Ps : Array[1..5] of TPoint;
  deg : double;
begin
  deg := Alfa * (2*pi)/360;
  Ps[1].x := Trunc(x - HalfWidth * sin(deg));
  Ps[1].y := Trunc(y - HalfWidth * cos(deg));
  Ps[2].x := Trunc(x + (r - ArrowLen) * cos(deg) - HalfWidth * sin(deg));
  Ps[2].y := Trunc(y - (r - ArrowLen) * sin(deg) - HalfWidth * cos(deg));
  Ps[3].x := Trunc(x + r * cos(deg));
  Ps[3].y := Trunc(y - r * sin(deg));
  Ps[4].x := Trunc(x + (r - ArrowLen) * cos(deg) + HalfWidth * sin(deg));
  Ps[4].y := Trunc(y - (r - ArrowLen) * sin(deg) + HalfWidth * cos(deg));
  Ps[5].x := Trunc(x + HalfWidth * sin(deg));
  Ps[5].y := Trunc(y + HalfWidth * cos(deg));
  result := CreatePolygonRgn(Ps, 5, WINDING);
end;

function CreateHourRgn(hour,minute:integer):HRGN;
var
  d : double;
  Alfa : integer;
begin
  d := hour + minute / 60;
  if (d - 12) > 0.001 then d:= d -12;
  Alfa := Trunc(6 * (15 - d * 5));
  result :=
    CreateAlfaRgn(WIN_HALF_WIDTH, WIN_HALF_WIDTH, WIN_HALF_WIDTH - 17,
      Alfa, 3, 5);

  if BOOL(RgnCenter) then
    CombineRgn(Result,Result,RgnCenter,RGN_DIFF);

end;

function CreateMinuteRgn(minute:integer):HRGN;
var
  Alfa : integer;
begin
  Alfa := (15 - minute) * 6;
  result :=
    CreateAlfaRgn(WIN_HALF_WIDTH, WIN_HALF_WIDTH, WIN_HALF_WIDTH - 12,
      Alfa, 2, 4);

  if BOOL(RgnCenter) then
    CombineRgn(Result,Result,RgnCenter,RGN_DIFF);
  
end;

function CreateSecondRgn(second:integer):HRGN;
var
  Alfa : integer;
begin
  Alfa := ( 15 - second) * 6;
  result :=
    CreateAlfaRgn(WIN_HALF_WIDTH, WIN_HALF_WIDTH, WIN_HALF_WIDTH - 5,
      Alfa, 1, 0);

  if BOOL(RgnCenter) then
    CombineRgn(Result,Result,RgnCenter,RGN_DIFF);
  
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道av一区二区在线播放 | 九色综合狠狠综合久久| 在线观看中文字幕不卡| 中文字幕中文乱码欧美一区二区| 国产麻豆成人精品| 久久亚洲二区三区| 久久精品av麻豆的观看方式| 欧美一区二区三区免费在线看| 7777精品伊人久久久大香线蕉 | 亚洲女子a中天字幕| 成人综合在线网站| 国产蜜臀av在线一区二区三区| 国产老肥熟一区二区三区| 久久综合精品国产一区二区三区 | 国产一区二区影院| 久久综合视频网| 国产精品 欧美精品| 国产亚洲成aⅴ人片在线观看| 国产精品亚洲一区二区三区在线| 久久久久久久性| 成人性生交大片免费看在线播放| 中文字幕乱码一区二区免费| thepron国产精品| 亚洲欧美视频在线观看视频| 日本高清成人免费播放| 亚洲午夜免费福利视频| 在线成人av网站| 免费成人在线影院| 久久久精品tv| 99综合电影在线视频| 一区二区在线观看av| 欧美日韩在线亚洲一区蜜芽| 日韩国产欧美在线观看| 欧美不卡一二三| 国产夫妻精品视频| 自拍偷拍国产亚洲| 欧美日韩第一区日日骚| 美女性感视频久久| 国产欧美精品一区二区三区四区| 亚洲精品国久久99热| 欧美午夜在线一二页| 日韩电影网1区2区| 久久精品一区二区| 99精品国产一区二区三区不卡| 一二三区精品福利视频| 日韩一区二区在线看| 国产激情精品久久久第一区二区| 中文字幕一区二区三区四区| 欧美视频一区在线观看| 久久99精品国产.久久久久久| 国产色综合久久| 91福利区一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 国产亚洲一区字幕| 91福利社在线观看| 寂寞少妇一区二区三区| 中文字幕亚洲电影| 91麻豆精品国产自产在线观看一区| 国产中文一区二区三区| 亚洲嫩草精品久久| 日韩一二三区不卡| av资源站一区| 国产mv日韩mv欧美| 国产91精品在线观看| 99久久99久久精品免费观看 | 免费一级片91| 国产一区二区免费在线| 青青草一区二区三区| 精品亚洲国产成人av制服丝袜| 一区二区三区美女| 精品一区二区av| 日韩欧美国产麻豆| 国产在线精品一区在线观看麻豆| 欧美精品一区二区蜜臀亚洲| 亚洲高清视频在线| 成人丝袜视频网| 久久久久九九视频| 国产一区二区免费在线| 91麻豆精品国产91久久久久久 | 日韩精品亚洲专区| eeuss鲁片一区二区三区在线观看| 久久久久国产精品人| 日韩高清在线电影| 欧美三级乱人伦电影| 亚洲乱码国产乱码精品精98午夜| 蜜臀av性久久久久蜜臀aⅴ四虎| 波多野结衣中文字幕一区二区三区| 日韩精品中午字幕| 亚洲婷婷在线视频| 久久国产生活片100| 91精品91久久久中77777| 欧美激情在线看| 性欧美疯狂xxxxbbbb| 亚洲成人av资源| 在线欧美日韩国产| 亚洲第一二三四区| 日韩一级视频免费观看在线| 亚洲电影一区二区| 972aa.com艺术欧美| 国产日韩欧美精品一区| 国产成人自拍高清视频在线免费播放| 欧美日韩精品一区二区在线播放| 中文av字幕一区| 偷拍亚洲欧洲综合| 国产在线日韩欧美| 91精品在线一区二区| 麻豆91免费观看| 国产精品美女久久久久高潮| 91原创在线视频| 视频一区在线视频| 欧美酷刑日本凌虐凌虐| 亚洲一区二区欧美| 91精品在线免费| 青青草原综合久久大伊人精品| 欧美日韩大陆在线| 午夜免费久久看| 欧美三级一区二区| 国产无遮挡一区二区三区毛片日本| 日本vs亚洲vs韩国一区三区| 成人午夜在线免费| 国产精品你懂的在线| 欧美日韩国产一区| 成人丝袜高跟foot| 日韩av中文在线观看| 精品国产制服丝袜高跟| 国产一区视频在线看| 亚洲国产精品成人综合色在线婷婷| 成人av高清在线| 一区二区成人在线视频 | 99国产精品视频免费观看| 国产精品午夜久久| 7777精品伊人久久久大香线蕉完整版 | 欧美电影免费观看高清完整版在线| 久久精品国产99久久6| 国产日韩欧美麻豆| 91国内精品野花午夜精品| 婷婷国产v国产偷v亚洲高清| 欧美大黄免费观看| 丝袜美腿亚洲一区| 国产视频一区二区在线观看| 日本欧美大码aⅴ在线播放| 久久久电影一区二区三区| 欧美一区二区三区白人| 欧美乱妇23p| 欧美日韩一区二区三区在线| gogo大胆日本视频一区| 日本亚洲欧美天堂免费| 亚洲国产精品国自产拍av| 欧美日韩国产123区| 成人国产精品免费网站| 日本中文字幕一区二区视频| 欧美极品aⅴ影院| 欧美哺乳videos| 国产裸体歌舞团一区二区| 一区二区三区四区蜜桃| 亚洲国产精品久久人人爱| 亚洲欧美日韩国产另类专区| 亚洲乱码国产乱码精品精的特点 | 国产精品成人午夜| 欧美一区二区视频网站| 日本精品一级二级| 国产在线视频一区二区| 亚洲亚洲人成综合网络| 国产精品国产三级国产| 色综合婷婷久久| 成人动漫av在线| 不卡一卡二卡三乱码免费网站| 久久精品夜夜夜夜久久| 亚洲日本乱码在线观看| 性做久久久久久免费观看| 精品一区二区日韩| 在线免费亚洲电影| 欧美一级片免费看| 91精品免费在线观看| 99九九99九九九视频精品| 成人激情av网| 色婷婷亚洲婷婷| 色婷婷av一区二区三区之一色屋| 国产成人a级片| 不卡电影一区二区三区| 国产一区二区免费在线| 亚洲国产日韩在线一区模特| 日韩精品每日更新| 国产一区二区按摩在线观看| 在线观看国产精品网站| 久久久综合视频| 亚洲综合免费观看高清完整版| 亚洲 欧美综合在线网络| 日韩成人伦理电影在线观看| 亚洲高清免费观看高清完整版在线观看| 亚洲曰韩产成在线| 激情国产一区二区| 99精品久久只有精品| 国产成人夜色高潮福利影视| 一本到不卡免费一区二区| 欧美精品777| 欧美一区日韩一区| 久久久久国产精品麻豆| 天天av天天翘天天综合网色鬼国产| 精品国产乱码久久久久久免费 |