青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Welcome to ErranLi's Blog!

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

常用鏈接

留言簿(12)

搜索

  •  

積分與排名

  • 積分 - 178336
  • 排名 - 152

最新評(píng)論

閱讀排行榜

這個(gè)是此換膚方法的基礎(chǔ)函數(shù): 相關(guān)資料:Microsoft Knowledge Base Article - Q79212
///{{{{  for global function
///HOWTO: Drawing Transparent Bitmaps 
see: Microsoft Knowledge Base Article - Q79212
// TransparentBlt - Copies a bitmap transparently onto the destination DC
// hdcDes - Handle to destination device context
// xDes  - x-coordinate of destination rectangle's upper-left corner
// yDes  - y-coordinate of destination rectangle's upper-left corner
// width - Width of destination rectangle
// height - height of destination rectangle
// hbmSrc - Handle of the source bitmap
// xSrc  - x-coordinate of source rectangle's upper-left corner
// ySrc  - y-coordinate of source rectangle's upper-left corner
// crTrans  - The transparent color
// hPal     - Logical palette to be used with bitmap. Can be NULL
BOOL TransparentBitBlt(HDC hdcDes,
        int xDes,
        int yDes,
        int width,
        int height,
        HBITMAP hbmSrc,
        int xSrc,
        int ySrc,
        COLORREF crTrans,
        HPALETTE hPal
        )

{
 ASSERT(hdcDes!=NULL);//if(hdcDes == NULL) return FALSE;
 ASSERT(hbmSrc!=NULL);//if(hbmSrc == NULL) return FALSE;

 CDC dc, memDC, maskDC, tempDC;
 dc.Attach(hdcDes);
 maskDC.CreateCompatibleDC(&dc);
 CBitmap maskBmp;
 
 //add these to store return of SelectObject() calls
 CBitmap *pOldMemBmp = NULL;
 CBitmap *pOldMaskBmp = NULL;
 HBITMAP hOldTempBmp = NULL;
 
 memDC.CreateCompatibleDC(&dc);
 tempDC.CreateCompatibleDC(&dc);
 CBitmap bmpImage;
 bmpImage.CreateCompatibleBitmap(&dc, width, height);
 pOldMemBmp = memDC.SelectObject(&bmpImage);
 
 // Select and realize the palette
 if( dc.GetDeviceCaps(RASTERCAPS) & RC_PALETTE && hPal )
 {
  ::SelectPalette(dc, hPal, FALSE);
  dc.RealizePalette();
  
  ::SelectPalette(memDC, hPal, FALSE);
 }
 
 hOldTempBmp = (HBITMAP)::SelectObject(tempDC.m_hDC, hbmSrc);
 
 memDC.BitBlt(0, 0, width, height, &tempDC, xSrc, ySrc, SRCCOPY);
 
 // Create monochrome bitmap for the mask
 maskBmp.CreateBitmap(width, height, 1, 1, NULL);
 pOldMaskBmp = maskDC.SelectObject(&maskBmp);
 memDC.SetBkColor(crTrans);
 
 // Create the mask from the memory DC
 maskDC.BitBlt(0, 0, width, height, &memDC, 0, 0, SRCCOPY);
 
 // Set the background in memDC to black. Using SRCPAINT with black
 // and any other color results in the other color, thus making
 // black the transparent color
 memDC.SetBkColor(RGB(0,0,0));
 memDC.SetTextColor(RGB(255,255,255));
 memDC.BitBlt(0, 0, width, height, &maskDC, 0, 0, SRCAND);
 
 // Set the foreground to black. See comment above.
 dc.SetBkColor(RGB(255,255,255));
 dc.SetTextColor(RGB(0,0,0));
 dc.BitBlt(xDes, yDes, width, height, &maskDC, 0, 0, SRCAND);
 
 // Combine the foreground with the background
 dc.BitBlt(xDes, yDes, width, height, &memDC, 0, 0, SRCPAINT);
 
 
 if (hOldTempBmp)
  ::SelectObject(tempDC.m_hDC, hOldTempBmp);
 if (pOldMaskBmp)
  maskDC.SelectObject(pOldMaskBmp);
 if (pOldMemBmp)
  memDC.SelectObject(pOldMemBmp);
 
 dc.Detach();

 maskBmp.DeleteObject();
 bmpImage.DeleteObject();

 maskDC.DeleteDC();
 memDC.DeleteDC();
 tempDC.DeleteDC();

 pOldMemBmp = NULL;
 pOldMaskBmp = NULL;
 hOldTempBmp = NULL;

 return TRUE;
}

