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

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

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

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

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

示例1: main

int main(int argc, char** argv){	std::cout<<"*    ___  ____ _  _ _  _ "<<std::endl;	std::cout<<"*    |__] |    |// |  ///  "<<std::endl;	std::cout<<"*    |    |___ | //| _///_  "<<std::endl;	std::cout<<"-----------------------------"<<std::endl;		std::cout<<"leetlights v0.1"<<std::endl;	CROCCAT_Talk roccat;	roccat.RestoreLEDRGB();	const int bins = 15;	int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);	int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);	const int miniScreenY = nScreenHeight/10;	const int miniScreenX = nScreenWidth/10;		HWND hDesktopWnd = GetDesktopWindow();	HDC hDesktopDC = GetDC(hDesktopWnd);	HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);	HBITMAP hCaptureBitmap =CreateCompatibleBitmap(hDesktopDC, miniScreenX, miniScreenY);	SelectObject(hCaptureDC,hCaptureBitmap); 	SetStretchBltMode(hCaptureDC,HALFTONE);	int histogram[bins+1][bins+1][bins+1];		COLORREF* pixel = new COLORREF [ miniScreenX * miniScreenY ];			int lR=0;		int lG=0;		int lB=0;	DWORD start = GetTickCount();	DWORD diff;	DWORD lastTime = start+1;	DWORD time;	while(true)	{		time = GetTickCount();		diff= start-time ;		lastTime = time ;		if(!StretchBlt(hCaptureDC,0,0,miniScreenX,miniScreenY,hDesktopDC,0,0,nScreenWidth,nScreenHeight,SRCCOPY))		{			std::cout<<"Capturing failed, skipping iteration"<<std::endl;			Sleep(100);			continue;		}		BITMAPINFO MyBMInfo = {0};		BITMAPINFO bmpInfo;		bmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);		bmpInfo.bmiHeader.biWidth = miniScreenX;		bmpInfo.bmiHeader.biHeight = miniScreenY;		bmpInfo.bmiHeader.biPlanes = 1;		bmpInfo.bmiHeader.biBitCount = 32;		bmpInfo.bmiHeader.biCompression = BI_RGB;        		bmpInfo.bmiHeader.biSizeImage = 0;        		bmpInfo.bmiHeader.biClrUsed = 0;    		bmpInfo.bmiHeader.biClrImportant = 0;		if(0 == GetDIBits(hCaptureDC, hCaptureBitmap, 0,(UINT)miniScreenY, pixel,  (BITMAPINFO *)&bmpInfo, DIB_RGB_COLORS))		{			std::cout<<"Receiving Data failed, skipping interation"<<std::endl;			Sleep(100);			continue;		}		int r,g,b;		int rB,gB,bB;		int max1 =0;		int maxR1=0;		int maxG1=0;		int maxB1=0;		int max2 =0;		int maxR2=0;		int maxG2=0;		int maxB2=0;		int max3 =0;		int maxR3=0;		int maxG3=0;		int maxB3=0;		int max4 =0;		int maxR4=0;		int maxG4=0;		int maxB4=0;		int lastColorIntensity =0;		memset(histogram,0,sizeof(histogram[0][0][0])*bins*bins*bins);		for (int i=0; i<miniScreenX*miniScreenY; i++)		{			r =GetBValue(pixel[i]);			g =GetGValue(pixel[i]);			b =GetRValue(pixel[i]);						rB = (int)(r/255.f*(bins));			gB = (int)(g/255.f*(bins));			bB = (int)(b/255.f*(bins));				histogram[rB][gB][bB] ++;			if(histogram[rB][gB][bB] >=max4)//.........这里部分代码省略.........
开发者ID:newyork167,项目名称:leetlights,代码行数:101,


示例2: ShowMessage

//上传图片void CDlgCustomFace::OnBnClickedUpload(){	if ( m_Image.IsNull() )	{		ShowMessage(TEXT("请选择图片!"));		return ;	}	//设置状态	m_enOperateStatus = enOperateStatus_Upload;	//链接网络	if ( ConnectServer() == false )	{		//设置状态		m_enOperateStatus = enOperateStatus_NULL;		return;	}	//获取DC	CDC *pDC = GetDC();	LONG lBmpSize = LARGE_FACE_HEIGHT * (LARGE_FACE_WIDTH*3+LARGE_FACE_WIDTH%4) ;	BYTE *pByteBmpData = (BYTE *)VirtualAlloc(NULL,lBmpSize, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);	//构造位图	BITMAPFILEHEADER bfh;	BITMAPINFOHEADER bih;	bfh.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);	bfh.bfReserved1=0;	bfh.bfReserved2=0;	bfh.bfType = 0x4D42;	bfh.bfSize=lBmpSize+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER) ;	bih.biBitCount=24;	bih.biClrImportant=0;	bih.biClrUsed=0;	bih.biCompression=BI_RGB;	bih.biHeight=LARGE_FACE_HEIGHT;	bih.biPlanes=1;	bih.biSize=sizeof(bih);	bih.biSizeImage=0;	bih.biWidth=LARGE_FACE_WIDTH;	bih.biXPelsPerMeter=0;	bih.biYPelsPerMeter=0;		//设置像素	WORD wWidth = (LARGE_FACE_WIDTH*3+LARGE_FACE_WIDTH%4);	for ( int nCol = 0, nRealCol = LARGE_FACE_HEIGHT-1; nCol < LARGE_FACE_HEIGHT; ++nCol, --nRealCol )		for ( WORD wRow = 0, wByteIdex = 0; wRow < LARGE_FACE_WIDTH; wRow++, wByteIdex+=3)		{			COLORREF clr = pDC->GetPixel(LARGE_FRAME_LEFT+wRow, LARGE_FRAME_TOP+nCol);			pByteBmpData[nRealCol*wWidth+wByteIdex] = GetBValue(clr);			pByteBmpData[nRealCol*wWidth+wByteIdex+1] = GetGValue(clr);			pByteBmpData[nRealCol*wWidth+wByteIdex+2] = GetRValue(clr);		}	//创建目录	CString strDirName = CString(g_GlobalUnits.GetWorkDirectory()) + TEXT("//CustomFace");	CreateDirectory(strDirName, NULL) ;	CString strFileName;	strFileName = TEXT("//MyFace.bmp");	//写入文件	CFile fileMyFace;	try	{		if ( fileMyFace.Open(strDirName + strFileName, CFile::modeCreate|CFile::modeWrite|CFile::typeBinary) )		{			//写入位图			fileMyFace.Write(&bfh, sizeof(bfh));			fileMyFace.Write(&bih, sizeof(bih));			fileMyFace.Write(pByteBmpData, lBmpSize);			//关闭文件			fileMyFace.Close();		}		//压缩文件		CZip oZip( strDirName + strFileName );		oZip.SwapSize( strDirName+TEXT("//MyFace.zip") );	}	catch(...){}				//释放资源	ReleaseDC(pDC);	VirtualFree(pByteBmpData, lBmpSize , MEM_DECOMMIT) ;	//更新控件	UpdateControls();}
开发者ID:vsanth,项目名称:kkj,代码行数:93,


示例3: Log_CreateRtfHeader

char* Log_CreateRtfHeader(MODULEINFO *mi){	int i;	// guesstimate amount of memory for the RTF header	size_t bufferEnd = 0, bufferAlloced = 4096;	char *buffer = (char *)mir_realloc(mi->pszHeader, bufferAlloced);	buffer[0] = '/0';	// get the number of pixels per logical inch	HDC hdc = GetDC(NULL);	chatApi.logPixelSY = GetDeviceCaps(hdc, LOGPIXELSY);	chatApi.logPixelSX = GetDeviceCaps(hdc, LOGPIXELSX);	ReleaseDC(NULL, hdc);	// ### RTF HEADER	// font table	Log_Append(buffer, bufferEnd, bufferAlloced, "{//rtf1//ansi//deff0{//fonttbl");	for (i = 0; i < OPTIONS_FONTCOUNT; i++)		Log_Append(buffer, bufferEnd, bufferAlloced, "{//f%u//fnil//fcharset%u%S;}", i, chatApi.aFonts[i].lf.lfCharSet, chatApi.aFonts[i].lf.lfFaceName);	// colour table	Log_Append(buffer, bufferEnd, bufferAlloced, "}{//colortbl ;");	for (i = 0; i < OPTIONS_FONTCOUNT; i++)		Log_Append(buffer, bufferEnd, bufferAlloced, "//red%u//green%u//blue%u;", GetRValue(chatApi.aFonts[i].color), GetGValue(chatApi.aFonts[i].color), GetBValue(chatApi.aFonts[i].color));	for (i = 0; i < mi->nColorCount; i++)		Log_Append(buffer, bufferEnd, bufferAlloced, "//red%u//green%u//blue%u;", GetRValue(mi->crColors[i]), GetGValue(mi->crColors[i]), GetBValue(mi->crColors[i]));	// new paragraph	Log_Append(buffer, bufferEnd, bufferAlloced, "}//pard");	// set tabs and indents	int iIndent = 0;	if (g_Settings->dwIconFlags) {		iIndent += (14 * 1440) / chatApi.logPixelSX;		Log_Append(buffer, bufferEnd, bufferAlloced, "//tx%u", iIndent);	}	if (g_Settings->bShowTime) {		int iSize = (g_Settings->LogTextIndent * 1440) / chatApi.logPixelSX;		Log_Append(buffer, bufferEnd, bufferAlloced, "//tx%u", iIndent + iSize);		if (g_Settings->bLogIndentEnabled)			iIndent += iSize;	}	Log_Append(buffer, bufferEnd, bufferAlloced, "//fi-%u//li%u", iIndent, iIndent);	return buffer;}
开发者ID:Seldom,项目名称:miranda-ng,代码行数:51,


示例4: Assert

//-----------------------------------------------------------------------------// Purpose: // Input  : *pDC - //			bounds - //-----------------------------------------------------------------------------void Box3D::RenderTool2D(CRender2D *pRender){	Vector mins = bmins;	Vector maxs = bmaxs;	CMapView2D *pView = (CMapView2D*)pRender->GetView();	Assert( pRender );	if ( IsTranslating() )	{		TranslateBox( mins, maxs );	}	else if ( IsEmpty() )	{		return;	}	if ( m_dwDrawFlags & boundstext)	{		DrawBoundsText(pRender, mins, maxs, DBT_TOP | DBT_LEFT);	}	if ( IsTranslating() )	{	    pRender->PushRenderMode( RENDER_MODE_DOTTED );		pRender->SetDrawColor( GetRValue(Options.colors.clrToolDrag), GetGValue(Options.colors.clrToolDrag), GetBValue(Options.colors.clrToolDrag) );	}	else if (!(m_dwDrawFlags & thicklines))	{		pRender->PushRenderMode( RENDER_MODE_DOTTED );		pRender->SetDrawColor( GetRValue(m_clrBox), GetGValue(m_clrBox), GetBValue(m_clrBox) );	}	else	{		pRender->PushRenderMode( RENDER_MODE_FLAT_NOZ );		pRender->SetDrawColor( GetRValue(m_clrBox), GetGValue(m_clrBox), GetBValue(m_clrBox) );	}	// render bounds	if ( !IsTranslating() || m_TranslateMode == modeScale || m_TranslateMode == modeMove )	{		// draw simple rectangle		pRender->DrawRectangle( mins, maxs, false, 0 );	}	else	{		// during rotation or shearing, draw transformed bounding box		Vector v[4];				// init all points to center		v[0] = v[1] = v[2] = v[3] = (bmins+bmaxs) / 2;		int axis = pView->axHorz;		v[0][axis] = v[1][axis] = bmins[axis];		v[2][axis] = v[3][axis] = bmaxs[axis];		axis = pView->axVert;		v[1][axis] = v[2][axis] = bmins[axis];		v[0][axis] = v[3][axis] = bmaxs[axis];		for ( int i=0; i<4; i++)		{			TranslatePoint( v[i] );		}				pRender->DrawLine( v[0], v[1] );		pRender->DrawLine( v[1], v[2] );		pRender->DrawLine( v[2], v[3] );		pRender->DrawLine( v[3], v[0] );	}	pRender->PopRenderMode();	// draw a cross for translation origin in move or rotation mode	if ( IsTranslating() )	{		if ( m_TranslateMode == modeMove || m_TranslateMode == modeRotate )		{			Vector vec = m_vTranslationFixPoint;			if ( m_TranslateMode == modeMove  ) 			{				TranslatePoint( vec );			}			// draw 'X'			pRender->SetHandleStyle( 7, CRender::HANDLE_CROSS );			pRender->SetHandleColor( GetRValue(Options.colors.clrToolDrag), GetGValue(Options.colors.clrToolDrag), GetBValue(Options.colors.clrToolDrag) );			pRender->DrawHandle( vec );					}//.........这里部分代码省略.........
开发者ID:DeadZoneLuna,项目名称:SourceEngine2007,代码行数:101,


示例5: GetNumTokens

void CPolyDlg::OnEnterKey( UINT ctlID ){	CString csMsg, csEditstr, csItemNum, newitmstr ;	int itemnum ;	CComboBox& combo = m_Combo_Corner ; //convenience	//Get editbox string	CWnd* pWnd = (combo.GetWindow(GW_CHILD)) ;	CWnd* pEditWnd = (pWnd->GetNextWindow()); //pointer to editbox window	pEditWnd->GetWindowText( csEditstr );	csEditstr.TrimLeft() ; csEditstr.TrimRight() ;	int numtokens = GetNumTokens( csEditstr ) ;	int numitems = combo.GetCount() ;	//check for too few or too many tokens in the entry string	if( numtokens < 2 )	{		csMsg = "Each entry must have at least X & Y positions " ;		AfxMessageBox( csMsg + "/n" + csEditstr ) ;		return ;	}	else if( numtokens > 7 )	{		csMsg = "Each line can have no more than seven items" ;		AfxMessageBox( csMsg + "/n" + csEditstr ) ;		return ;	}	//OK, 2 or 3 tokens: get valid X/Y pos	Vector3D vcrnr = GetCnrVector( csEditstr ) ;	//3 tokens are considered to be [X Position] [Y Position] [Z Position]	if( numtokens == 3 )	{		//prepend item num & add to end		itemnum = numitems + 1 ;		FormatNumStr( csItemNum, itemnum ) ;		newitmstr.Format( m_csCoordFmtStr, vcrnr.x, vcrnr.y, vcrnr.z, 0, 0, 0 ) ;		csEditstr = csItemNum + newitmstr ;		combo.AddString( csEditstr ) ;		itemnum = GetItemNum( csEditstr ) ;	}	// 6 tokens are assumed to be [X Position] [Y Position] [Z Position] [R] [G] [B]	else if( numtokens == 6 )	{		COLORREF col = GetCnrColor( csEditstr ) ;		int R = GetRValue( col ) ;		int G = GetGValue( col ) ;		int B = GetBValue( col ) ;		//prepend item num & add to end		itemnum = numitems + 1 ;		FormatNumStr( csItemNum, itemnum ) ;		newitmstr.Format( m_csCoordFmtStr, vcrnr.x, vcrnr.y, vcrnr.z, R, G, B ) ;		csEditstr = csItemNum + newitmstr ;		combo.AddString( csEditstr ) ;		itemnum = GetItemNum( csEditstr ) ;	}	//otherwise we assume  [Item #] [X Position] [Y Position] [Z Position] [R] [G] [B]	else	{		itemnum = GetItemNum( csEditstr ) ;		COLORREF col = GetCnrColor( csEditstr ) ;		int R = GetRValue( col ) ;		int G = GetGValue( col ) ;		int B = GetBValue( col ) ;		//insert at item number or add to end		if( itemnum > numitems )		{			//prepend correct item num & add to end			itemnum = numitems + 1 ;			FormatNumStr( csItemNum, itemnum ) ;			newitmstr.Format( m_csCoordFmtStr, vcrnr.x, vcrnr.y, vcrnr.z, R, G, B ) ;			csEditstr = csItemNum + newitmstr ;			combo.AddString( csEditstr ) ;		}		else if( itemnum < numitems )		{			combo.DeleteString( itemnum - 1 ) ;			FormatNumStr( csItemNum, itemnum ) ;			newitmstr.Format( m_csCoordFmtStr, vcrnr.x, vcrnr.y, vcrnr.z, R, G, B ) ;			csEditstr = csItemNum + newitmstr ;			combo.InsertString( itemnum - 1, csEditstr ) ;		}		else //itemnum points to last string		{			combo.DeleteString( itemnum - 1 ) ;			FormatNumStr( csItemNum, itemnum ) ;			newitmstr.Format( m_csCoordFmtStr, vcrnr.x, vcrnr.y, vcrnr.z, R, G, B ) ;			csEditstr = csItemNum + newitmstr ;			combo.AddString( csEditstr ) ;		}	}//.........这里部分代码省略.........
开发者ID:pvaut,项目名称:Z-Flux,代码行数:101,


示例6: RGBtoHSL

// This function extracts the hue, saturation, and luminance from "color" // and places these values in h, s, and l respectively.void RGBtoHSL(unsigned int color,unsigned int& h, unsigned int& s, unsigned int& l){	unsigned int r = (unsigned int)GetRValue(color);	unsigned int g = (unsigned int)GetGValue(color);	unsigned int b = (unsigned int)GetBValue(color);	float r_percent = ((float)r)/255;	float g_percent = ((float)g)/255;	float b_percent = ((float)b)/255;	float max_color = 0;	if((r_percent >= g_percent) && (r_percent >= b_percent))	{		max_color = r_percent;	}	if((g_percent >= r_percent) && (g_percent >= b_percent))		max_color = g_percent;	if((b_percent >= r_percent) && (b_percent >= g_percent))		max_color = b_percent;	float min_color = 0;	if((r_percent <= g_percent) && (r_percent <= b_percent))		min_color = r_percent;	if((g_percent <= r_percent) && (g_percent <= b_percent))		min_color = g_percent;	if((b_percent <= r_percent) && (b_percent <= g_percent))		min_color = b_percent;	float L = 0;	float S = 0;	float H = 0;	L = (max_color + min_color)/2;	if(max_color == min_color)	{		S = 0;		H = 0;	}	else	{		if(L < .50)		{			S = (max_color - min_color)/(max_color + min_color);		}		else		{			S = (max_color - min_color)/(2 - max_color - min_color);		}		if(max_color == r_percent)		{			H = (g_percent - b_percent)/(max_color - min_color);		}		if(max_color == g_percent)		{			H = 2 + (b_percent - r_percent)/(max_color - min_color);		}		if(max_color == b_percent)		{			H = 4 + (r_percent - g_percent)/(max_color - min_color);		}	}	s = (unsigned int)(S*100);	l = (unsigned int)(L*100);	H = H*60;	if(H < 0)		H += 360;	h = (unsigned int)H;}
开发者ID:AnwarMohamed,项目名称:EmoAnalyzer,代码行数:71,


示例7: if

void CChangeBackgroudWnd::Notify(TNotifyUI& msg){	if (msg.sType == _T("click"))	{		if (msg.pSender == m_pOptSwitch)		{			if ( m_pOptSwitch->IsSelected())			{				m_pSlider->SetVisible(false);			}			else			{				m_pSlider->SetVisible(true);			}		}		if (msg.pSender == m_PaintManager.FindControl(_T("bnt_bgimage")))		{			m_pTab->SelectItem(0);		}		else if (msg.pSender == m_PaintManager.FindControl(_T("btn_color")))		{			m_pTab->SelectItem(1);		}		else if (_tcsstr(msg.pSender->GetName(), _T("colour_")) != 0)		{			CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderRControlName));			CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderGControlName));			CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderBControlName));			if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL))			{				DWORD dwColor = msg.pSender->GetBkColor();				AdjustColorSliderR->SetValue(static_cast<BYTE>(GetRValue(dwColor)));				AdjustColorSliderG->SetValue(static_cast<BYTE>(GetGValue(dwColor)));				AdjustColorSliderB->SetValue(static_cast<BYTE>(GetBValue(dwColor)));				static_cast<CPlayerWnd*>(m_pParent)->SetBkColor(dwColor);			}		}	}	else if (msg.sType == _T("valuechanged"))	{		CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderRControlName));		CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderGControlName));		CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderBControlName));		if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL))		{			BYTE red = AdjustColorSliderR->GetValue();			BYTE green = AdjustColorSliderG->GetValue();			BYTE blue = AdjustColorSliderB->GetValue();			COLORREF crColor = RGB(red, green, blue);			TCHAR szBuf[MAX_PATH] = {0};#if defined(UNDER_CE)			_stprintf(szBuf, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor));#else			_stprintf_s(szBuf, MAX_PATH - 1, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor));#endif			LPTSTR pstr = NULL;			DWORD dwColor = _tcstoul(szBuf, &pstr, 16);			m_pParent->SetBkColor(dwColor);		}	}}
开发者ID:yuechuanbingzhi163,项目名称:Player,代码行数:63,


示例8: GetPos

//.........这里部分代码省略.........			clrRange clr;			clr = colorList[loop];						// Get the good values. If not set, then entire range is good			int lval = clr.lval;			int hval = clr.hval;			if((lval < min) || (lval > max)) lval = min;			if((hval > max) || (hval < min)) hval = max;			if(lval == min)			{				gotStartColor = TRUE;				startColor = clr.strColor;			}			if(hval == max)			{				gotEndColor = TRUE;				endColor = clr.endColor;			}			int minVal = lval - min;	// offset into bitmap for this color			minVal = int(double(minVal)/scale);			// width (or height for vertical slider) inside bitmap for this color			int widthVal = hval - lval;			widthVal = int((double(widthVal)/scale) + 1.0);									// For drawing a gradient, we need to know the individual RGB values			int sR,eR,sG,eG,sB,eB;	// start and end R, G, and B values			sR = GetRValue(clr.strColor);			eR = GetRValue(clr.endColor);			sG = GetGValue(clr.strColor);			eG = GetGValue(clr.endColor);			sB = GetBValue(clr.strColor);			eB = GetBValue(clr.endColor);			if(GradientFill != NULL)			{				TRIVERTEX vert[2];	// for specifying range to gradient fill				GRADIENT_RECT gRect;// Warning C4244: conversion from 'int' to 'unsigned short', possible loss of data#pragma warning (push)#pragma warning (disable : 4244)				vert[0].Red   = sR<<8;	// expects 16-bit color values!				vert[0].Green = sG<<8;				vert[0].Blue  = sB<<8;				vert[0].Alpha = 0;		// no fading/transparency								vert[1].Red   = eR<<8;				vert[1].Green = eG<<8;				vert[1].Blue  = eB<<8;				vert[1].Alpha = 0;#pragma warning (pop)				gRect.UpperLeft = 0;				gRect.LowerRight = 1;								BOOL retval;				if(IsVertical)	// vertically oriented?				{					vert[0].x = 0;					vert[0].y = Offset + minVal;					vert[1].x = iWidth;					vert[1].y = Offset + minVal + widthVal;					retval = GradientFill(memDC,vert,2,&gRect,1,GRADIENT_FILL_RECT_V);
开发者ID:zekoman,项目名称:tibiaauto,代码行数:67,


示例9: memset

// draw the itembool wxOwnerDrawn::OnDrawItem(  wxDC&                             rDC, const wxRect&                     rRect, wxODAction                        eAction, wxODStatus                        eStatus){    //    // We do nothing on focus change    //    if (eAction == wxODFocusChanged )        return TRUE;    //    // Select the font and draw the text    // ---------------------------------    //    CHARBUNDLE                      vCbnd;    HPS                             hPS= rDC.GetHPS();    wxColour                        vColBack;    wxColour                        vColText;    COLORREF                        vRef;    RECTL                           vRect = {rRect.x + 4, rRect.y + 1, rRect.x + (rRect.width - 2), rRect.y + rRect.height};    memset(&vCbnd, 0, sizeof(CHARBUNDLE));    //    // Use default font if no font set    //    if (m_font.Ok())    {        m_font.RealizeResource();    }    else    {        ::GpiSetCharSet(hPS, LCID_DEFAULT);    }    //    // Based on the status of the menu item, pick the right colors    //    if (eStatus & wxODSelected)    {        wxColour                        vCol2(wxT("WHITE"));        vColBack.Set( (unsigned char)0                     ,(unsigned char)0                     ,(unsigned char)160                    ); // no dark blue in color table        vColText = vCol2;    }    else if (eStatus & wxODDisabled)    {        vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP                                         ,SYSCLR_MENU // Light gray                                         ,0L                                        );        vColBack.Set( GetRValue(vRef)                     ,GetGValue(vRef)                     ,GetBValue(vRef)                    );        vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP                                         ,SYSCLR_MENUDISABLEDTEXT // dark gray                                         ,0L                                        );        vColText.Set( GetRValue(vRef)                     ,GetGValue(vRef)                     ,GetBValue(vRef)                    );    }    else    {        //        // Fall back to default colors if none explicitly specified        //        vRef = ::WinQuerySysColor( HWND_DESKTOP                                  ,SYSCLR_MENU  // we are using gray for all our window backgrounds in wxWidgets                                  ,0L                                 );        vColBack.Set( GetRValue(vRef)                     ,GetGValue(vRef)                     ,GetBValue(vRef)                    );        vRef = ::WinQuerySysColor( HWND_DESKTOP                                  ,SYSCLR_WINDOWTEXT // Black                                  ,0L                                 );        vColText.Set( GetRValue(vRef)                     ,GetGValue(vRef)                     ,GetBValue(vRef)                    );    }    rDC.SetTextBackground(vColBack);    rDC.SetTextForeground(vColText);    rDC.SetBackgroundMode(wxTRANSPARENT);    vCbnd.lColor     = vColText.GetPixel();    vCbnd.lBackColor = vColBack.GetPixel();    ::GpiSetAttrs( hPS//.........这里部分代码省略.........
开发者ID:gitrider,项目名称:wxsj2,代码行数:101,


示例10: GetSysColor

Color RenderThemeWinCE::platformInactiveSelectionBackgroundColor() const{    COLORREF color = GetSysColor(COLOR_GRAYTEXT);    return Color(GetRValue(color), GetGValue(color), GetBValue(color), 255);}
开发者ID:13W,项目名称:phantomjs,代码行数:5,


示例11: GetLowColor

// Draw the tiles//void CTileCastleFlag::Draw( CDC* pDC, int x, int y, int x2, int x3, int y2, int y3, int y4, int DrawingLevel){	// Compute polyline around tiles	POINT	Points1[4];	int		NbPoint1 = 4;	int		TilePos = 0;	double LowColor = GetLowColor( DrawingLevel );	Points1[0].x=x+x2;	Points1[0].y=y-y2;	Points1[1].x=x+x3;	Points1[1].y=y;	Points1[2].x=(int) (x+x3-x2/4.0);	Points1[2].y=(int) (y+y2/4.0);	Points1[3].x=x+x2;	Points1[3].y=(int) (y-y2/2.0);	double cosa;	double sina;	switch( m_CurrentRotation )	{	case 0:		break;	case 1:		cosa = cos(60/180.0*PI);		sina = sin(60/180.0*PI);		break;	case 2:		cosa = cos(120/180.0*PI);		sina = sin(120/180.0*PI);		break;	case 3:		cosa = cos(180/180.0*PI);		sina = sin(180/180.0*PI);		break;	case 4:		cosa = cos(240/180.0*PI);		sina = sin(240/180.0*PI);		break;	case 5:		cosa = cos(300/180.0*PI);		sina = sin(300/180.0*PI);		break;	}	if( m_CurrentRotation!=0 )	{		for( int i=0; i<NbPoint1; i++ )		{			double x1,y1;			x1 = cosa*(Points1[i].x-x-x2)-sina*(Points1[i].y-y-(y3-y2)/2.0);			y1 = sina*(Points1[i].x-x-x2)+cosa*(Points1[i].y-y-(y3-y2)/2.0);			Points1[i].x = (int) (x+x2+x1);			Points1[i].y = (int) (y+(y3-y2)/2.0+y1);		}	}	CPen Pen;	Pen.CreatePen(PS_NULL,0,RGB(0,0,0));	CPen* pOldPen = pDC->SelectObject( &Pen );	CBrush Brush;	if( m_IsSelected )		Brush.CreateSolidBrush( RGB(255,255*LowColor,255*LowColor) );	else		Brush.CreateSolidBrush( RGB(min(255,GetRValue(m_TileColor)+(255-GetRValue(m_TileColor))*LowColor),min(255,GetGValue(m_TileColor)+(255-GetGValue(m_TileColor))*LowColor),min(255,GetBValue(m_TileColor)+(255-GetBValue(m_TileColor))*LowColor)) );	CBrush* pOldBrush = pDC->SelectObject( &Brush );	pDC->Polygon( Points1, NbPoint1 );	// Draw points	CBrush BlackBrush;	BlackBrush.CreateSolidBrush( RGB(min(255,255*LowColor),min(255,255*LowColor),min(255,255*LowColor)) );	pDC->SelectObject( &BlackBrush );	double xe1 = (Points1[3].x+Points1[0].x)*.5;	double ye1 = (Points1[3].y+Points1[0].y)*.5;	double xe2 = (Points1[2].x+Points1[1].x)*.5;	double ye2 = (Points1[2].y+Points1[1].y)*.5;	int xe3 = (int) ((xe1+xe2)*.5);	int ye3 = (int) ((ye1+ye2)*.5);	int diameter = (int) (x2/10.0);	pDC->Ellipse( xe3-diameter, ye3-diameter, xe3+diameter, ye3+diameter );	pDC->SelectObject( pOldBrush );	pDC->SelectObject( pOldPen );	DrawExtend( pDC, x, y, x2, x3, y2, y3, y4, DrawingLevel);}
开发者ID:dkniffin,项目名称:virtualscape,代码行数:94,


示例12: glEnable

void Renderer::drawCovers(bool showTarget){#ifdef COVER_ALPHA	glEnable(GL_BLEND);	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);	glEnable(GL_ALPHA_TEST);	glAlphaFunc(GL_GREATER,0.1f);#endif		if (cfgHighlightWidth == 0)		showTarget = false;	if (appInstance->albumCollection->getCount() == 0)		return;	float centerOffset = displayPos->getCenteredOffset();	CollectionPos centerCover = displayPos->getCenteredPos();	CollectionPos firstCover = displayPos->getOffsetPos(coverPos.getFirstCover() + 1);	CollectionPos lastCover = displayPos->getOffsetPos(coverPos.getLastCover());	lastCover++; // getOffsetPos does not return the end() element	CollectionPos targetCover = appInstance->albumCollection->getTargetPos();	int offset = appInstance->albumCollection->rank(firstCover) - appInstance->albumCollection->rank(centerCover);		for (CollectionPos p = firstCover; p != lastCover; ++p, ++offset){		float co = -centerOffset + offset;		shared_ptr<ImgTexture> tex = texLoader->getLoadedImgTexture(p);		tex->glBind();		glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);		// calculate darkening		float g = 1-(min(1.0f,(abs(co)-2)/5))*0.5f;		if (abs(co) < 2)			g = 1;		/*float g = 1 - (abs(co)-2)*0.2f;		g = 1 - abs(co)*0.1f;		g = 1 - abs(zRot)/80;		g= 1;		if (g < 0) g = 0;*/		glColor3f( g, g, g);		glVectord origin(0, 0.5, 0);		glQuad coverQuad = coverPos.getCoverQuad(co, tex->getAspect());				glPushName(SELECTION_CENTER + offset);		glBegin(GL_QUADS);		if (glFogCoordf) glFogCoordf((GLfloat)coverPos.distanceToMirror(coverQuad.topLeft));			glTexCoord2f(0.0f, 1.0f); // top left			glVertex3fv((GLfloat*)&(coverQuad.topLeft.x));			if (glFogCoordf) glFogCoordf((GLfloat)coverPos.distanceToMirror(coverQuad.topRight));			glTexCoord2f(1.0f, 1.0f); // top right			glVertex3fv((GLfloat*)&(coverQuad.topRight.x));			if (glFogCoordf) glFogCoordf((GLfloat)coverPos.distanceToMirror(coverQuad.bottomRight));			glTexCoord2f(1.0f, 0.0f); // bottom right			glVertex3fv((GLfloat*)&(coverQuad.bottomRight.x));			if (glFogCoordf) glFogCoordf((GLfloat)coverPos.distanceToMirror(coverQuad.bottomLeft));			glTexCoord2f(0.0f, 0.0f); // bottom left			glVertex3fv((GLfloat*)&(coverQuad.bottomLeft.x));		glEnd();		glPopName();		if (showTarget){			if (p == targetCover){				bool clipPlane = false;				if (glIsEnabled(GL_CLIP_PLANE0)){					glDisable(GL_CLIP_PLANE0);					clipPlane = true;				}				showTarget = false;								glColor3f(GetRValue(cfgTitleColor) / 255.0f, GetGValue(cfgTitleColor) / 255.0f, GetBValue(cfgTitleColor) / 255.0f);				glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);				glDisable(GL_TEXTURE_2D);				glLineWidth((GLfloat)cfgHighlightWidth);				glPolygonOffset(-1.0f, -1.0f);				glEnable(GL_POLYGON_OFFSET_LINE);				glEnable(GL_VERTEX_ARRAY);				glVertexPointer(3, GL_FLOAT, 0, (void*) &coverQuad);				glDrawArrays(GL_QUADS, 0, 4);				glDisable(GL_POLYGON_OFFSET_LINE);				glEnable(GL_TEXTURE_2D);				if (clipPlane)					glEnable(GL_CLIP_PLANE0);			}		}	}#ifdef COVER_ALPHA//.........这里部分代码省略.........
开发者ID:qq2377654,项目名称:foo_chronflow,代码行数:101,


示例13: glClearColor

void Renderer::drawBg(){	glClearColor(GetRValue(cfgPanelBg)/255.0f, GetGValue(cfgPanelBg)/255.0f, GetBValue(cfgPanelBg)/255.0f, 0);	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);}
开发者ID:qq2377654,项目名称:foo_chronflow,代码行数:4,


示例14: GetSubItemRect

//***************************************************************void CMyColorList::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) {    if (!lpDrawItemStruct) return;	CDC*		pDC			= CDC::FromHandle(lpDrawItemStruct->hDC);	int m=GetHeaderCtrl()->GetItemCount();	for(int i=0;i<m;i++)	{		CString str;		CRect rcItem;		GetSubItemRect(lpDrawItemStruct->itemID,i,LVIR_LABEL,rcItem);		str=GetItemText(lpDrawItemStruct->itemID,i);		CMyColor *col=(CMyColor *)m_ArrayCol.GetAt(lpDrawItemStruct->itemID);		pDC->SetBkMode(TRANSPARENT);		CBrush brush;		brush.CreateSolidBrush(col->colBack);		pDC->FillRect(rcItem,&brush);		pDC->SetTextColor(col->colText);		LV_ITEM lvi;		lvi.mask = LVIF_IMAGE | LVIF_STATE;		lvi.iItem = lpDrawItemStruct->itemID;		lvi.iSubItem = 0;		lvi.stateMask = 0xFFFF;		// get all state flags		GetItem(&lvi);		if((lvi.state & LVIS_SELECTED)||(lvi.state & LVIS_FOCUSED))		{			if(m_blnSelect)			{				int r1=GetRValue(col->colSelect);				int g1=GetGValue(col->colSelect);				int b1=GetBValue(col->colSelect);				for(int i=rcItem.Height()/2;i>0;i--)				{					r1=(r1+5)>255?255:(r1+5);					g1=(g1+5)>255?255:(g1+5);					b1=(b1+5)>255?255:(b1+5);					CPen pen(PS_SOLID, 1, RGB(r1, g1, b1));					CPen *old = pDC->SelectObject(&pen);					pDC->MoveTo(rcItem.left,rcItem.top+i);					pDC->LineTo(rcItem.right,rcItem.top+i);					pDC->MoveTo(rcItem.left,rcItem.bottom-i);					pDC->LineTo(rcItem.right,rcItem.bottom-i);					pDC->SelectObject(old);				}			}		}		int nAlign=atoi(m_ArrayHeaderAlign.GetAt(i));		if(i==0&&GetImageList(LVSIL_SMALL)!=NULL)		{					CPoint ptImage;			ptImage.x=rcItem.left;			ptImage.y=rcItem.top;			GetImageList(LVSIL_SMALL)->Draw(pDC,lvi.iImage,ptImage,ILD_TRANSPARENT);			pDC->SetBkMode(TRANSPARENT);			rcItem.left=rcItem.left+16;			if(nAlign==LVCFMT_LEFT)				rcItem.left=rcItem.left+8;		}		switch(nAlign)		{		case LVCFMT_LEFT:			pDC->DrawText(str,rcItem,DT_LEFT);			break;		case LVCFMT_CENTER:			pDC->DrawText(str,rcItem,DT_CENTER);			break;		case LVCFMT_RIGHT:			pDC->DrawText(str,rcItem,DT_RIGHT);				break;		default:			pDC->DrawText(str,rcItem,DT_CENTER);			break;		}	}}
开发者ID:likebeta,项目名称:code-snippets,代码行数:77,


示例15: OleTranslateColor

/****************************************************************************** *		OleTranslateColor	[OLEAUT32.421] * * Convert an OLE_COLOR to a COLORREF. * * PARAMS *  clr       [I] Color to convert *  hpal      [I] Handle to a palette for the conversion *  pColorRef [O] Destination for converted color, or NULL to test if the conversion is ok * * RETURNS *  Success: S_OK. The conversion is ok, and pColorRef contains the converted color if non-NULL. *  Failure: E_INVALIDARG, if any argument is invalid. * * FIXME *  Document the conversion rules. */HRESULT WINAPI OleTranslateColor(  OLE_COLOR clr,  HPALETTE  hpal,  COLORREF* pColorRef){  COLORREF colorref;  BYTE b = HIBYTE(HIWORD(clr));  TRACE("(%08lx, %p, %p)/n", clr, hpal, pColorRef);  /*   * In case pColorRef is NULL, provide our own to simplify the code.   */  if (pColorRef == NULL)    pColorRef = &colorref;  switch (b)  {    case 0x00:    {      if (hpal != 0)        *pColorRef =  PALETTERGB(GetRValue(clr),                                 GetGValue(clr),                                 GetBValue(clr));      else        *pColorRef = clr;      break;    }    case 0x01:    {      if (hpal != 0)      {        PALETTEENTRY pe;        /*         * Validate the palette index.         */        if (GetPaletteEntries(hpal, LOWORD(clr), 1, &pe) == 0)          return E_INVALIDARG;      }      *pColorRef = clr;      break;    }    case 0x02:      *pColorRef = clr;      break;    case 0x80:    {      int index = LOBYTE(LOWORD(clr));      /*       * Validate GetSysColor index.       */      if ((index < COLOR_SCROLLBAR) || (index > COLOR_MENUBAR))        return E_INVALIDARG;      *pColorRef =  GetSysColor(index);      break;    }    default:      return E_INVALIDARG;  }  return S_OK;}
开发者ID:howard5888,项目名称:wineT,代码行数:89,


示例16: GetClientRect

void COptionTreeItemColor::DrawControl(CDC *pDC, const RECT &rcRect){	// Declare variables	HGDIOBJ hOld;	HGDIOBJ hOldBrush;	COLORREF crOld;	int nOldBack;	CRect rcText, rcColor, rcClient;	CString strText;	CBrush bBrush;	COLORREF crOldBack;	// Get window rect	GetClientRect(rcClient);	// Select font	hOld = pDC->SelectObject(m_otOption->GetNormalFont());	// Create bush	bBrush.CreateSolidBrush(m_crColor);		// Set text color	if (IsReadOnly() == TRUE || m_otOption->IsWindowEnabled() == FALSE)	{		crOld = pDC->SetTextColor(GetSysColor(COLOR_GRAYTEXT));	}	else	{		crOld = pDC->SetTextColor(GetTextColor());	}	// Set background color	crOldBack = pDC->SetBkColor(GetBackgroundColor());		// Set background mode	nOldBack = pDC->SetBkMode(TRANSPARENT);	// Select brush	hOldBrush = pDC->SelectObject(GetSysColorBrush(COLOR_BTNSHADOW));	// Get color rectangle	rcColor.left  = rcRect.left + 1;	rcColor.right = rcColor.left + (long) OT_COLOR_SIZE;	rcColor.top = rcRect.top + OT_SPACE - 2;	rcColor.bottom = rcColor.top + (long) OT_COLOR_SIZE;	// Draw color border	rcColor.InflateRect(1, 1, 1, 1);	pDC->PatBlt(rcColor.left, rcColor.top, rcColor.Width(), rcColor.Height(), PATCOPY);	// Draw color	rcColor.DeflateRect(1, 1, 1, 1);	pDC->FillRect(rcColor, &bBrush);	// Get text rectangle	rcText.left  = rcColor.right + OT_SPACE;	rcText.right = rcRect.right;	rcText.top = rcRect.top;	rcText.bottom = rcRect.bottom;	// Get text	if (GetOption(OT_COLOR_SHOWHEX) == TRUE)	{		strText.Format(_T("#%.6X"), m_crColor);	}	else	{		strText.Format(_T("RGB (%d, %d, %d)"), GetRValue(m_crColor), GetGValue(m_crColor), GetBValue(m_crColor));	}	// Draw text	pDC->DrawText(strText, rcText, DT_SINGLELINE | DT_VCENTER);	pDC->DrawText(strText, rcText, DT_SINGLELINE | DT_VCENTER | DT_CALCRECT);		// Delete brush	if (bBrush.GetSafeHandle() != NULL)	{		bBrush.DeleteObject();	}	// Restore GDI ojects	pDC->SelectObject(hOldBrush);	pDC->SelectObject(hOld);	pDC->SetTextColor(crOld);	pDC->SetBkMode(nOldBack);	pDC->SetBkColor(crOldBack);}
开发者ID:jjiezheng,项目名称:pap_full,代码行数:87,


示例17: winToggleGetBgColorAttrib

static char* winToggleGetBgColorAttrib(Ihandle* ih){  /* the most important use of this is to provide     the correct background for images */  if (iupwin_comctl32ver6 && ih->data->type==IUP_TOGGLE_IMAGE)  {    COLORREF cr;    if (iupwinDrawGetThemeButtonBgColor(ih->handle, &cr))      return iupStrReturnStrf("%d %d %d", (int)GetRValue(cr), (int)GetGValue(cr), (int)GetBValue(cr));  }  if (ih->data->type == IUP_TOGGLE_TEXT)    return iupBaseNativeParentGetBgColorAttrib(ih);  else    return IupGetGlobal("DLGBGCOLOR");}
开发者ID:mwoz,项目名称:Hildim.Source,代码行数:16,


示例18: wxColour

//--------------------------------------------------------------------------//  void wxPLDevDC::PutPixel( short x, short y, PLINT color )////  Draw a pixel in color color @ (x,y).//--------------------------------------------------------------------------void wxPLDevDC::PutPixel( short x, short y, PLINT color ){    const wxPen oldpen = m_dc->GetPen();    m_dc->SetPen( *( wxThePenList->FindOrCreatePen( wxColour( GetRValue( color ), GetGValue( color ), GetBValue( color ) ),                         1, wxSOLID ) ) );    m_dc->DrawPoint( x, y );    AddtoClipRegion( x, y, x, y );    m_dc->SetPen( oldpen );}
开发者ID:FreeScienceCommunity,项目名称:PLPlot,代码行数:14,


示例19: GetRValue

void CProgressCtrlX::DrawGradient(const CDrawInfo& info, const CRect &rcGrad, const CRect &rcClip, COLORREF clrStart, COLORREF clrEnd){    // Split colors to RGB chanels, find chanel with maximum difference    // between the start and end colors. This distance will determine    // number of steps of gradient    int r = (GetRValue(clrEnd) - GetRValue(clrStart));    int g = (GetGValue(clrEnd) - GetGValue(clrStart));    int b = (GetBValue(clrEnd) - GetBValue(clrStart));    int nSteps = max(abs(r), max(abs(g), abs(b)));    // if number of pixels in gradient less than number of steps -    // use it as numberof steps    int nPixels = rcGrad.Width();    nSteps = min(nPixels, nSteps);    if(nSteps == 0) nSteps = 1;    float rStep = (float)r/nSteps;    float gStep = (float)g/nSteps;    float bStep = (float)b/nSteps;    r = GetRValue(clrStart);    g = GetGValue(clrStart);    b = GetBValue(clrStart);    BOOL fLowColor = info.pDC->GetDeviceCaps(RASTERCAPS) & RC_PALETTE;    if(!fLowColor && nSteps > 1)        if(info.pDC->GetDeviceCaps(BITSPIXEL)*info.pDC->GetDeviceCaps(PLANES) < 8)            nSteps = 1; // for 16 colors no gradient    float nWidthPerStep = (float)rcGrad.Width() / nSteps;    CRect rcFill(rcGrad);    CBrush br;    // Start filling    for (int i = 0; i < nSteps; i++)    {        rcFill.left = rcGrad.left + (int)(nWidthPerStep * i);        rcFill.right = rcGrad.left + (int)(nWidthPerStep * (i+1));        if(i == nSteps-1)	//last step (because of problems with float)            rcFill.right = rcGrad.right;        if(rcFill.right < rcClip.left)            continue; // skip - band before cliping rect        // clip it        if(rcFill.left < rcClip.left)            rcFill.left = rcClip.left;        if(rcFill.right > rcClip.right)            rcFill.right = rcClip.right;        COLORREF clrFill = RGB(r + (int)(i * rStep),                               g + (int)(i * gStep),                               b + (int)(i * bStep));        if(fLowColor)        {            br.CreateSolidBrush(clrFill);            // CDC::FillSolidRect is faster, but it does not handle 8-bit color depth            info.pDC->FillRect(&ConvertToReal(info, rcFill), &br);            br.DeleteObject();        }        else            info.pDC->FillSolidRect(&ConvertToReal(info, rcFill), clrFill);        if(rcFill.right >= rcClip.right)            break; // stop filling if we reach current position    }}
开发者ID:BackupTheBerlios,项目名称:nextemf,代码行数:64,


示例20: GetSysColor

void MeterM5::DrawMeterBackground(CDC *pDC, CRect &rect){	int nInnerRadius = m_nRadiusFrame*8/10;	// 内圆弧半径	m_nCenterRadius = m_nRadiusFrame/20;	// 中心园半径大小	int nFrame = m_nRadiusFrame/18;			// 边框厚度	double dstepTickDeg = (360.0+m_nStartAngleDeg-m_nEndAngleDeg)/(m_nTicks*m_nSubTicks);	// 刻度步进角度	int nSubTickR = nInnerRadius+(m_nRadiusFrame-2*nFrame-nInnerRadius)/2;	double dDeg = (m_nStartAngleDeg+360.0-m_nEndAngleDeg)/(TABNUM*PT_NUM);	 	CRect rectPanel,rectInnerPanel;	CPen penDraw, *pPenOld;	CFont *pFontOld;	CBrush brushFill, *pBrushOld;	POINT ptStart, ptEnd, ptInnerStart, ptInnerEnd;		CPoint pointInner[BOUNDARY_POINTS], ptGroup1[PT_NUM*TABNUM+1], ptGroup2[PT_NUM*TABNUM+1];	CPoint ptRgn[PT_NUM*2+2];	CPoint pttemp;	CString strtemp;	double dRadPerDeg;	double dTickAngleRad;	double dTemp;	int nRef = 0;	int nTickAngle;		int nHeight;	// 字体大小	double dtempangle;		// 计算起始角终止角弧度	dRadPerDeg = 4.0*atan(1.0)/180.0;	m_dLeftAngleRad = (m_nStartAngleDeg-180.0)*dRadPerDeg;	m_dRightAngleRad = (m_nEndAngleDeg-360.0)*dRadPerDeg;		// 计算圆弧起始终止点及区域	ptStart.x = m_ptMeterCenter.x-(int)(m_nRadiusFrame*cos(m_dLeftAngleRad));	ptStart.y = m_ptMeterCenter.y+(int)(m_nRadiusFrame*sin(m_dLeftAngleRad));	ptEnd.x = m_ptMeterCenter.x+(int)(m_nRadiusFrame*cos(-m_dRightAngleRad));	ptEnd.y = m_ptMeterCenter.y+(int)(m_nRadiusFrame*sin(-m_dRightAngleRad));		rectPanel.SetRect(m_ptMeterCenter.x-m_nRadiusFrame, m_ptMeterCenter.y-m_nRadiusFrame,						m_ptMeterCenter.x+m_nRadiusFrame, m_ptMeterCenter.y+m_nRadiusFrame);	// 获取点的位置	for(int i=0; i<=PT_NUM*TABNUM; i++)	{		ptGroup1[i].x = m_ptMeterCenter.x + (int)((m_nRadiusFrame-nFrame)*cos((m_nStartAngleDeg-i*dDeg)*dRadPerDeg));		ptGroup1[i].y = m_ptMeterCenter.y - (int)((m_nRadiusFrame-nFrame)*sin((m_nStartAngleDeg-i*dDeg)*dRadPerDeg));		ptGroup2[i].x = m_ptMeterCenter.x + (int)(m_nRadiusFrame*8*cos((m_nStartAngleDeg-i*dDeg)*dRadPerDeg)/10);		ptGroup2[i].y = m_ptMeterCenter.y - (int)(m_nRadiusFrame*8*sin((m_nStartAngleDeg-i*dDeg)*dRadPerDeg)/10);	}	// 获取系统颜色;	m_colorWindow    = GetSysColor(COLOR_WINDOW);	m_colorButton    = GetSysColor(COLOR_BTNFACE);	m_colorShadow    = GetSysColor(COLOR_BTNSHADOW);	m_colorHighlight = GetSysColor(COLOR_BTNHIGHLIGHT);	m_colorText		= GetSysColor(COLOR_BTNTEXT);	// 临时使用的颜色	COLORREF colorCaption, cEdge, cMiddle;	cMiddle = RGB(255, 255, 255);	cEdge = RGB(96, 96, 255);	// 用按钮色绘制背景	brushFill.DeleteObject();	brushFill.CreateSolidBrush(m_colorButton);	pBrushOld = pDC->SelectObject(&brushFill);	pDC->Rectangle(rect);	pDC->SelectObject(pBrushOld);	// 绘制圆盘边框	for(int iOnBand=nFrame; iOnBand>0; iOnBand--)	{		penDraw.DeleteObject();		colorCaption = RGB((GetRValue(cEdge)-GetRValue(cMiddle))*((float)iOnBand)/nFrame+GetRValue(cMiddle),			(GetGValue(cEdge)-GetGValue(cMiddle))*((float)iOnBand)/nFrame+GetGValue(cMiddle),			(GetBValue(cEdge)-GetBValue(cMiddle))*((float)iOnBand)/nFrame+GetBValue(cMiddle));		penDraw.CreatePen(PS_SOLID, iOnBand*2, colorCaption);		pPenOld = pDC->SelectObject(&penDraw);		pDC->Arc(&rectPanel, ptEnd, ptStart);		pDC->SelectObject(pPenOld);		}	// 绘制内圈	ptInnerStart.x = m_ptMeterCenter.x-(int)(nInnerRadius*cos(m_dLeftAngleRad));	ptInnerStart.y = m_ptMeterCenter.y+(int)(nInnerRadius*sin(m_dLeftAngleRad));	ptInnerEnd.x = m_ptMeterCenter.x+(int)(nInnerRadius*cos(-m_dRightAngleRad));	ptInnerEnd.y = m_ptMeterCenter.y+(int)(nInnerRadius*sin(-m_dRightAngleRad));		rectInnerPanel.SetRect(m_ptMeterCenter.x-nInnerRadius, m_ptMeterCenter.y-nInnerRadius,						m_ptMeterCenter.x+nInnerRadius ,m_ptMeterCenter.y+nInnerRadius);	penDraw.DeleteObject();	penDraw.CreatePen(PS_SOLID, 1, RGB(255,255,0));	pPenOld = pDC->SelectObject(&penDraw);	pDC->Arc(&rectInnerPanel, ptInnerEnd, ptInnerStart);	pDC->SelectObject(pPenOld);		//.........这里部分代码省略.........
开发者ID:robinchung,项目名称:PPP-2,代码行数:101,


示例21: GetCnrVector

void CPolyDlg::OnSelchangeContour() {	POSITION pos ;	int numcnrs, cnridx ;	CContour* pCtr ;		int selidx = m_ContourList.GetCurSel() ;	if( m_LastContourSelIdx != selidx )	{		//save current corner points back into parent contour object		if( m_LastContourSelIdx >= 0 && m_LastContourSelIdx < m_ContourList.GetCount() )		{			pos = m_ContourPtrList.FindIndex( m_LastContourSelIdx ) ;			numcnrs = m_Combo_Corner.GetCount() ;			if( pos && numcnrs > 0 )			{				pCtr = (CContour*)m_ContourPtrList.GetAt( pos ) ;				//don't delete pCtr, but do delete vertix arrays and m_ppVertexArray				int numcnrs = pCtr->m_NumVertex ;				for( cnridx = 0; cnridx < numcnrs; cnridx++ )				{					GLdouble* pcnr = pCtr->m_ppVertexArray[ cnridx ] ; //pcnr pts to a GLdouble[6] array					delete[] pcnr ;					pcnr = NULL ;				}				delete[] pCtr->m_ppVertexArray ;				pCtr->m_ppVertexArray = NULL ;				//now create new arrays & load them from combobox				pCtr->m_ppVertexArray = new GLdouble*[ numcnrs ] ;				pCtr->m_NumVertex = numcnrs ;				for( cnridx = 0; cnridx < numcnrs; cnridx++ )				{					GLdouble* pcnr = new GLdouble[6] ; //pcnr pts to a GLdouble[6] array					CString cnrstr ;										m_Combo_Corner.GetLBText( cnridx, cnrstr ) ;					Vector3D vcnr = GetCnrVector( cnrstr ) ;					COLORREF col = GetCnrColor( cnrstr ) ;					int R = GetRValue( col ) ;					int G = GetGValue( col ) ;					int B = GetBValue( col ) ;										pcnr[0] = (GLdouble)vcnr.x ;					pcnr[1] = (GLdouble)vcnr.y ;					pcnr[2] = (GLdouble)vcnr.z ;					//need to convert integer color value to normalized GLdouble					pcnr[3] = (GLdouble)R/255. ;					pcnr[4] = (GLdouble)G/255. ;					pcnr[5] = (GLdouble)B/255. ;					pCtr->m_ppVertexArray[ cnridx ] = pcnr ;				}				m_Combo_Corner.ResetContent() ; //dont do this if last selidx was invalid			}		}		//load selected countour's corner pts into the combo list		pos = m_ContourPtrList.FindIndex( selidx ) ;		if( pos )		{			CContour* pCtr = (CContour*)m_ContourPtrList.GetAt( pos ) ;			int numcnrs = pCtr->m_NumVertex ;			for( int cnridx = 0; cnridx < numcnrs; cnridx++ )			{				GLdouble* pcnr = pCtr->m_ppVertexArray[ cnridx ] ; //pcnr pts to a GLdouble[6] array				CString numstr, cnrstr ;				FormatNumStr( numstr, cnridx + 1 ) ;				cnrstr.Format( m_csCoordFmtStr, pcnr[0], pcnr[1], pcnr[2], int(pcnr[3]*255), int(pcnr[4]*255), int(pcnr[5]*255) ) ;				m_Combo_Corner.AddString( numstr + cnrstr ) ;			}		}		//now its safe to overwrite last idx & combo list contents		m_LastContourSelIdx = selidx ;	}	UpdateControls() ;}
开发者ID:pvaut,项目名称:Z-Flux,代码行数:85,


示例22: GetWindowRect

void CxShadeButton::SetShade(UINT shadeID,BYTE granularity,BYTE highlight,BYTE coloring,COLORREF color){	long	sXSize,sYSize,bytes,j,i,k,h;	BYTE	*iDst ,*posDst;		RECT rect;	GetWindowRect(&rect);	sYSize=rect.bottom-rect.top;	sXSize=rect.right-rect.left ;	m_dh.Create(max(1,sXSize-2*m_FocusRectMargin),1,8);	//create the horizontal focus bitmap	m_dv.Create(1,max(1,sYSize-2*m_FocusRectMargin),8);	//create the vertical focus bitmap	m_dNormal.Create(sXSize,sYSize,8);					//create the default bitmap	COLORREF hicr=GetSysColor(COLOR_BTNHIGHLIGHT);		//get the button base colors	COLORREF midcr=GetSysColor(COLOR_BTNFACE);	COLORREF locr=GetSysColor(COLOR_BTNSHADOW);	long r,g,b;											//build the shaded palette	for(i=0;i<129;i++){		r=((128-i)*GetRValue(locr)+i*GetRValue(midcr))/128;		g=((128-i)*GetGValue(locr)+i*GetGValue(midcr))/128;		b=((128-i)*GetBValue(locr)+i*GetBValue(midcr))/128;		m_dNormal.SetPaletteIndex((BYTE)i,(BYTE)r,(BYTE)g,(BYTE)b);		m_dh.SetPaletteIndex((BYTE)i,(BYTE)r,(BYTE)g,(BYTE)b);		m_dv.SetPaletteIndex((BYTE)i,(BYTE)r,(BYTE)g,(BYTE)b);	}	for(i=1;i<129;i++){		r=((128-i)*GetRValue(midcr)+i*GetRValue(hicr))/128;		g=((128-i)*GetGValue(midcr)+i*GetGValue(hicr))/128;		b=((128-i)*GetBValue(midcr)+i*GetBValue(hicr))/128;		m_dNormal.SetPaletteIndex((BYTE)(i+127),(BYTE)r,(BYTE)g,(BYTE)b);		m_dh.SetPaletteIndex((BYTE)(i+127),(BYTE)r,(BYTE)g,(BYTE)b);		m_dv.SetPaletteIndex((BYTE)(i+127),(BYTE)r,(BYTE)g,(BYTE)b);	}	m_dNormal.BlendPalette(color,coloring);	//color the palette	iDst=m_dh.GetBits();		//build the horiz. dotted focus bitmap	j=(long)m_dh.GetWidth();	for(i=0;i<j;i++){//		iDst[i]=64+127*(i%2);	//soft		iDst[i]=255*(i%2);		//hard	}	iDst=m_dv.GetBits();		//build the vert. dotted focus bitmap	j=(long)m_dv.GetHeight();	for(i=0;i<j;i++){//		*iDst=64+127*(i%2);		//soft		*iDst=255*(i%2);		//hard		iDst+=4;	}	bytes = m_dNormal.GetLineWidth();	iDst = m_dNormal.GetBits();	posDst =iDst;	long a,x,y,d,xs,idxmax,idxmin;	int grainx2=RAND_MAX/(max(1,2*granularity));	idxmax=255-granularity;	idxmin=granularity;	switch(shadeID){//----------------------------------------------------	case 8:	//SHS_METAL		m_dNormal.Clear();		// create the strokes		k=40;	//stroke granularity		for(a=0;a<200;a++){			x=rand()/(RAND_MAX/sXSize); //stroke postion			y=rand()/(RAND_MAX/sYSize);	//stroke position			xs=rand()/(RAND_MAX/min(sXSize,sYSize))/2; //stroke lenght			d=rand()/(RAND_MAX/k);	//stroke color			for(i=0;i<xs;i++){				if (((x-i)>0)&&((y+i)<sYSize))					m_dNormal.SetPixelIndex(x-i,y+i,(BYTE)d);				if (((x+i)<sXSize)&&((y-i)>0))					m_dNormal.SetPixelIndex(sXSize-x+i,y-i,(BYTE)d);			}		}		//blend strokes with SHS_DIAGONAL		posDst =iDst;		a=(idxmax-idxmin-k)/2;		for(i = 0; i < sYSize; i++) {			for(j = 0; j < sXSize; j++) {				d=posDst[j]+((a*i)/sYSize+(a*(sXSize-j))/sXSize);				posDst[j]=(BYTE)d;				posDst[j]+=rand()/grainx2;			}			posDst+=bytes;		}		break;//----------------------------------------------------	case 7:	// SHS_HARDBUMP		//set horizontal bump		for(i = 0; i < sYSize; i++) {			k=(255*i/sYSize)-127;			k=(k*(k*k)/128)/128;			k=(k*(128-granularity))/128+128;//.........这里部分代码省略.........
开发者ID:F5000,项目名称:spree,代码行数:101,


示例23: colorToByte

BYTE colorToByte(COLORREF* ref) {	return (GetRValue(*ref) * 30 + GetGValue(*ref) * 59 + GetBValue(*ref) * 11) / 100;}
开发者ID:Vumbumy,项目名称:OpenCV_Sample,代码行数:3,


示例24: _DrawSelectRect

//.........这里部分代码省略.........            pDC->DrawEdge(rcTextButton, BDR_RAISEDINNER, BF_RECT);		}        else if (m_nChosenColorSel == nIndex)		{            pDC->DrawEdge(rcTextButton, BDR_SUNKENOUTER, BF_RECT);		}        // -- Draw custom text        CFont *pOldFont = (CFont*) pDC->SelectObject(&m_fFont);        int nOldBack = pDC->SetBkMode(TRANSPARENT);        pDC->DrawText(m_strDefaultText, rcTextButton, DT_CENTER | DT_VCENTER | DT_SINGLELINE);		// -- Restore        pDC->SelectObject(pOldFont);		pDC->SetBkMode(nOldBack);		// -- Select and realize the palette		CPalette* pOldPalette = NULL;		if (pDC->GetDeviceCaps(RASTERCAPS) & RC_PALETTE)		{			pOldPalette = pDC->SelectPalette(&m_plPalette, FALSE);			pDC->RealizePalette();		}		// -- Draw sample cell of default color		CRect rcSample;		rcSample.left = rcLineRect.left;		rcSample.right = rcSample.left + m_nBoxSize;		rcSample.top = rcLineRect.top;		rcSample.bottom = rcLineRect.top + m_nBoxSize;		rcSample.DeflateRect(m_nMargin + 1, m_nMargin + 1);		// -- Create objects		CBrush brush(PALETTERGB(GetRValue(m_crDefault), GetGValue(m_crDefault), GetBValue(m_crDefault)));		CPen penSample;		penSample.CreatePen(PS_SOLID, 1, ::GetSysColor(COLOR_3DSHADOW));		CBrush* pOldBrush = (CBrush*) pDC->SelectObject(&brush);		CPen* pOldSamplePen = (CPen*) pDC->SelectObject(&penSample);		// Draw the cell color		pDC->Rectangle(rcSample);		// Restore		pDC->SelectObject(pOldBrush);		pDC->SelectObject(pOldSamplePen);		if (brush.GetSafeHandle() != NULL)		{			brush.DeleteObject();		}		if (penSample.GetSafeHandle() != NULL)		{			penSample.DeleteObject();		}		if (pOldPalette && pDC->GetDeviceCaps(RASTERCAPS) & RC_PALETTE)		{			pDC->SelectPalette(pOldPalette, FALSE);		}        return;    }        	// Declare variables    CRect rcCell;    if (!GetCellRect(nIndex, rcCell)) 	{		return;	}
开发者ID:rusingineer,项目名称:EmulePlus,代码行数:67,


示例25: InitPaletteColors

HRESULT InitPaletteColors(COLOR_REF *pColor, PULONG pColorCount, IMG_BITMAP_HEADER *pBmp, PVOID pvRaw){    LONG Stride, ColorCount;    PULONG pRaw, pRawBase;    COLOR_REF *p;    ColorCount = 0;    Stride = (pBmp->Info.dwWidth * pBmp->Info.wBit / 8 + 3) & ~3;    pRawBase = (PULONG)pvRaw;    for (ULONG Height = pBmp->Info.dwHeight; Height; --Height)    {        pRaw = pRawBase;        for (ULONG Width = pBmp->Info.dwWidth; Width; --Width)        {            LONG  Index;            ULONG Color;            Color = *pRaw++;            Index = 0;            for (p = pColor; Index != ColorCount; ++Index)                if (Color == p->Color)                    break;                else                    ++p;            if (Index == ColorCount)            {                p->Color = Color;                p->RefCount = 1;                ++ColorCount;            }            else            {                ++p->RefCount;            }        }        *(PULONG)&pRawBase += Stride;    }    qsort(pColor, ColorCount, sizeof(*pColor), (int (__cdecl *)(const void*,const void*))compare);    p = pColor;    for (ULONG Index = 0, Count = MY_MIN(ColorCount, 256); Count; --Count)        p++->Index = Index++;    if (ColorCount > 256)    {        p = pColor + 256;        for (ULONG Count = ColorCount - 256; Count; ++p, --Count)        {            LONG  Diff, NearestIndex;            ULONG Color = p->Color;            COLOR_REF *p2 = pColor;            NearestIndex = 0;            Diff = 0x7FFFFFFF;            for (ULONG Count = 256; Count; ++p2, --Count)            {                LONG diff2, r, g, b, a;                diff2 = Color - p2->Color;                r = GetRValue(diff2);                g = GetGValue(diff2);                b = GetBValue(diff2);                a = diff2 >> 24;                if (r < 0) r = -r;                if (g < 0) g = -g;                if (b < 0) b = -b;                if (a < 0) a = -a;                diff2 = r + g + b + a;                if (diff2 < Diff)                {                    Diff = diff2;                    NearestIndex = p2->Index;                }            }            p->Index = NearestIndex;        }    }
开发者ID:nootailo,项目名称:Asuna,代码行数:84,


示例26: DrawSphere

VOID DrawSphere( HDC hDC, INT Xc, INT Yc ){  INT i, j, x, y;  DOUBLE theta, phi, phase = clock() / 100;  static VEC G[N][M];    for (i = 0; i < N; i++)  {     theta = i * PI / (N - 1);    for (j = 0; j < M; j++)    {      phi = j * 2 * PI / (M - 1) + phase;            G[i][j].X = R * sin(theta) * cos(phi);      G[i][j].Y = R * sin(theta) * sin(phi);      G[i][j].Z = R * cos(theta);      G[i][j] = Rotate(G[i][j], VecSet(1, 1, 1), 45);    }  }  for (i = 0; i < N; i++)    for (j = 0; j < M; j++)    {      Ps[i][j].x = Xc + G[i][j].X;      Ps[i][j].y = Yc - G[i][j].Z;    }  SelectObject(hDC, GetStockObject(DC_PEN));  SelectObject(hDC, GetStockObject(DC_BRUSH));  SetDCPenColor(hDC, RGB(255, 0, 255));  SetDCBrushColor(hDC, RGB(255, 255, 255));  for (i = 0; i < N - 1; i++)    for (j = 0; j < M - 1; j++)    {      INT img_x, img_y;      COLORREF c, r, g, b;      img_x = j * (Globe.W - 1) / (M - 1);      img_y = i * (Globe.H - 1) / (N - 1);      c = Globe.Bits[img_x + img_y * Globe.W];      r = GetRValue(c);      g = GetGValue(c);      b = GetBValue(c);      c = RGB(b, g, r);          SetDCPenColor(hDC, c);      SetDCBrushColor(hDC, c);            p0 = Ps[i][j];      p1 = Ps[i][j + 1];      p2 = Ps[i + 1][j + 1];      p3 = Ps[i + 1][j];      DrawQuad(hDC, p0, p1, p2, p3, c);    }  /*  for (i = 0; i < N; i++)  {     x = Xc + G[i][0].X;    y = Yc - G[i][0].Z;    MoveToEx(hDC, x , y, NULL);    for (j = 1; j < M; j++)    {      x = Xc + G[i][j].X;      y = Yc - G[i][j].Z;            LineTo(hDC, x, y);    }  }    for (j = 0; j < M; j++)  {     x = Xc + G[0][j].X;    y = Yc - G[0][j].Z;    MoveToEx(hDC, x , y, NULL);    for (i = 1; i < N; i++)    {      x = Xc + G[i][j].X;      y = Yc - G[i][j].Z;      LineTo(hDC, x, y);    }  } */  }
开发者ID:1fanfan1,项目名称:SUM2016,代码行数:86,


示例27: if

void ColorSkinWindow::Notify(TNotifyUI& msg){	if (_tcsicmp(msg.sType, _T("click")) == 0)	{		CTabLayoutUI* pTabControl = static_cast<CTabLayoutUI*>(paint_manager_.FindControl(kTabControlName));		if (pTabControl != NULL)		{			if (pTabControl->GetCurSel() == 0)			{				if (_tcsstr(msg.pSender->GetName(), _T("colour_")) != 0)				{					CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(paint_manager_.FindControl(kAdjustColorSliderRControlName));					CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(paint_manager_.FindControl(kAdjustColorSliderGControlName));					CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(paint_manager_.FindControl(kAdjustColorSliderBControlName));					if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL))					{						DWORD dwColor = msg.pSender->GetBkColor();						AdjustColorSliderR->SetValue(static_cast<BYTE>(GetRValue(dwColor)));						AdjustColorSliderG->SetValue(static_cast<BYTE>(GetGValue(dwColor)));						AdjustColorSliderB->SetValue(static_cast<BYTE>(GetBValue(dwColor)));						main_frame_->SetBkColor(dwColor);					}				}			}			else if (pTabControl->GetCurSel() == 1)			{}		}	}	else if (_tcsicmp(msg.sType, _T("valuechanged")) == 0)	{		CTabLayoutUI* pTabControl = static_cast<CTabLayoutUI*>(paint_manager_.FindControl(kTabControlName));		if (pTabControl != NULL)		{			if (pTabControl->GetCurSel() == 0)			{				CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(paint_manager_.FindControl(kAdjustColorSliderRControlName));				CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(paint_manager_.FindControl(kAdjustColorSliderGControlName));				CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(paint_manager_.FindControl(kAdjustColorSliderBControlName));				if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL))				{					if ((_tcsicmp(msg.pSender->GetName(), kAdjustColorSliderRControlName) == 0) ||						(_tcsicmp(msg.pSender->GetName(), kAdjustColorSliderGControlName) == 0) ||						(_tcsicmp(msg.pSender->GetName(), kAdjustColorSliderBControlName) == 0))					{						BYTE red = AdjustColorSliderR->GetValue();						BYTE green = AdjustColorSliderG->GetValue();						BYTE blue = AdjustColorSliderB->GetValue();						COLORREF crColor = RGB(red, green, blue);						TCHAR szBuf[MAX_PATH] = {0};#if defined(UNDER_CE)						_stprintf(szBuf, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor));#else						_stprintf_s(szBuf, MAX_PATH - 1, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor));#endif						LPTSTR pstr = NULL;						DWORD dwColor = _tcstoul(szBuf, &pstr, 16);						main_frame_->SetBkColor(dwColor);					}				}			}			else if (pTabControl->GetCurSel() == 1)			{}		}	}	else if (_tcsicmp(msg.sType, _T("selectchanged")) == 0)	{		CTabLayoutUI* pTabControl = static_cast<CTabLayoutUI*>(paint_manager_.FindControl(kTabControlName));		if (_tcsicmp(msg.pSender->GetName(), kAdjustColorControlName) == 0)		{			if (pTabControl && pTabControl->GetCurSel() != 0)			{				pTabControl->SelectItem(0);			}		}		else if (_tcsicmp(msg.pSender->GetName(), kAdjustBkControlName) == 0)		{			if (pTabControl && pTabControl->GetCurSel() != 1)			{				pTabControl->SelectItem(1);			}		}	}}
开发者ID:hxf829,项目名称:duilibtest,代码行数:84,



注:本文中的GetBValue函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetBackgroundColour函数代码示例
C++ GetBGObject函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。