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

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

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

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

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

示例1: drawProgressBarPart

static HRESULT drawProgressBarPart(HRESULT hr, struct drawState *s){	int progress;	LONG indeterminatePos;	HTHEME theme;	RECT r;	RECT rBorder, rFill[2];	int i, nFill;	TEXTMETRICW tm;	int sysColor;	if (hr != S_OK)		return hr;	if (s->p->progressBarModelColumn == -1)		return S_OK;	progress = uiprivTableProgress(s->t, s->iItem, s->iSubItem, s->p->progressBarModelColumn, &indeterminatePos);	theme = OpenThemeData(s->t->hwnd, L"PROGRESS");	if (GetTextMetricsW(s->dc, &tm) == 0) {		logLastError(L"GetTextMetricsW()");		hr = E_FAIL;		goto fail;	}	r = s->m->subitemBounds;	// this sets the height of the progressbar and vertically centers it in one fell swoop	r.top += (r.bottom - tm.tmHeight - r.top) / 2;	r.bottom = r.top + tm.tmHeight;	// TODO check errors	rBorder = r;	InflateRect(&rBorder, -1, -1);	if (theme != NULL) {		RECT crect;		hr = GetThemeBackgroundContentRect(theme, s->dc,			PP_TRANSPARENTBAR, PBBS_NORMAL,			&rBorder, &crect);		if (hr != S_OK) {			logHRESULT(L"GetThemeBackgroundContentRect()", hr);			goto fail;		}		hr = DrawThemeBackground(theme, s->dc,			PP_TRANSPARENTBAR, PBBS_NORMAL,			&crect, NULL);		if (hr != S_OK) {			logHRESULT(L"DrawThemeBackground() border", hr);			goto fail;		}	} else {		HPEN pen, prevPen;		HBRUSH brush, prevBrush;		sysColor = COLOR_HIGHLIGHT;		if (s->m->selected)			sysColor = COLOR_HIGHLIGHTTEXT;		// TODO check errors everywhere		pen = CreatePen(PS_SOLID, 1, GetSysColor(sysColor));		prevPen = (HPEN) SelectObject(s->dc, pen);		brush = (HBRUSH) GetStockObject(NULL_BRUSH);		prevBrush = (HBRUSH) SelectObject(s->dc, brush);		Rectangle(s->dc, rBorder.left, rBorder.top, rBorder.right, rBorder.bottom);		SelectObject(s->dc, prevBrush);		SelectObject(s->dc, prevPen);		DeleteObject(pen);	}	nFill = 1;	rFill[0] = r;	// TODO check error	InflateRect(&rFill[0], -1, -1);	if (progress != -1)		rFill[0].right -= (rFill[0].right - rFill[0].left) * (100 - progress) / 100;	else {		LONG barWidth;		LONG pieceWidth;		// TODO explain all this		// TODO this should really start the progressbar scrolling into view instead of already on screen when first set		rFill[1] = rFill[0];		// save in case we need it		barWidth = rFill[0].right - rFill[0].left;		pieceWidth = barWidth / indeterminateSegments;		rFill[0].left += indeterminatePos % barWidth;		if ((rFill[0].left + pieceWidth) >= rFill[0].right) {			// make this piece wrap back around			nFill++;			rFill[1].right = rFill[1].left + (pieceWidth - (rFill[0].right - rFill[0].left));		} else			rFill[0].right = rFill[0].left + pieceWidth;	}	for (i = 0; i < nFill; i++)		if (theme != NULL) {			hr = DrawThemeBackground(theme, s->dc,				PP_FILL, PBFS_NORMAL,				&rFill[i], NULL);			if (hr != S_OK) {				logHRESULT(L"DrawThemeBackground() fill", hr);				goto fail;//.........这里部分代码省略.........
开发者ID:NoSuchProcess,项目名称:libui,代码行数:101,


示例2: WndProc

//.........这里部分代码省略.........		leftMouse=true;        rightMouse=false;		if(lPunktow >= sizeof(Punkty)/sizeof(POINT)) lPunktow = 0; // przepe
C++ CreatePin函数代码示例
C++ CreatePatternBrush函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。