///}}} for global function

 

另三個(gè)很有意思的類,從高手那“盜”來的,呵呵:


class CWinRect: public CRect
{
public:
 CWinRect(HWND hWnd)
 {
  ::GetWindowRect(hWnd, this);
 }
 CWinRect(const CWnd *pWnd)
 {
  ::GetWindowRect(pWnd->GetSafeHwnd(), this);
 }

};

class CWinText: public CString
{
public:
 CWinText(HWND hWnd)
 {
  (CWnd::FromHandle(hWnd))->GetWindowText(*this); 
 }
 CWinText(const CWnd *pWnd)
 {
  pWnd->GetWindowText(*this);
 }
};


class CClientRect: public CRect
{
public:
 CClientRect(HWND hWnd)
 {
  ::GetClientRect(hWnd, this);
 }
 CClientRect(CWnd *pWnd)
 {
  ::GetClientRect(pWnd->GetSafeHwnd(), this);
 }
};

posted on 2006-12-26 21:43 erran 閱讀(1579) 評(píng)論(0)  編輯 收藏 引用 所屬分類: WinCE
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美人妖在线观看| 一本久道久久久| 亚洲国产精品欧美一二99| 久久综合色播五月| 亚洲盗摄视频| 亚洲午夜精品久久久久久app| 国产精品久久影院| 久久成人免费电影| 欧美成人资源网| 亚洲无人区一区| 国产三区二区一区久久| 狼狼综合久久久久综合网| 亚洲精品系列| 久久超碰97中文字幕| 1024成人| 国产精品乱码一区二区三区| 久久久www成人免费无遮挡大片| 欧美成熟视频| 性欧美精品高清| 亚洲激情在线观看视频免费| 欧美婷婷久久| 久久免费观看视频| 一区二区三区高清在线| 噜噜噜91成人网| 亚洲网址在线| 亚洲国产日韩一区二区| 国产精品女主播在线观看| 久久三级视频| 亚洲综合第一页| 亚洲精品免费一区二区三区| 久久久亚洲精品一区二区三区 | 亚洲人成绝费网站色www| 欧美丝袜一区二区| 久久偷窥视频| 亚洲欧美日韩高清| 亚洲人成小说网站色在线| 久久久五月天| 亚洲欧美色一区| 99综合在线| 亚洲黄色一区二区三区| 国产色综合久久| 国产精品jizz在线观看美国 | 国产午夜精品一区二区三区视频 | 国产欧美在线播放| 欧美韩国日本综合| 久久久久国产精品人| 亚洲免费在线观看| 一区二区三区视频在线 | 久久九九有精品国产23| 亚洲欧美国产精品va在线观看| 最新国产精品拍自在线播放| 免费毛片一区二区三区久久久| 欧美一区观看| 午夜精品成人在线| 亚洲香蕉伊综合在人在线视看| 亚洲人成网站777色婷婷| 亚洲第一主播视频| 狠狠色2019综合网| 国产亚洲一区在线| 国产日韩亚洲欧美| 国产精一区二区三区| 国产精品国产成人国产三级| 欧美午夜一区二区福利视频| 欧美日韩国产色视频| 欧美精品一区在线播放| 欧美韩国日本综合| 欧美国产亚洲另类动漫| 欧美激情视频网站| 欧美激情精品久久久久久黑人 | 欧美视频一区二区三区| 欧美日韩国产成人在线| 欧美剧在线免费观看网站| 欧美电影免费观看高清完整版| 麻豆视频一区二区| 欧美77777| 欧美精品久久久久久久久老牛影院| 免费欧美电影| 欧美日韩国产系列| 欧美亚洲成人免费| 国产精品婷婷| 国产午夜精品理论片a级探花| 国产一区二区三区在线观看精品| 韩国福利一区| 最新成人av在线| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品成人国产乱一区| 国产精品啊v在线| 国产欧美视频一区二区| 精品成人一区二区三区四区| 亚洲欧洲精品天堂一级| 一区二区三区偷拍| 欧美一区=区| 老司机午夜精品| 亚洲日本激情| 亚洲直播在线一区| 久久精品2019中文字幕| 欧美成人日韩| 国产精品久久久久久久久久尿| 国产亚洲精品一区二555| 悠悠资源网久久精品| 亚洲看片免费| 欧美一区二区免费观在线| 美国十次成人| 99re在线精品| 久久精品国产亚洲一区二区| 欧美精品偷拍| 国产一区二区三区在线观看免费视频 | 狠狠久久亚洲欧美| 99国产精品久久久久久久成人热| 羞羞色国产精品| 欧美激情久久久| 亚洲在线视频观看| 你懂的网址国产 欧美| 国产精品久久久久久久久婷婷| 一区视频在线看| 亚洲一区二区三区四区中文| 久热这里只精品99re8久| 99成人精品| 美女脱光内衣内裤视频久久网站| 国产精品成av人在线视午夜片 | 亚洲黄页视频免费观看| 欧美亚洲日本网站| 亚洲国产精品嫩草影院| 欧美有码在线观看视频| 欧美色精品天天在线观看视频 | 夜夜嗨av一区二区三区网页| 久久久www免费人成黑人精品| 欧美午夜精品一区| 亚洲欧洲在线看| 久久久亚洲影院你懂的| 中文亚洲字幕| 欧美乱妇高清无乱码| 在线观看日韩专区| 久久精品国产亚洲精品| 一区二区欧美视频| 欧美福利在线观看| 在线观看一区视频| 久久国产欧美精品| 亚洲一级电影| 欧美日韩一区在线视频| 亚洲精品一区二区三区99| 老司机午夜免费精品视频| 午夜精品久久久久久久男人的天堂| 欧美日本在线| 日韩视频―中文字幕| 欧美高清一区二区| 久久久97精品| 狠狠爱成人网| 久久人人97超碰人人澡爱香蕉| 亚洲免费在线观看视频| 国产精品久久九九| 亚洲一区二三| 在线亚洲伦理| 国产精品高潮呻吟久久av黑人| 亚洲视频在线播放| 99国产精品视频免费观看| 欧美韩日精品| 一区二区三区视频在线观看| 亚洲激情网站免费观看| 美女脱光内衣内裤视频久久影院 | 久久精品国产一区二区三| 国产日韩av一区二区| 欧美一区二区视频在线观看| 亚洲在线第一页| 国产日韩亚洲欧美| 久久久中精品2020中文| 久久精品av麻豆的观看方式| 好吊一区二区三区| 欧美多人爱爱视频网站| 欧美成人免费视频| 中日韩高清电影网| 在线亚洲国产精品网站| 国产精品午夜在线观看| 久久久精品国产免费观看同学| 欧美在线视频一区二区三区| 黄色国产精品| 亚洲激情国产精品| 欧美日韩网站| 欧美有码在线视频| 久久精品国内一区二区三区| 在线精品在线| 亚洲三级视频在线观看| 欧美午夜精彩| 久久久一二三| 欧美国产日韩一区二区三区| 亚洲一区高清| 久久精品免费观看| 日韩视频―中文字幕| 亚洲一区在线观看视频| 国产自产在线视频一区| 亚洲高清123| 国产精品久久久一区二区三区| 久久夜色精品国产| 欧美激情影院| 久久丁香综合五月国产三级网站| 玖玖玖国产精品| 午夜伦欧美伦电影理论片| 久久久噜噜噜久久中文字幕色伊伊| 夜夜躁日日躁狠狠久久88av| 亚洲欧美视频在线观看视频|