这篇教程C++ GetObjectW函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetObjectW函数的典型用法代码示例。如果您正苦于以下问题:C++ GetObjectW函数的具体用法?C++ GetObjectW怎么用?C++ GetObjectW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetObjectW函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: Test_PenvoidTest_Pen(void){ LOGPEN logpen; HPEN hPen; FillMemory(&logpen, sizeof(LOGPEN), 0x77); hPen = CreatePen(PS_SOLID, 3, RGB(4,5,6)); ok(hPen != 0, "CreatePen failed, skipping tests./n"); if (!hPen) return; SetLastError(ERROR_SUCCESS); ok(GetObjectA((HANDLE)GDI_OBJECT_TYPE_PEN, 0, NULL) == sizeof(LOGPEN), "/n"); ok(GetObjectW((HANDLE)GDI_OBJECT_TYPE_PEN, 0, NULL) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, sizeof(BITMAP), NULL) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, 0, NULL) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, 5, NULL) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, -5, NULL) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, sizeof(LOGPEN), &logpen) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, sizeof(LOGPEN)-1, &logpen) == 0, "/n"); ok(GetObject(hPen, sizeof(LOGPEN)+2, &logpen) == sizeof(LOGPEN), "/n"); ok(GetObject(hPen, 0, &logpen) == 0, "/n"); ok(GetObject(hPen, -5, &logpen) == sizeof(LOGPEN), "/n"); //ok(GetLastError() == ERROR_SUCCESS, "/n"); fails on win7 /* test if the fields are filled correctly */ ok(logpen.lopnStyle == PS_SOLID, "/n"); ok(GetObjectW((HANDLE)GDI_OBJECT_TYPE_PEN, sizeof(LOGPEN), &logpen) == 0, "/n"); ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %ld/n", GetLastError()); DeleteObject(hPen);}
开发者ID:GYGit,项目名称:reactos,代码行数:32,
示例2: EMFDRV_CreatePenIndirect/****************************************************************** * EMFDRV_CreatePenIndirect */static DWORD EMFDRV_CreatePenIndirect(PHYSDEV dev, HPEN hPen){ EMRCREATEPEN emr; DWORD index = 0; if (!GetObjectW( hPen, sizeof(emr.lopn), &emr.lopn )) { /* must be an extended pen */ EXTLOGPEN *elp; INT size = GetObjectW( hPen, 0, NULL ); if (!size) return 0; elp = HeapAlloc( GetProcessHeap(), 0, size ); GetObjectW( hPen, size, elp ); /* FIXME: add support for user style pens */ emr.lopn.lopnStyle = elp->elpPenStyle; emr.lopn.lopnWidth.x = elp->elpWidth; emr.lopn.lopnWidth.y = 0; emr.lopn.lopnColor = elp->elpColor; HeapFree( GetProcessHeap(), 0, elp ); } emr.emr.iType = EMR_CREATEPEN; emr.emr.nSize = sizeof(emr); emr.ihPen = index = EMFDRV_AddHandle( dev, hPen ); if(!EMFDRV_WriteRecord( dev, &emr.emr )) index = 0; return index;}
开发者ID:AmesianX,项目名称:RosWine,代码行数:36,
示例3: ME_MakeFirstParagraphvoid ME_MakeFirstParagraph(ME_TextEditor *editor){ ME_Context c; CHARFORMAT2W cf; LOGFONTW lf; HFONT hf; ME_TextBuffer *text = editor->pBuffer; ME_DisplayItem *para = make_para(editor); ME_DisplayItem *run; ME_Style *style; int eol_len; WCHAR cr_lf[] = {'/r','/n',0}; ME_InitContext(&c, editor, ITextHost_TxGetDC(editor->texthost)); hf = GetStockObject(SYSTEM_FONT); assert(hf); GetObjectW(hf, sizeof(LOGFONTW), &lf); ZeroMemory(&cf, sizeof(cf)); cf.cbSize = sizeof(cf); cf.dwMask = CFM_BACKCOLOR|CFM_COLOR|CFM_FACE|CFM_SIZE|CFM_CHARSET; cf.dwMask |= CFM_ALLCAPS|CFM_BOLD|CFM_DISABLED|CFM_EMBOSS|CFM_HIDDEN; cf.dwMask |= CFM_IMPRINT|CFM_ITALIC|CFM_LINK|CFM_OUTLINE|CFM_PROTECTED; cf.dwMask |= CFM_REVISED|CFM_SHADOW|CFM_SMALLCAPS|CFM_STRIKEOUT; cf.dwMask |= CFM_SUBSCRIPT|CFM_UNDERLINETYPE|CFM_WEIGHT; cf.dwEffects = CFE_AUTOCOLOR | CFE_AUTOBACKCOLOR; lstrcpyW(cf.szFaceName, lf.lfFaceName); /* Convert system font height from logical units to twips for cf.yHeight */ cf.yHeight = (lf.lfHeight * 72 * 1440) / (c.dpi.cy * c.dpi.cy); if (lf.lfWeight > FW_NORMAL) cf.dwEffects |= CFE_BOLD; cf.wWeight = lf.lfWeight; if (lf.lfItalic) cf.dwEffects |= CFE_ITALIC; cf.bUnderlineType = (lf.lfUnderline) ? CFU_CF1UNDERLINE : CFU_UNDERLINENONE; if (lf.lfStrikeOut) cf.dwEffects |= CFE_STRIKEOUT; cf.bPitchAndFamily = lf.lfPitchAndFamily; cf.bCharSet = lf.lfCharSet; style = ME_MakeStyle(&cf); text->pDefaultStyle = style; eol_len = editor->bEmulateVersion10 ? 2 : 1; para->member.para.text = ME_MakeStringN( cr_lf, eol_len ); run = ME_MakeRun(style, MERF_ENDPARA); run->member.run.nCharOfs = 0; run->member.run.len = eol_len; run->member.run.para = ¶->member.para; ME_InsertBefore(text->pLast, para); ME_InsertBefore(text->pLast, run); para->member.para.prev_para = text->pFirst; para->member.para.next_para = text->pLast; text->pFirst->member.para.next_para = para; text->pLast->member.para.prev_para = para; text->pLast->member.para.nCharOfs = editor->bEmulateVersion10 ? 2 : 1; ME_DestroyContext(&c);}
开发者ID:AmesianX,项目名称:wine,代码行数:60,
示例4: gdiinterop_CreateFontFaceFromHdcstatic HRESULT WINAPI gdiinterop_CreateFontFaceFromHdc(IDWriteGdiInterop *iface, HDC hdc, IDWriteFontFace **fontface){ struct gdiinterop *This = impl_from_IDWriteGdiInterop(iface); IDWriteFont *font; LOGFONTW logfont; HFONT hfont; HRESULT hr; TRACE("(%p)->(%p %p)/n", This, hdc, fontface); *fontface = NULL; hfont = GetCurrentObject(hdc, OBJ_FONT); if (!hfont) return E_INVALIDARG; GetObjectW(hfont, sizeof(logfont), &logfont); hr = IDWriteGdiInterop_CreateFontFromLOGFONT(iface, &logfont, &font); if (FAILED(hr)) return hr; hr = IDWriteFont_CreateFontFace(font, fontface); IDWriteFont_Release(font); return hr;}
开发者ID:andyvand,项目名称:Wine-Sherry,代码行数:27,
示例5: Test_CreateFontIndirectWvoidTest_CreateFontIndirectW(void){ LOGFONTW logfont; HFONT hFont; ULONG ret; ENUMLOGFONTEXDVW elfedv2; logfont.lfHeight = 12; logfont.lfWidth = 0; logfont.lfEscapement = 0; logfont.lfOrientation = 0; logfont.lfWeight = FW_NORMAL; logfont.lfItalic = 0; logfont.lfUnderline = 0; logfont.lfStrikeOut = 0; logfont.lfCharSet = DEFAULT_CHARSET; logfont.lfOutPrecision = OUT_DEFAULT_PRECIS; logfont.lfClipPrecision = CLIP_DEFAULT_PRECIS; logfont.lfQuality = PROOF_QUALITY; logfont.lfPitchAndFamily = DEFAULT_PITCH; memset(logfont.lfFaceName, 'A', LF_FACESIZE * 2); hFont = CreateFontIndirectW(&logfont); ok(hFont != 0, "CreateFontIndirectW failed/n"); memset(&elfedv2, 0, sizeof(elfedv2)); ret = GetObjectW(hFont, sizeof(elfedv2), &elfedv2); ok(ret == sizeof(ENUMLOGFONTEXW) + 2*sizeof(DWORD), "/n"); ok(elfedv2.elfEnumLogfontEx.elfLogFont.lfFaceName[LF_FACESIZE-1] == ((WCHAR)'A' << 8) + 'A', "/n"); ok(elfedv2.elfEnumLogfontEx.elfFullName[0] == 0, "/n"); /* Theres a bunch of data in elfFullName ... */}
开发者ID:Moteesh,项目名称:reactos,代码行数:32,
示例6: SHGetCurColorResvoid CBrandBand::SelectImage(){ int screenDepth; RECT clientRect; int clientWidth; int clientHeight; int clientSize; HINSTANCE shell32Instance; BITMAP bitmapInfo; int resourceID; screenDepth = SHGetCurColorRes(); GetClientRect(&clientRect); clientWidth = clientRect.right - clientRect.left; clientHeight = clientRect.bottom - clientRect.top; clientSize = min(clientWidth, clientHeight); if (screenDepth > 8) resourceID = gTrueColorResourceBase; else resourceID = g256ColorResourceBase; if (clientSize >= gLargeImageSize) resourceID += 2; else if (clientSize >= gMediumImageSize) resourceID += 1; shell32Instance = GetModuleHandle(L"shell32.dll"); fImageBitmap = LoadBitmap(shell32Instance, MAKEINTRESOURCE(resourceID)); GetObjectW(fImageBitmap, sizeof(bitmapInfo), &bitmapInfo); fBitmapSize = bitmapInfo.bmWidth; fMaxFrameCount = bitmapInfo.bmHeight / fBitmapSize;}
开发者ID:mvardan,项目名称:reactos,代码行数:30,
示例7: EMFDRV_CreateFontIndirect/****************************************************************** * EMFDRV_CreateFontIndirect */static BOOL EMFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont ){ DWORD index = 0; EMREXTCREATEFONTINDIRECTW emr; int i; if (!GetObjectW( hFont, sizeof(emr.elfw.elfLogFont), &emr.elfw.elfLogFont )) return 0; emr.emr.iType = EMR_EXTCREATEFONTINDIRECTW; emr.emr.nSize = (sizeof(emr) + 3) / 4 * 4; emr.ihFont = index = EMFDRV_AddHandle( dev, hFont ); emr.elfw.elfFullName[0] = '/0'; emr.elfw.elfStyle[0] = '/0'; emr.elfw.elfVersion = 0; emr.elfw.elfStyleSize = 0; emr.elfw.elfMatch = 0; emr.elfw.elfReserved = 0; for(i = 0; i < ELF_VENDOR_SIZE; i++) emr.elfw.elfVendorId[i] = 0; emr.elfw.elfCulture = PAN_CULTURE_LATIN; emr.elfw.elfPanose.bFamilyType = PAN_NO_FIT; emr.elfw.elfPanose.bSerifStyle = PAN_NO_FIT; emr.elfw.elfPanose.bWeight = PAN_NO_FIT; emr.elfw.elfPanose.bProportion = PAN_NO_FIT; emr.elfw.elfPanose.bContrast = PAN_NO_FIT; emr.elfw.elfPanose.bStrokeVariation = PAN_NO_FIT; emr.elfw.elfPanose.bArmStyle = PAN_NO_FIT; emr.elfw.elfPanose.bLetterform = PAN_NO_FIT; emr.elfw.elfPanose.bMidline = PAN_NO_FIT; emr.elfw.elfPanose.bXHeight = PAN_NO_FIT; if(!EMFDRV_WriteRecord( dev, &emr.emr )) index = 0; return index;}
开发者ID:AmesianX,项目名称:RosWine,代码行数:38,
示例8: prepare_alpha/* Prepare a bitmap to be used for alpha blending */static BOOL prepare_alpha (HBITMAP bmp, BOOL* hasAlpha){ DIBSECTION dib; int n; BYTE* p; *hasAlpha = FALSE; if (!bmp || GetObjectW( bmp, sizeof(dib), &dib ) != sizeof(dib)) return FALSE; if(dib.dsBm.bmBitsPixel != 32) /* nothing to do */ return TRUE; *hasAlpha = TRUE; p = dib.dsBm.bmBits; n = dib.dsBmih.biHeight * dib.dsBmih.biWidth; /* AlphaBlend() wants premultiplied alpha, so do that now */ while (n-- > 0) { int a = p[3]+1; p[0] = (p[0] * a) >> 8; p[1] = (p[1] * a) >> 8; p[2] = (p[2] * a) >> 8; p += 4; } return TRUE;}
开发者ID:RPG-7,项目名称:reactos,代码行数:31,
示例9: test_hatch_brushstatic void test_hatch_brush(void){ int i, size; HBRUSH brush; LOGBRUSH lb; for (i = 0; i < 20; i++) { SetLastError( 0xdeadbeef ); brush = CreateHatchBrush( i, RGB(12,34,56) ); if (i < HS_API_MAX) { ok( brush != 0, "%u: CreateHatchBrush failed err %u/n", i, GetLastError() ); size = GetObjectW( brush, sizeof(lb), &lb ); ok( size == sizeof(lb), "wrong size %u/n", size ); ok( lb.lbColor == RGB(12,34,56), "wrong color %08x/n", lb.lbColor ); if (i <= HS_DIAGCROSS) { ok( lb.lbStyle == BS_HATCHED, "wrong style %u/n", lb.lbStyle ); ok( lb.lbHatch == i, "wrong hatch %lu/%u/n", lb.lbHatch, i ); } else { ok( lb.lbStyle == BS_SOLID, "wrong style %u/n", lb.lbStyle ); ok( lb.lbHatch == 0, "wrong hatch %lu/n", lb.lbHatch ); } DeleteObject( brush ); } else { ok( !brush, "%u: CreateHatchBrush succeeded/n", i ); ok( GetLastError() == 0xdeadbeef, "wrong error %u/n", GetLastError() ); } }}
开发者ID:iXit,项目名称:wine,代码行数:35,
示例10: CreateCompatibleBitmap |