您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BitBlt函数代码示例

51自学网 2021-06-01 19:55:03
  C++
这篇教程C++ BitBlt函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中BitBlt函数的典型用法代码示例。如果您正苦于以下问题:C++ BitBlt函数的具体用法?C++ BitBlt怎么用?C++ BitBlt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了BitBlt函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DrawMine

static void DrawMine( HDC hdc, HDC hMemDC, BOARD *p_board, unsigned col, unsigned row, BOOL IsPressed ){    MINEBMP_OFFSET offset = BOX_BMP;    if( col == 0 || col > p_board->cols || row == 0 || row > p_board->rows )           return;    if( p_board->status == GAMEOVER ) {        if( p_board->box[col][row].IsMine ) {            switch( p_board->box[col][row].FlagType ) {            case FLAG:                offset = FLAG_BMP;                break;            case COMPLETE:                offset = EXPLODE_BMP;                break;            case QUESTION:                /* fall through */            case NORMAL:                offset = MINE_BMP;            }        } else {            switch( p_board->box[col][row].FlagType ) {            case QUESTION:                offset = QUESTION_BMP;                break;            case FLAG:                offset = WRONG_BMP;                break;            case NORMAL:                offset = BOX_BMP;                break;            case COMPLETE:                /* Do nothing */                break;            default:                WINE_TRACE("Unknown FlagType during game over in DrawMine/n");                break;            }        }    } else {    /* WAITING or PLAYING */        switch( p_board->box[col][row].FlagType ) {        case QUESTION:            if( !IsPressed )                offset = QUESTION_BMP;            else                offset = QPRESS_BMP;            break;        case FLAG:            offset = FLAG_BMP;            break;        case NORMAL:            if( !IsPressed )                offset = BOX_BMP;            else                offset = MPRESS_BMP;            break;        case COMPLETE:            /* Do nothing */            break;        default:            WINE_TRACE("Unknown FlagType while playing in DrawMine/n");            break;        }    }    if( p_board->box[col][row].FlagType == COMPLETE        && !p_board->box[col][row].IsMine )          offset = (MINEBMP_OFFSET) p_board->box[col][row].NumMines;    BitBlt( hdc,            (col - 1) * MINE_WIDTH + p_board->mines_rect.left,            (row - 1) * MINE_HEIGHT + p_board->mines_rect.top,            MINE_WIDTH, MINE_HEIGHT,            hMemDC, 0, offset * MINE_HEIGHT, SRCCOPY );}
开发者ID:AndreRH,项目名称:wine,代码行数:76,


示例2: switch

