这篇教程C++ FillRect函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中FillRect函数的典型用法代码示例。如果您正苦于以下问题:C++ FillRect函数的具体用法?C++ FillRect怎么用?C++ FillRect使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了FillRect函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: RelayoutTocItemstatic void RelayoutTocItem(LPNMTVCUSTOMDRAW ntvcd){ // code inspired by http://www.codeguru.com/cpp/controls/treeview/multiview/article.php/c3985/ LPNMCUSTOMDRAW ncd = &ntvcd->nmcd; HWND hTV = ncd->hdr.hwndFrom; HTREEITEM hItem = (HTREEITEM)ncd->dwItemSpec; RECT rcItem; if (0 == ncd->rc.right - ncd->rc.left || 0 == ncd->rc.bottom - ncd->rc.top) return; if (!TreeView_GetItemRect(hTV, hItem, &rcItem, TRUE)) return; if (rcItem.right > ncd->rc.right) rcItem.right = ncd->rc.right; // Clear the label RECT rcFullWidth = rcItem; rcFullWidth.right = ncd->rc.right; FillRect(ncd->hdc, &rcFullWidth, GetSysColorBrush(COLOR_WINDOW)); // Get the label's text WCHAR szText[MAX_PATH]; TVITEM item; item.hItem = hItem; item.mask = TVIF_TEXT | TVIF_PARAM; item.pszText = szText; item.cchTextMax = MAX_PATH; TreeView_GetItem(hTV, &item); // Draw the page number right-aligned (if there is one) WindowInfo *win = FindWindowInfoByHwnd(hTV); DocTocItem *tocItem = (DocTocItem *)item.lParam; ScopedMem<WCHAR> label; if (tocItem->pageNo && win && win->IsDocLoaded()) { label.Set(win->ctrl->GetPageLabel(tocItem->pageNo)); label.Set(str::Join(L" ", label)); } if (label && str::EndsWith(item.pszText, label)) { RECT rcPageNo = rcFullWidth; InflateRect(&rcPageNo, -2, -1); SIZE txtSize; GetTextExtentPoint32(ncd->hdc, label, str::Len(label), &txtSize); rcPageNo.left = rcPageNo.right - txtSize.cx; SetTextColor(ncd->hdc, GetSysColor(COLOR_WINDOWTEXT)); SetBkColor(ncd->hdc, GetSysColor(COLOR_WINDOW)); DrawText(ncd->hdc, label, -1, &rcPageNo, DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX); // Reduce the size of the label and cut off the page number rcItem.right = std::max(rcItem.right - txtSize.cx, 0); szText[str::Len(szText) - str::Len(label)] = '/0'; } SetTextColor(ncd->hdc, ntvcd->clrText); SetBkColor(ncd->hdc, ntvcd->clrTextBk); // Draw the focus rectangle (including proper background color) HBRUSH brushBg = CreateSolidBrush(ntvcd->clrTextBk); FillRect(ncd->hdc, &rcItem, brushBg); DeleteObject(brushBg); if ((ncd->uItemState & CDIS_FOCUS)) DrawFocusRect(ncd->hdc, &rcItem); InflateRect(&rcItem, -2, -1); DrawText(ncd->hdc, szText, -1, &rcItem, DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_WORD_ELLIPSIS);}
开发者ID:wyrover,项目名称:sumatrapdf,代码行数:66,
示例2: P1P1(PUBLIC pascal, void, SysError, short, errorcode){ GrafPort alertport; Region viscliprgn; HIDDEN_RgnPtr rp; Rect r; struct adef *ap; char quickbytes[grafSize]; INTEGER offsetx, offsety; Rect main_gd_rect;#if defined (BINCOMPAT) LONGINT tmpa5;#endif /* BINCOMPAT */ main_gd_rect = PIXMAP_BOUNDS (GD_PMAP (MR (MainDevice))); if (!DSAlertTab) {#if defined (CLIFF_CENTERING_ALGORITHM) DSAlertTab = CL((Ptr) &myalerttab); DSAlertRect.top = CWC(64); DSAlertRect.left = CWC(32); DSAlertRect.bottom = CWC(190); DSAlertRect.right = CWC(480);#else INTEGER screen_width = CW (main_gd_rect.right); INTEGER screen_height = CW (main_gd_rect.bottom); DSAlertTab = RM((Ptr) &myalerttab); DSAlertRect.top = CW((screen_height - 126) / 3); DSAlertRect.left = CW((screen_width - 448) / 2); DSAlertRect.bottom = CW(CW(DSAlertRect.top) + 126); DSAlertRect.right = CW(CW(DSAlertRect.left) + 448);#endif offsetx = CW (DSAlertRect.left) - 32; offsety = CW (DSAlertRect.top) - 64; } else { offsetx = offsety = 0; } /* IM-362 */ /* 1. Save registers and Stack Pointer */ /* NOT DONE YET... signal handlers sort of do that anyway */ /* 2. Store errorcode in DSErrCode */ DSErrCode = CW(errorcode); /* 3. If no Cx(DSAlertTab), bitch */ if (!DSAlertTab) { write(2, "This machine thinks its a sadmac/n", sizeof("This machine thinks its a sadmac/n")-1); exit(255); } /* 4. Allocate and re-initialize QuickDraw */#if defined (BINCOMPAT) a5 = (LONGINT) (long) US_TO_SYN68K (&tmpa5); CurrentA5 = (Ptr) (long) CL(a5);#endif /* BINCOMPAT */ InitGraf((Ptr) quickbytes + sizeof(quickbytes) - 4); ROMlib_initport(&alertport); SetPort(&alertport); InitCursor(); rp.p = RM(&viscliprgn); alertport.visRgn = alertport.clipRgn = RM(&rp); viscliprgn.rgnSize = CWC(10);#if 0 && !defined(MSDOS) viscliprgn.rgnBBox = DSAlertRect;#else viscliprgn.rgnBBox = main_gd_rect;#endif /* 5, 6. Draw alert box if the errorcode is >= 0 */ TRAPBEGIN(); if (errorcode < 0) errorcode = -errorcode; else { r = DSAlertRect; FillRect(&r, white);#if defined (OLDSTYLEALERT) r.right = CW(CW(r.right) - (2)); r.bottom = CW(CW(r.bottom) - (2)); FrameRect(&r); PenSize(2, 2); MoveTo(CW(r.left)+2, CW(r.bottom)); LineTo(CW(r.right), CW(r.bottom)); LineTo(CW(r.right), CW(r.top)+2); PenSize(1, 1);#else /* OLDSTYLEALERT */ FrameRect(&r); InsetRect(&r, 3, 3); PenSize(2, 2); FrameRect(&r); PenSize(1, 1);#endif /* OLDSTYLEALERT */ } /* find appropriate entry *///.........这里部分代码省略.........
开发者ID:nobled,项目名称:executor,代码行数:101,
示例3: memset/*** Responsible for drawing each list item.*/void ToggleListView::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { CListCtrl& ListCtrl=GetListCtrl(); int nItem = lpDrawItemStruct->itemID; // get item data LV_ITEM lvi; _TCHAR szBuff[MAX_PATH]; memset(&lvi, 0, sizeof(LV_ITEM)); lvi.mask = LVIF_TEXT; lvi.iItem = nItem; lvi.pszText = szBuff; lvi.cchTextMax = sizeof(szBuff); ListCtrl.GetItem(&lvi); RECT rDraw; CopyRect ( &rDraw, &lpDrawItemStruct->rcItem ); rDraw.right = rDraw.left + TOGGLELIST_ITEMHEIGHT; rDraw.top ++; rDraw.right ++; FrameRect ( lpDrawItemStruct->hDC, &rDraw, (HBRUSH)GetStockObject ( BLACK_BRUSH ) ); rDraw.right --; FillRect ( lpDrawItemStruct->hDC, &rDraw, GetSysColorBrush ( COLOR_3DFACE ) ); Draw3dRect ( lpDrawItemStruct->hDC, &rDraw, GetSysColorBrush ( COLOR_3DHILIGHT ), GetSysColorBrush ( COLOR_3DSHADOW ) ); InflateRect ( &rDraw, -3, -3 ); Draw3dRect ( lpDrawItemStruct->hDC, &rDraw, GetSysColorBrush ( COLOR_3DSHADOW ), GetSysColorBrush ( COLOR_3DHILIGHT ) ); switch(GetToggleState(lvi.iItem)) { case TOGGLE_STATE_DISABLED: if(disabledIcon) { DrawIconEx ( lpDrawItemStruct->hDC, rDraw.left, rDraw.top, disabledIcon, 16, 16,0, NULL, DI_NORMAL ); } break; case TOGGLE_STATE_ON: if(onIcon) { DrawIconEx ( lpDrawItemStruct->hDC, rDraw.left, rDraw.top, onIcon, 16, 16,0, NULL, DI_NORMAL ); } break; case TOGGLE_STATE_OFF: if(offIcon) { DrawIconEx ( lpDrawItemStruct->hDC, rDraw.left, rDraw.top, offIcon, 16, 16,0, NULL, DI_NORMAL ); } break; }; CopyRect ( &rDraw, &lpDrawItemStruct->rcItem ); rDraw.left += TOGGLELIST_ITEMHEIGHT; rDraw.left += 1; if ( lpDrawItemStruct->itemState & ODS_SELECTED ) { FillRect ( lpDrawItemStruct->hDC, &rDraw, GetSysColorBrush ( COLOR_HIGHLIGHT ) ); } else { FillRect ( lpDrawItemStruct->hDC, &rDraw, GetSysColorBrush ( COLOR_WINDOW ) ); } rDraw.left += TEXT_OFFSET; int colorIndex = ( (lpDrawItemStruct->itemState & ODS_SELECTED ) ? COLOR_HIGHLIGHTTEXT : COLOR_WINDOWTEXT ); SetTextColor ( lpDrawItemStruct->hDC, GetSysColor ( colorIndex ) ); DrawText ( lpDrawItemStruct->hDC, szBuff, strlen(szBuff), &rDraw, DT_LEFT|DT_VCENTER|DT_SINGLELINE );}
开发者ID:0culus,项目名称:Doom3-for-MacOSX-,代码行数:72,
示例4: ColorDLG/* Dialog procedure for the color selection dialog * Parameters: * hDlg - The dialog handle * message - The message received * wParam - The first message parameter * lParam - The second message parameter * Returns: * TRUE if the message was processed, FALSE otherwise */LRESULT CALLBACK ColorDLG(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { static HBRUSH hBrushWhite, hBrushBlack, hBrushDarkBlue, hBrushDarkGreen, hBrushRed, hBrushDarkRed, hBrushPurple, hBrushOrange, hBrushYellow, hBrushGreen, hBrushVDarkGreen, hBrushLightBlue, hBrushBlue, hBrushPink, hBrushDarkGray, hBrushGray; static UINT ResultMsg = 0; switch (message) { case WM_INITDIALOG: hBrushWhite = CreateSolidBrush(RGB(255,255,255)); hBrushBlack = CreateSolidBrush(RGB(0,0,0)); hBrushDarkBlue = CreateSolidBrush(RGB(0,0,127)); hBrushDarkGreen = CreateSolidBrush(RGB(0,147,0)); hBrushRed = CreateSolidBrush(RGB(255,0,0)); hBrushDarkRed = CreateSolidBrush(RGB(127,0,0)); hBrushPurple = CreateSolidBrush(RGB(156,0,156)); hBrushOrange = CreateSolidBrush(RGB(252,127,0)); hBrushYellow = CreateSolidBrush(RGB(255,255,0)); hBrushGreen = CreateSolidBrush(RGB(0,252,0)); hBrushVDarkGreen = CreateSolidBrush(RGB(0,147,147)); hBrushLightBlue = CreateSolidBrush(RGB(0,255,255)); hBrushBlue = CreateSolidBrush(RGB(0,0,252)); hBrushPink = CreateSolidBrush(RGB(255,0,255)); hBrushDarkGray = CreateSolidBrush(RGB(127,127,127)); hBrushGray = CreateSolidBrush(RGB(210,210,210)); ResultMsg = (UINT)lParam; SetFocus(NULL); return TRUE; case WM_DRAWITEM: { LPDRAWITEMSTRUCT lpdis = (LPDRAWITEMSTRUCT)lParam; if (wParam == IDC_WHITE) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushWhite); if (wParam == IDC_BLACK) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushBlack); if (wParam == IDC_DARKBLUE) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushDarkBlue); if (wParam == IDC_DARKGREEN) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushDarkGreen); if (wParam == IDC_RED) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushRed); if (wParam == IDC_DARKRED) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushDarkRed); if (wParam == IDC_PURPLE) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushPurple); if (wParam == IDC_ORANGE) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushOrange); if (wParam == IDC_YELLOW) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushYellow); if (wParam == IDC_GREEN) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushGreen); if (wParam == IDC_VDARKGREEN) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushVDarkGreen); if (wParam == IDC_LIGHTBLUE) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushLightBlue); if (wParam == IDC_BLUE) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushBlue); if (wParam == IDC_PINK) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushPink); if (wParam == IDC_DARKGRAY) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushDarkGray); if (wParam == IDC_GRAY) FillRect(lpdis->hDC, &lpdis->rcItem, hBrushGray); DrawEdge(lpdis->hDC, &lpdis->rcItem, EDGE_SUNKEN, BF_RECT); return TRUE; } case WM_COMMAND: { COLORREF clrref; if (LOWORD(wParam) == IDC_WHITE) clrref = RGB(255,255,255); else if (LOWORD(wParam) == IDC_BLACK) clrref = RGB(0,0,0); else if (LOWORD(wParam) == IDC_DARKBLUE) clrref = RGB(0,0,127); else if (LOWORD(wParam) == IDC_DARKGREEN) clrref = RGB(0,147,0); else if (LOWORD(wParam) == IDC_RED) clrref = RGB(255,0,0); else if (LOWORD(wParam) == IDC_DARKRED) clrref = RGB(127,0,0); else if (LOWORD(wParam) == IDC_PURPLE) clrref = RGB(156,0,156); else if (LOWORD(wParam) == IDC_ORANGE) clrref = RGB(252,127,0); else if (LOWORD(wParam) == IDC_YELLOW) clrref = RGB(255,255,0); else if (LOWORD(wParam) == IDC_GREEN) clrref = RGB(0,252,0); else if (LOWORD(wParam) == IDC_VDARKGREEN) clrref = RGB(0,147,147);//.........这里部分代码省略.........
开发者ID:SwiftIRC,项目名称:ircd,代码行数:101,
示例5: FillRectvoid CBarShader::FillRect(CDC *dc, LPRECT rectSpan, COLORREF color, bool bFlat) { if(!color || bFlat) dc->FillRect(rectSpan, &CBrush(color)); else FillRect(dc, rectSpan, GetRValue(color), GetGValue(color), GetBValue(color), false);}
开发者ID:HackLinux,项目名称:eMule-Mirror,代码行数:6,
示例6: PaintClcvoid PaintClc(HWND hwnd, struct ClcData *dat, HDC hdc, RECT * rcPaint){ HDC hdcMem; RECT clRect; int y, indent, index, fontHeight; struct ClcGroup *group; HFONT hOldFont; DWORD style = GetWindowLong(hwnd, GWL_STYLE); int status = GetGeneralisedStatus(); int grey = 0, groupCountsFontTopShift; HBRUSH hBrushAlternateGrey = NULL; // yes I know about GetSysColorBrush() COLORREF tmpbkcolour = style & CLS_CONTACTLIST ? (dat->useWindowsColours ? GetSysColor(COLOR_3DFACE) : dat->bkColour) : dat->bkColour; if (dat->greyoutFlags & pcli->pfnClcStatusToPf2(status) || style & WS_DISABLED) grey = 1; else if (GetFocus() != hwnd && dat->greyoutFlags & GREYF_UNFOCUS) grey = 1; GetClientRect(hwnd, &clRect); if (rcPaint == NULL) rcPaint = &clRect; if (IsRectEmpty(rcPaint)) return; y = -dat->yScroll; hdcMem = CreateCompatibleDC(hdc); HBITMAP hBmpOsb = CreateBitmap(clRect.right, clRect.bottom, 1, GetDeviceCaps(hdc, BITSPIXEL), NULL); HBITMAP hOldBitmap = (HBITMAP)SelectObject(hdcMem, hBmpOsb); { TEXTMETRIC tm; hOldFont = (HFONT)SelectObject(hdcMem, dat->fontInfo[FONTID_GROUPS].hFont); GetTextMetrics(hdcMem, &tm); groupCountsFontTopShift = tm.tmAscent; SelectObject(hdcMem, dat->fontInfo[FONTID_GROUPCOUNTS].hFont); GetTextMetrics(hdcMem, &tm); groupCountsFontTopShift -= tm.tmAscent; } if (style & CLS_GREYALTERNATE) hBrushAlternateGrey = CreateSolidBrush(GetNearestColor(hdcMem, RGB(GetRValue(tmpbkcolour) - 10, GetGValue(tmpbkcolour) - 10, GetBValue(tmpbkcolour) - 10))); ChangeToFont(hdcMem, dat, FONTID_CONTACTS, &fontHeight); SetBkMode(hdcMem, TRANSPARENT); { HBRUSH hBrush; hBrush = CreateSolidBrush(tmpbkcolour); FillRect(hdcMem, rcPaint, hBrush); DeleteObject(hBrush); if (dat->hBmpBackground) { BITMAP bmp; HDC hdcBmp; int x, y; int maxx, maxy; int destw, desth; // XXX: Halftone isnt supported on 9x, however the scretch problems dont happen on 98. SetStretchBltMode(hdcMem, HALFTONE); GetObject(dat->hBmpBackground, sizeof(bmp), &bmp); hdcBmp = CreateCompatibleDC(hdcMem); SelectObject(hdcBmp, dat->hBmpBackground); y = dat->backgroundBmpUse & CLBF_SCROLL ? -dat->yScroll : 0; maxx = dat->backgroundBmpUse & CLBF_TILEH ? clRect.right : 1; maxy = dat->backgroundBmpUse & CLBF_TILEV ? maxy = rcPaint->bottom : y + 1; switch (dat->backgroundBmpUse & CLBM_TYPE) { case CLB_STRETCH: if (dat->backgroundBmpUse & CLBF_PROPORTIONAL) { if (clRect.right * bmp.bmHeight < clRect.bottom * bmp.bmWidth) { desth = clRect.bottom; destw = desth * bmp.bmWidth / bmp.bmHeight; } else { destw = clRect.right; desth = destw * bmp.bmHeight / bmp.bmWidth; } } else { destw = clRect.right; desth = clRect.bottom; } break; case CLB_STRETCHH: if (dat->backgroundBmpUse & CLBF_PROPORTIONAL) { destw = clRect.right; desth = destw * bmp.bmHeight / bmp.bmWidth; } else { destw = clRect.right; desth = bmp.bmHeight; } break; case CLB_STRETCHV: if (dat->backgroundBmpUse & CLBF_PROPORTIONAL) { desth = clRect.bottom; destw = desth * bmp.bmWidth / bmp.bmHeight; } else { destw = bmp.bmWidth; desth = clRect.bottom; }//.........这里部分代码省略.........
开发者ID:MrtsComputers,项目名称:miranda-ng,代码行数:101,
示例7: WndProc//.........这里部分代码省略......... DeleteObject(hFont); PostQuitMessage(0); return 0; } case WM_ERASEBKGND: { // Don't do any erasing here. It's done in WM_PAINT to avoid flicker. return 1; } case WM_VOLUMECHANGE: { // get the new volume level g_pVolumeMonitor->GetLevelInfo(&g_currentVolume); // make window visible for 2 seconds ShowWindow(hWnd, SW_SHOW); InvalidateRect(hWnd, NULL, TRUE); nTimerId = SetTimer(hWnd, 101, 2000, NULL); return 0; } case WM_ENDPOINTCHANGE: { g_pVolumeMonitor->ChangeEndpoint(); return 0; } case WM_TIMER: { // make the window go away ShowWindow(hWnd, SW_HIDE); KillTimer(hWnd, nTimerId); return 0; } case WM_PAINT: { PAINTSTRUCT ps; HPAINTBUFFER hBufferedPaint = NULL; RECT rc; GetClientRect(hWnd, &rc); HDC hdc = BeginPaint(hWnd, &ps); if (g_bDblBuffered) { // Get doublebuffered DC HDC hdcMem; hBufferedPaint = BeginBufferedPaint(hdc, &rc, BPBF_COMPOSITED, NULL, &hdcMem); if (hBufferedPaint) { hdc = hdcMem; } } // black background (transparency color) FillRect(hdc, &rc, (HBRUSH)GetStockObject(BLACK_BRUSH)); // Draw LEDs for (UINT i = 0; i < (g_currentVolume.cSteps-1); i++) { RECT const rcLed = { DPIScale(i * 10), DPIScale(10), DPIScale(i * 10 + 8), rc.bottom-DPIScale(15) }; if ((i < g_currentVolume.nStep) && (!g_currentVolume.bMuted)) FillRect(hdc, &rcLed, hbrLit); else FillRect(hdc, &rcLed, hbrUnlit); } if (g_currentVolume.bMuted) { HGDIOBJ hof = SelectObject(hdc, hFont); SetBkMode(hdc, TRANSPARENT); SetTextColor(hdc, RGB(255, 64, 64)); RECT rcText = rc; rcText.bottom -= DPIScale(11); DrawText(hdc, L"MUTED", -1, &rcText, DT_CENTER | DT_SINGLELINE | DT_VCENTER); SelectObject(hdc, hof); } if (hBufferedPaint) { // end painting BufferedPaintMakeOpaque(hBufferedPaint, NULL); EndBufferedPaint(hBufferedPaint, TRUE); } EndPaint(hWnd, &ps); return 0; } } return DefWindowProc(hWnd, message, wParam, lParam);}
开发者ID:Essjay1,项目名称:Windows-classic-samples,代码行数:101,
示例8: DialogProcLRESULT CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){ switch (message) { case WM_INITDIALOG: Init(hDlg); return TRUE; case WM_COMMAND: { int id = LOWORD(wParam); if (id == IDC_BUTTON_START) { server.Start(); } if (id == ID_NOTITYICONMENU_EXIT) // 点击退出菜单,退出应用 { Shell_NotifyIcon(NIM_DELETE,&g_nid); EndDialog(hDlg, 0); } break; } case WM_SYSCOMMAND: if (wParam == SC_CLOSE) // 暂时隐藏程序,不退出 { ShowWindow(g_hMainWnd, SW_HIDE); } break; case WM_AIRSOUND_NOTIFY: if(wParam == IDC_NOTIFYICON) { if(lParam == WM_LBUTTONDOWN) { ShowWindow(g_hMainWnd, SW_SHOWNORMAL); SetForegroundWindow(g_hMainWnd); return TRUE; } if (lParam == WM_RBUTTONDOWN) { HMENU hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_MENU_NOTIFYICON)); POINT point; GetCursorPos(&point); TrackPopupMenu(hMenu, TPM_RIGHTBUTTON, point.x, point.y, 0, g_hMainWnd, NULL); PostMessage(g_hMainWnd, WM_NULL, NULL, NULL); } } case WM_PAINT: { BOOL bCompEnabled; DwmIsCompositionEnabled(&bCompEnabled); if (bCompEnabled) { PAINTSTRUCT ps; HDC hDC = BeginPaint(g_hMainWnd, &ps); RECT rcClient; GetClientRect(g_hMainWnd, &rcClient); HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0)); FillRect(hDC, &rcClient, hBrush); DrawGlowingText(hDC, IDC_STATIC); EndPaint(g_hMainWnd, &ps); } } break; } return FALSE;}
开发者ID:EndlessCheng,项目名称:AirSound,代码行数:73,
示例9: EventArea_WndProc//.........这里部分代码省略......... if (g_CluiData.bEventAreaEnabled) SendMessage(hwnd, WM_COMMAND, MAKEWPARAM(IDC_NOTIFYBUTTON, 0), 0); break; case WM_COMMAND: if (LOWORD(wParam) == IDC_NOTIFYBUTTON) { int iSelection; MENUITEMINFO mii = {0}; POINT pt; struct NotifyMenuItemExData *nmi = 0; int iCount = GetMenuItemCount(g_CluiData.hMenuNotify); BOOL result; GetCursorPos(&pt); mii.cbSize = sizeof(mii); mii.fMask = MIIM_DATA; if (iCount > 1) iSelection = TrackPopupMenu(g_CluiData.hMenuNotify, TPM_RETURNCMD, pt.x, pt.y, 0, hwnd, NULL); else iSelection = GetMenuItemID(g_CluiData.hMenuNotify, 0); result = GetMenuItemInfo(g_CluiData.hMenuNotify, (UINT) iSelection, FALSE, &mii); if (result != 0) { nmi = (struct NotifyMenuItemExData *) mii.dwItemData; if (nmi) { CLISTEVENT *cle = MyGetEvent(iSelection); if (cle) { CLISTEVENT *cle1 = NULL; CallService(cle->pszService, (WPARAM) NULL, (LPARAM) cle); // re-obtain the pointer, it may already be invalid/point to another event if the // event we're interested in was removed by the service (nasty one...) cle1 = MyGetEvent(iSelection); if (cle1 != NULL) CallService(MS_CLIST_REMOVEEVENT, (WPARAM) cle->hContact, (LPARAM) cle->hDbEvent); } } } break; } break; case WM_SIZE: if (!g_CluiData.fLayered) InvalidateRect(hwnd,NULL,FALSE); return DefWindowProc(hwnd, msg, wParam, lParam); case WM_ERASEBKGND: return 1; case WM_PAINT: if (GetParent(hwnd) == pcli->hwndContactList && g_CluiData.fLayered) CallService(MS_SKINENG_INVALIDATEFRAMEIMAGE,(WPARAM)hwnd,0); else if (GetParent(hwnd) == pcli->hwndContactList && !g_CluiData.fLayered) { HDC hdc, hdc2; HBITMAP hbmp,hbmpo; RECT rc = {0}; GetClientRect(hwnd,&rc); rc.right++; rc.bottom++; hdc = GetDC(hwnd); hdc2 = CreateCompatibleDC(hdc); hbmp = ske_CreateDIB32(rc.right,rc.bottom); hbmpo = (HBITMAP)SelectObject(hdc2,hbmp); ske_BltBackImage(hwnd,hdc2,&rc); EventArea_DrawWorker(hwnd,hdc2); BitBlt(hdc,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top, hdc2,rc.left,rc.top,SRCCOPY); SelectObject(hdc2,hbmpo); DeleteObject(hbmp); DeleteDC(hdc2); SelectObject(hdc,GetStockObject(DEFAULT_GUI_FONT)); ReleaseDC(hwnd,hdc); ValidateRect(hwnd,NULL); } else { HDC hdc, hdc2; HBITMAP hbmp, hbmpo; RECT rc; PAINTSTRUCT ps; HBRUSH br = GetSysColorBrush(COLOR_3DFACE); GetClientRect(hwnd,&rc); hdc = BeginPaint(hwnd,&ps); hdc2 = CreateCompatibleDC(hdc); hbmp = ske_CreateDIB32(rc.right,rc.bottom); hbmpo = (HBITMAP)SelectObject(hdc2,hbmp); FillRect(hdc2,&ps.rcPaint,br); EventArea_DrawWorker(hwnd,hdc2); BitBlt(hdc,ps.rcPaint.left,ps.rcPaint.top,ps.rcPaint.right-ps.rcPaint.left,ps.rcPaint.bottom-ps.rcPaint.top, hdc2,ps.rcPaint.left,ps.rcPaint.top,SRCCOPY); SelectObject(hdc2,hbmpo); DeleteObject(hbmp); DeleteDC(hdc2); ps.fErase = FALSE; EndPaint(hwnd,&ps); } default: return DefWindowProc(hwnd, msg, wParam, lParam); } return TRUE;}
开发者ID:0xmono,项目名称:miranda-ng,代码行数:101,
示例10: LogBeginSTDMETHODIMP CFACE::Download( BSTR URL, BSTR DownloadFile ){ USES_CONVERSION; HANDLE hFile; TCHAR DownloadTo[ MAX_PATH ] , TXT[ 256 ] ; HWND hDialog; LogBegin( "File Download Method" ); LogPut( CONTINUE , IDS_LOG_DOWNLOAD , URL ); // ユ C++ Fill_Buffer函数代码示例 C++ FillMemory函数代码示例
|