本文整理汇总了C++中WorkSpace::SetColor方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkSpace::SetColor方法的具体用法?C++ WorkSpace::SetColor怎么用?C++ WorkSpace::SetColor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkSpace
的用法示例。
在下文中一共展示了WorkSpace::SetColor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PS
static MRESULT APIENTRY Paint ( HWND Window, MESG, MPARAM1, MPARAM2 ) {
/**************************************************************************
* Find the instance data. *
**************************************************************************/
PDATA Data = PDATA ( Sys_GetWindowData ( Window ) ) ;
/**************************************************************************
* Compute the current zoom factor. *
**************************************************************************/
double Zoom = (double) FIXEDINT ( Data->fxZoom ) ;
Zoom += (double) FIXEDFRAC ( Data->fxZoom ) / 0x10000L ;
/**************************************************************************
* Get presentation space and prepare it for use. *
**************************************************************************/
RECTL ClippingRectangle ;
WorkSpace PS ( "HRuler::Paint", 0, Window, Data->pDevice, int(Data->Metric), ClippingRectangle ) ;
PS.SetTransform ( Data->fxZoom, int(Data->TopLeft), 0 ) ;
PS.Transform ( CVTC_DEVICE, CVTC_DEFAULTPAGE, ClippingRectangle ) ;
/**************************************************************************
* Clear the window and draw a border. *
**************************************************************************/
RECTL WindowRectangle ;
WinQueryWindowRect ( Window, &WindowRectangle ) ;
WindowRectangle.xRight -- ;
WindowRectangle.yTop -- ;
PS.Transform ( CVTC_DEVICE, CVTC_DEFAULTPAGE, WindowRectangle ) ;
PS.SetColor ( Data->IniData->fRulerColors[0] ? Data->IniData->RulerColors[0] : RGB_WHITE ) ;
PS.FillBox ( WindowRectangle ) ;
PS.SetColor ( RGB_BLACK ) ;
PS.DrawBox ( WindowRectangle ) ;
/**************************************************************************
* Draw the left margin. *
**************************************************************************/
if ( ClippingRectangle.xLeft <= Data->LeftMargin ) {
PS.SetColor ( Data->IniData->fRulerColors[1] ? Data->IniData->RulerColors[1] : RGB_BLUE ) ;
PS.SetFillType ( PATSYM_HALFTONE ) ;
RECTL Box = { ClippingRectangle.xLeft, ClippingRectangle.yBottom,
Data->LeftMargin, ClippingRectangle.yTop } ;
PS.FillBox ( Box ) ;
PS.SetFillType ( PATSYM_DEFAULT ) ;
PS.SetColor ( RGB_BLACK ) ;
PS.SetLineType ( LINETYPE_ALTERNATE ) ;
POINTL Point = { Data->LeftMargin, ClippingRectangle.yTop } ;
PS.Move ( Point ) ;
Point.y = ClippingRectangle.yTop ;
PS.DrawLine ( Point ) ;
PS.SetLineType ( LINETYPE_SOLID ) ;
} /* endif */
POINTL Point = { Data->LeftMargin, WindowRectangle.yTop } ;
PS.Transform ( CVTC_DEFAULTPAGE, CVTC_DEVICE, 1, &Point ) ;
Point.y -= 8 ;
PS.DrawPointer ( Data->MarginPtr, Point, DP_NORMAL ) ;
/**************************************************************************
* Draw the right margin. *
**************************************************************************/
if ( ClippingRectangle.xRight >= Data->RightMargin ) {
PS.SetColor ( Data->IniData->fRulerColors[1] ? Data->IniData->RulerColors[1] : RGB_BLUE ) ;
PS.SetFillType ( PATSYM_HALFTONE ) ;
RECTL Box = { Data->RightMargin, ClippingRectangle.yBottom,
ClippingRectangle.xRight, ClippingRectangle.yTop } ;
PS.FillBox ( Box ) ;
PS.SetFillType ( PATSYM_DEFAULT ) ;
PS.SetColor ( RGB_BLACK ) ;
PS.SetLineType ( LINETYPE_ALTERNATE ) ;
Point.x = Data->RightMargin ;
Point.y = ClippingRectangle.yBottom ;
PS.Move ( Point ) ;
Point.y = ClippingRectangle.yTop ;
PS.DrawLine ( Point ) ;
PS.SetLineType ( LINETYPE_SOLID ) ;
} /* endif */
Point.x = Data->RightMargin ;
Point.y = WindowRectangle.yTop ;
PS.Transform ( CVTC_DEFAULTPAGE, CVTC_DEVICE, 1, &Point ) ;
Point.x -= 8 ;
Point.y -= 8 ;
PS.DrawPointer ( Data->MarginPtr, Point, DP_NORMAL ) ;
//.........这里部分代码省略.........