本文整理汇总了C++中WorkSpace::SetTransform方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkSpace::SetTransform方法的具体用法?C++ WorkSpace::SetTransform怎么用?C++ WorkSpace::SetTransform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkSpace
的用法示例。
在下文中一共展示了WorkSpace::SetTransform方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PS
static MRESULT APIENTRY Char ( HWND Window, MESG, MPARAM1 mp1, MPARAM2 mp2 ) {
/***************************************************************************
* Find the instance data. *
***************************************************************************/
PDATA Data = PDATA ( Sys_GetWindowData ( Window ) ) ;
/***************************************************************************
* Get the message data. *
***************************************************************************/
USHORT Flags = (USHORT) SHORT1FROMMP ( mp1 ) ;
//UCHAR Repeat = (UCHAR) CHAR3FROMMP ( mp1 ) ;
//UCHAR ScanCode = (UCHAR) CHAR4FROMMP ( mp1 ) ;
//USHORT Char = (USHORT) SHORT1FROMMP ( mp2 ) ;
USHORT VKey = (USHORT) SHORT2FROMMP ( mp2 ) ;
/***************************************************************************
* Ignore keys being released, invalid characters, dead keys and *
* invalid composite characters. *
***************************************************************************/
if ( ( Flags & KC_KEYUP )
OR ( Flags & KC_INVALIDCHAR )
OR ( Flags & KC_DEADKEY )
OR ( Flags & KC_INVALIDCOMP ) )
{
Sys_BeepNote ( ) ;
return ( MRFROMSHORT ( FALSE ) ) ;
}
/***************************************************************************
* Intercept the ESC virtual key to abort margin set mode. *
***************************************************************************/
if ( Flags & KC_VIRTUALKEY ) {
switch ( VKey ) {
case VK_ESC: {
if ( Data->Capture ) {
Data->Capture = FALSE ;
Sys_ReleaseCapture ( ) ;
HPOINTER Ptr = WinQuerySysPointer ( HWND_DESKTOP, SPTR_ARROW, FALSE ) ;
WinSetPointer ( HWND_DESKTOP, Ptr ) ;
Sys_SetFocus ( Data->HadFocus ) ;
WorkSpace PS ( "HRuler::Char", 0, Window, Data->pDevice, int(Data->Metric) ) ;
PS.SetTransform ( Data->fxZoom, int(Data->TopLeft), 0 ) ;
RECTL Rectangle ;
WinQueryWindowRect ( Window, &Rectangle ) ;
PS.Transform ( CVTC_DEVICE, CVTC_DEFAULTPAGE, Rectangle ) ;
POINTL ButtonSize = { 8, 8 } ;
PS.Transform ( CVTC_DEVICE, CVTC_PAGE, 1, &ButtonSize ) ;
PS.SetMix ( FM_INVERT ) ;
PS.SetLineType ( LINETYPE_ALTERNATE ) ;
POINTL Point = { Data->Tick, Rectangle.yBottom } ;
PS.Move ( Point ) ;
Point.y = Rectangle.yTop ;
PS.DrawLine ( Point ) ;
Data->Mode = NOTMOVING ;
}
break ;
}
}
}
/***************************************************************************
* Return. *
***************************************************************************/
return ( MRFROMSHORT ( TRUE ) ) ;
}