void *wxGetClipboardData(wxDataFormat dataFormat, long *len){    void *retval = NULL;    switch ( dataFormat )    {#ifndef __WXWINCE__        case wxDF_BITMAP:            {                BITMAP bm;                HBITMAP hBitmap = (HBITMAP) GetClipboardData(CF_BITMAP);                if (!hBitmap)                    break;                HDC hdcMem = CreateCompatibleDC((HDC) NULL);                HDC hdcSrc = CreateCompatibleDC((HDC) NULL);                HBITMAP old = (HBITMAP) ::SelectObject(hdcSrc, hBitmap);                GetObject(hBitmap, sizeof(BITMAP), (LPSTR)&bm);                HBITMAP hNewBitmap = CreateBitmapIndirect(&bm);                if (!hNewBitmap)                {                    SelectObject(hdcSrc, old);                    DeleteDC(hdcMem);                    DeleteDC(hdcSrc);                    break;                }                HBITMAP old1 = (HBITMAP) SelectObject(hdcMem, hNewBitmap);                BitBlt(hdcMem, 0, 0, bm.bmWidth, bm.bmHeight,                       hdcSrc, 0, 0, SRCCOPY);                // Select new bitmap out of memory DC                SelectObject(hdcMem, old1);                // Clean up                SelectObject(hdcSrc, old);                DeleteDC(hdcSrc);                DeleteDC(hdcMem);                // Create and return a new wxBitmap                wxBitmap *wxBM = new wxBitmap;                wxBM->SetHBITMAP((WXHBITMAP) hNewBitmap);                wxBM->SetWidth(bm.bmWidth);                wxBM->SetHeight(bm.bmHeight);                wxBM->SetDepth(bm.bmPlanes);                retval = wxBM;                break;            }#endif        case wxDF_METAFILE:        case CF_SYLK:        case CF_DIF:        case CF_TIFF:        case CF_PALETTE:        case wxDF_DIB:            wxLogError(_("Unsupported clipboard format."));            return NULL;        case wxDF_OEMTEXT:            dataFormat = wxDF_TEXT;            // fall through        case wxDF_TEXT:            {                HANDLE hGlobalMemory = ::GetClipboardData(dataFormat);                if (!hGlobalMemory)                    break;                DWORD hsize = ::GlobalSize(hGlobalMemory);                if (len)                    *len = hsize;                char *s = new char[hsize];                if (!s)                    break;                LPSTR lpGlobalMemory = (LPSTR) GlobalLock(hGlobalMemory);                memcpy(s, lpGlobalMemory, hsize);                GlobalUnlock(hGlobalMemory);                retval = s;                break;            }        default:            {                HANDLE hGlobalMemory = ::GetClipboardData(dataFormat);                if ( !hGlobalMemory )                    break;                DWORD size = ::GlobalSize(hGlobalMemory);                if ( len )                    *len = size;                void *buf = malloc(size);//.........这里部分代码省略.........
开发者ID:madnessw,项目名称:thesnow,代码行数:101,


示例3: CSize

DWORD CmdDrawZoom::CmdDrawAjustZooming::SetPoint(DWORD MouseAction, CPoint pt){   CmdDrawZoom *p = dynamic_cast<CmdDrawZoom*>(m_pOwner);   if (enCmdMouseNone == MouseAction)   {      LP_MATERIALINFO pTempInfo = p->m_pReceiver->getComicStripData()->getSelectedInfo();      if (NULL == pTempInfo)      {         return FALSE;      }      CSize size = CSize(pt.x - pTempInfo->GetLTPoint().x, pt.y - pTempInfo->GetLTPoint().y);      size.cx = max(size.cx, 24);      size.cy = max(size.cy, 24);      pTempInfo->SetFinalSize(size);      if (pTempInfo->isPenDraw) {         int width = pTempInfo->m_image.GetWidth();         int height = pTempInfo->m_image.GetHeight();         if (width<size.cx || height<size.cy)         {            int newWidth = max(width, size.cx);            int newHeight = max(height, size.cy);            CxImage tempImage = pTempInfo->m_image;            pTempInfo->m_image.Create(newWidth, newHeight, 24, CXIMAGE_FORMAT_PNG);            RGBQUAD rgb = pTempInfo->m_image.GetPixelColor(1,1);            pTempInfo->m_image.SetTransIndex(0);            pTempInfo->m_image.SetTransColor(rgb);            HDC     memdcOrg   = CreateCompatibleDC(NULL);            HBITMAP hbitmapOrg = tempImage.MakeBitmap();            HGDIOBJ pOldGDIOBJOrg = SelectObject(memdcOrg, hbitmapOrg);            HDC     memdc   = CreateCompatibleDC(NULL);            HBITMAP hbitmap = pTempInfo->m_image.MakeBitmap();            HGDIOBJ pOldGDIOBJ = SelectObject(memdc, hbitmap);            BitBlt(memdc, 0, 0, width, height, memdcOrg, 0, 0, SRCCOPY);            pTempInfo->m_image.CreateFromHBITMAP(hbitmap);            SelectObject(memdc, pOldGDIOBJ);            DeleteObject(hbitmap);            DeleteDC(memdc);            SelectObject(memdcOrg, pOldGDIOBJOrg);            DeleteObject(hbitmapOrg);            DeleteDC(memdcOrg);         }      }      p->m_pReceiver->UpdateComicStrip(pTempInfo->nIDOwner);   }   else if (enCmdMouseLUp == MouseAction)   {      LP_MATERIALINFO pTempInfo = p->m_pReceiver->getComicStripData()->getSelectedInfo();      if (NULL == pTempInfo)      {         return FALSE;      }      CSize size = CSize(pt.x - pTempInfo->GetLTPoint().x, pt.y - pTempInfo->GetLTPoint().y);      size.cx = max(size.cx, 24);      size.cy = max(size.cy, 24);      pTempInfo->SetFinalSize(size);      if (pTempInfo->isPenDraw) {         int width = pTempInfo->m_image.GetWidth();         int height = pTempInfo->m_image.GetHeight();         if (width<size.cx || height<size.cy)         {            CxImage tempImage = pTempInfo->m_image;            pTempInfo->m_image.Create(size.cx, size.cy, 24, CXIMAGE_FORMAT_PNG);            RGBQUAD rgb = pTempInfo->m_image.GetPixelColor(1,1);            pTempInfo->m_image.SetTransIndex(0);            pTempInfo->m_image.SetTransColor(rgb);            HDC     memdcOrg   = CreateCompatibleDC(NULL);            HBITMAP hbitmapOrg = tempImage.MakeBitmap();            HGDIOBJ pOldGDIOBJOrg = SelectObject(memdcOrg, hbitmapOrg);            HDC     memdc   = CreateCompatibleDC(NULL);            HBITMAP hbitmap = pTempInfo->m_image.MakeBitmap();            HGDIOBJ pOldGDIOBJ = SelectObject(memdc, hbitmap);            BitBlt(memdc, 0, 0, width, height, memdcOrg, 0, 0, SRCCOPY);            pTempInfo->m_image.CreateFromHBITMAP(hbitmap);                        SelectObject(memdc, pOldGDIOBJ);            DeleteObject(hbitmap);            DeleteDC(memdc);            SelectObject(memdcOrg, pOldGDIOBJOrg);            DeleteObject(hbitmapOrg);            DeleteDC(memdcOrg);         }      }      p->m_pReceiver->SaveFile();      p->m_pReceiver->UpdateComicStrip(pTempInfo->nIDOwner);      p->m_pDsState = &p->m_dsZoomBgn;      p->m_pReceiver->SetCursor();      p->m_nDrawState = enDrawIdle;   }   return TRUE;}
开发者ID:njustccy,项目名称:NjustTool,代码行数:99,


示例4: abs

BOOL CDIB::SetBitmap(HBITMAP hBitmap, HPALETTE hPal /*= NULL*/){//    DeleteObject();    if (!hBitmap)        return FALSE;    // Get dimensions of bitmap    BITMAP bm;    if (!::GetObject(hBitmap, sizeof(bm),(LPVOID)&bm))        return FALSE;    bm.bmHeight = abs(bm.bmHeight);	HDC hDC = GetWindowDC(NULL);    HPALETTE hOldPal = NULL;    m_iColorTableSize = NumColorEntries(bm.bmBitsPixel, BI_RGB);    // Initialize the BITMAPINFOHEADER in m_DIBinfo    BITMAPINFOHEADER& bih = m_DIBinfo.bmiHeader;    bih.biSize          = sizeof(BITMAPINFOHEADER);    bih.biWidth         = bm.bmWidth;    bih.biHeight        = bm.bmHeight;    bih.biPlanes        = 1;                // Must always be 1 according to docs    bih.biBitCount      = bm.bmBitsPixel;    bih.biCompression   = BI_RGB;    bih.biSizeImage     = BytesPerLine(bm.bmWidth, bm.bmBitsPixel) * bm.bmHeight;    bih.biXPelsPerMeter = 0;    bih.biYPelsPerMeter = 0;    bih.biClrUsed       = 0;    bih.biClrImportant  = 0;    GetColorTableEntries(hDC, hBitmap);    // If we have a palette supplied, then set the palette (and hance DIB color    // table) using this palette    if (hPal)        SetPalette(hPal);    if (hPal)    {        hOldPal = SelectPalette(hDC, m_hPal, FALSE);        RealizePalette(hDC);    }    // Create it!    m_hBitmap = CreateDIBSection(hDC, (const BITMAPINFO*) m_DIBinfo, m_iColorDataType, &m_ppvBits, NULL, 0);    if (hOldPal)        SelectPalette(hDC, hOldPal, FALSE);    hOldPal = NULL;     if (! m_hBitmap)    {        TRACE0("Unable to CreateDIBSection/n");        return FALSE;    }    // If palette was supplied then create a palette using the entries in the DIB    // color table.    if (! hPal)        CreatePalette();    // Need to copy the supplied bitmap onto the newly created DIBsection    HDC hMemDC = CreateCompatibleDC(hDC);	HDC hCopyDC = CreateCompatibleDC(hDC);	    if (! hMemDC || ! hCopyDC)     {        TRACE0("Unable to create compatible DC's/n");        //AfxThrowResourceException();    }    if (m_hPal)    {        SelectPalette(hMemDC, m_hPal, FALSE);   RealizePalette(hMemDC);        SelectPalette(hCopyDC, m_hPal, FALSE);  RealizePalette(hCopyDC);    }    HBITMAP hOldMemBitmap  = (HBITMAP) SelectObject(hMemDC,  hBitmap);    HBITMAP hOldCopyBitmap = (HBITMAP) SelectObject(hCopyDC, m_hBitmap);    BitBlt(hCopyDC, 0, 0, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY);    SelectObject(hMemDC,  hOldMemBitmap);    SelectObject(hCopyDC, hOldCopyBitmap);    if (m_hPal)    {		HGDIOBJ hObj = ::GetStockObject(DEFAULT_PALETTE);        SelectObject(hMemDC, hObj);        SelectObject(hCopyDC, hObj);    }	ReleaseDC(NULL, hDC);    return TRUE;}
开发者ID:Inubashiri,项目名称:PDFLibNet,代码行数:96,


示例5: CreateCompatibleDC

// TODO code: optimise airspace drawing (same as DrawAirSpace())// draw airspace using alpha blending//static void MapWindow::DrawTptAirSpace(HDC hdc, const RECT rc) {  // since standard GDI functions (brushes, pens...) ignore alpha octet in ARGB   // color value and don't set it in the resulting bitmap, we cannot use  // perpixel alpha blending, instead we use global opacity for alpha blend   // (same opacity for all pixels); for fully "transparent" areas (without   // airspace) we must copy destination bitmap into source bitmap first so that   // alpha blending of such areas results in the same pixels as origin pixels   // in destination   CAirspaceList::const_iterator it;  CAirspaceList::const_reverse_iterator itr;  const CAirspaceList& airspaces_to_draw = CAirspaceManager::Instance().GetNearAirspacesRef();  int airspace_type;  bool found = false;  bool borders_only = (GetAirSpaceFillType() == asp_fill_ablend_borders);  HDC hdcbuffer = NULL;  HBITMAP hbbufferold = NULL, hbbuffer = NULL;    if (borders_only) {    // Prepare layers    hdcbuffer = CreateCompatibleDC(hdc);    hbbuffer = CreateCompatibleBitmap(hdc, rc.right - rc.left, rc.bottom - rc.top);    hbbufferold = (HBITMAP)SelectObject(hdcbuffer, hbbuffer);    BitBlt(hdcbuffer, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, NULL, rc.left, rc.top, BLACKNESS );    SelectObject(hdcbuffer, GetStockObject(NULL_PEN));      BitBlt(hDCMask, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top, NULL, rc.left, rc.top, BLACKNESS );    SelectObject(hDCMask, hAirspaceBorderPen);    SelectObject(hDCMask, GetStockObject(HOLLOW_BRUSH));  }  // Draw airspace area    if (1) {    CCriticalSection::CGuard guard(CAirspaceManager::Instance().MutexRef());    if (borders_only) {       // Draw in reverse order!       // The idea behind this, is lower top level airspaces are smaller. (statistically)       // They have to be draw later, because inside border area have to be in correct color,       // not the color of the bigger airspace above this small one.      for (itr=airspaces_to_draw.rbegin(); itr != airspaces_to_draw.rend(); ++itr) {            if ((*itr)->DrawStyle() == adsFilled) {              airspace_type = (*itr)->Type();              if (!found) {                found = true;                ClearTptAirSpace(hdc, rc);              }              // set filling brush              SelectObject(hdcbuffer, GetAirSpaceSldBrushByClass(airspace_type));              (*itr)->Draw(hdcbuffer, rc, true);              (*itr)->Draw(hDCMask, rc, false);            }      }//for    } else {       // Draw in direct order!      for (it=airspaces_to_draw.begin(); it != airspaces_to_draw.end(); ++it) {            if ((*it)->DrawStyle() == adsFilled) {              airspace_type = (*it)->Type();              if (!found) {                found = true;                ClearTptAirSpace(hdc, rc);              }              // set filling brush              SelectObject(hDCTemp, GetAirSpaceSldBrushByClass(airspace_type));              (*it)->Draw(hDCTemp, rc, true);            }      }//for    }//else borders_only    }//mutex release  // alpha blending  if (found) {    if (borders_only) {      #if (WINDOWSPC<1)        TransparentImage(hdcbuffer,                rc.left,rc.top,                rc.right-rc.left,rc.bottom-rc.top,                hDCMask,                rc.left,rc.top,                rc.right-rc.left,rc.bottom-rc.top,                RGB_WHITE                );        TransparentImage(hDCTemp,                rc.left,rc.top,                rc.right-rc.left,rc.bottom-rc.top,                hdcbuffer,                rc.left,rc.top,                rc.right-rc.left,rc.bottom-rc.top,                RGB_BLACK                );        #else        TransparentBlt(hdcbuffer,                      rc.left,rc.top,                      rc.right-rc.left,rc.bottom-rc.top,                      hDCMask,                      rc.left,rc.top,                      rc.right-rc.left,rc.bottom-rc.top,                      RGB_WHITE                      );//.........这里部分代码省略.........
开发者ID:JanezKolar,项目名称:LK8000,代码行数:101,


示例6: GetSourceCoordinates

void Scope::CaptureScreen(){		GetSourceCoordinates(&m_intScreenCapX, &m_intScreenCapY);	// calculate coordinates of source rectangle	RECT SourceRect;	SourceRect.left = m_intScreenCapX;	SourceRect.top = m_intScreenCapY;	SourceRect.right = SourceRect.left + m_intSrcWidth * 2 + long((m_intSBSOffset + m_intImageSeparation) / m_fltZoom);	SourceRect.bottom = SourceRect.top + m_intSrcHeight;	// blit a copy of the screen so you don't have to draw on the screen DC	BITMAP WinCopyBMInfo;	GetObjectW(m_winCopyBM, sizeof(BITMAP), &WinCopyBMInfo);	BitBlt(m_winCopyDC, 0, 0, WinCopyBMInfo.bmWidth, WinCopyBMInfo.bmHeight, m_winDC, 0, 0, SRCCOPY | CAPTUREBLT);		//Draw the cursor	m_GlobalCursor.cbSize = sizeof(CURSORINFO);	GetCursorInfo(&m_GlobalCursor);	if (m_GlobalCursor.flags == CURSOR_SHOWING)	{		ICONINFO CursorInfo;		GetIconInfo((HICON)m_GlobalCursor.hCursor, &CursorInfo);		DrawIconEx(m_winCopyDC,			       m_GlobalCursor.ptScreenPos.x, m_GlobalCursor.ptScreenPos.y,				   m_GlobalCursor.hCursor,				   int(m_intCursorWidth * m_fltZoom), int(m_intCursorHeight * m_fltZoom),				   0, NULL, DI_COMPAT | DI_NORMAL);				DeleteObject(CursorInfo.hbmColor);		DeleteObject(CursorInfo.hbmMask);	}	// Rotate and offset the desktop	// Build the destination parallelogram using glm	glm::vec2 pts_vec2[3];	pts_vec2[0] = glm::vec2(0, 0);	pts_vec2[1] = glm::vec2(m_intMainDisplayWidth, 0);	pts_vec2[2] = glm::vec2(0, m_intMainDisplayHeight);		glm::vec2 center(m_intMainDisplayWidth / 2, m_intMainDisplayHeight / 2);	const float roll = -m_fltRoll;	glm::mat2 R = glm::mat2(cos(roll), -sin(roll), sin(roll), cos(roll));	glm::mat2 S = glm::mat2(m_fltZoom, 0, 0, m_fltZoom);	// Transform the points and convert to GDI format	POINT pts[3];	for (int i = 0; i < 3; ++i) {		// Move to origin [0, 0]		pts_vec2[i] -= center;		// Scale (zoom)		pts_vec2[i] = S * pts_vec2[i];		// Offset according to HMD orientation		pts_vec2[i].x -= m_intScreenCapX;		pts_vec2[i].y -= m_intScreenCapY;		// Rotate		pts_vec2[i] = R * pts_vec2[i];		// Move back		pts_vec2[i] += center;		// Convert to GDI format		pts[i].x = pts_vec2[i].x;		pts[i].y = pts_vec2[i].y;	}		// Clear the back buffer 	RECT ClearRect = {0, 0, m_intMainDisplayWidth, m_intMainDisplayHeight};	FillRect(m_BackDC, &ClearRect, (HBRUSH)COLOR_WINDOWTEXT);	// Blit the rotated desktop to back buffer	PlgBlt(m_BackDC, pts, m_winCopyDC, 0, 0, m_intMainDisplayWidth, m_intMainDisplayHeight, NULL, 0, 0);}
开发者ID:Endox,项目名称:Deskope,代码行数:75,


示例7: Test_Rectangle

void Test_Rectangle(void){    HDC hdc;    HBITMAP hBmp;    BOOL ret;    HBRUSH hBrush;    HPEN hPen;    COLORREF color;        hdc = CreateCompatibleDC(NULL);    ok(hdc != NULL, "Failed to create the DC!/n");    hBmp = CreateCompatibleBitmap(hdc, 4, 4);    ok(hBmp != NULL, "Failed to create the Bitmap!/n");    hBmp = SelectObject(hdc, hBmp);    ok(hBmp != NULL, "Failed to select the Bitmap!/n");        hBrush = CreateSolidBrush(RGB(0, 0, 0));    ok(hBrush != NULL, "Failed to create a solid brush!/n");    hBrush = SelectObject(hdc, hBrush);    ok(hBrush != NULL, "Failed to select the brush!/n");        /* Blank the bitmap */    ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS);    ok(ret, "BitBlt failed to blank the bitmap!/n");        /* Try inverted rectangle coordinates */    ret = Rectangle(hdc, 0, 2, 2, 0);    ok(ret, "Rectangle failed!");    color = GetPixel(hdc, 0, 0);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 2);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 0, 2);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 0);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 1, 1);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS);    ok(ret, "BitBlt failed to blank the bitmap!/n");    /* Try well ordered rectangle coordinates */    ret = Rectangle(hdc, 0, 0, 2, 2);    ok(ret, "Rectangle failed!");    color = GetPixel(hdc, 0, 0);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 2);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 0, 2);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 0);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 1, 1);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);        /* tests with NULL pen */    hPen = SelectObject(hdc, GetStockObject(NULL_PEN));        /* Blank the bitmap */    ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS);    ok(ret, "BitBlt failed to blank the bitmap!/n");        ret = Rectangle(hdc, 0, 0, 3, 3);    ok(ret, "Rectangle failed!");    color = GetPixel(hdc, 0, 0);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 2);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 0, 2);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 0);    ok( color == RGB(255, 255, 255), "Expected 0x00FFFFFF, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 1, 1);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);        SelectObject(hdc, hPen);        /* Same tests with GM_ADVANCED */    ok(SetGraphicsMode(hdc, GM_ADVANCED) == GM_COMPATIBLE, "Default mode for the DC is not GM_COMPATIBLE./n");        /* Blank the bitmap */    ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS);    ok(ret, "BitBlt failed to blank the bitmap!/n");        /* Try inverted rectangle coordinates */    ret = Rectangle(hdc, 0, 2, 2, 0);    ok(ret, "Rectangle failed!");    color = GetPixel(hdc, 0, 0);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 2);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 0, 2);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 2, 0);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    color = GetPixel(hdc, 1, 1);    ok( color == RGB(0, 0, 0), "Expected 0, got 0x%08x/n", (UINT)color);    ret = BitBlt(hdc, 0, 0, 4, 4, NULL, 0, 0, WHITENESS);    ok(ret, "BitBlt failed to blank the bitmap!/n");    //.........这里部分代码省略.........
开发者ID:GYGit,项目名称:reactos,代码行数:101,


示例8: mainwnd_proc

//	====================================================//	ウィンドウプロシ
C++ Bits_memcmp函数代码示例
C++ Binit函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。