当前位置: 首页>>代码示例>>C++>>正文


C++ CDXUTDialog::GetControlAtPoint方法代码示例

本文整理汇总了C++中CDXUTDialog::GetControlAtPoint方法的典型用法代码示例。如果您正苦于以下问题:C++ CDXUTDialog::GetControlAtPoint方法的具体用法?C++ CDXUTDialog::GetControlAtPoint怎么用?C++ CDXUTDialog::GetControlAtPoint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CDXUTDialog的用法示例。


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

示例1: OnMouse

void CALLBACK OnMouse( bool bLeftButtonDown, bool bRightButtonDown, bool bMiddleButtonDown, bool bSideButton1Down, 
					   bool bSideButton2Down, int nMouseWheelDelta, int xPos, int yPos, void* pUserContext )
{
	if (!gDragging_out && gDragging && bLeftButtonDown)
	{
		int delta_xPos = xPos-gLast_xPos;
		int delta_yPos = yPos-gLast_yPos;

		gViewTranslationX += delta_xPos;
		gViewTranslationY += delta_yPos;
	}
	
	if (nMouseWheelDelta)
	{
		float halfWidth = gSurfaceWidth / 2.0f;
		float halfHeight = gSurfaceHeight / 2.0f;

		int oldzoom = gViewZoomStep;
		gViewZoomStep += nMouseWheelDelta;

		float old_scale = powf(2.0, oldzoom/300.0f);
		float new_scale = powf(2.0, gViewZoomStep/300.0f);

		float vx = gViewTranslationX-(xPos-halfWidth);
		float vy = gViewTranslationY-(yPos-halfHeight);

		vx *= new_scale/old_scale;
		vy *= new_scale/old_scale;		

		gViewTranslationX = int(vx+xPos-halfWidth);
		gViewTranslationY = int(vy+yPos-halfHeight);
	}

	POINT base, pt = {xPos, yPos};
	gSampleUI.GetLocation(base);
	pt.x -= base.x;
	pt.y -= base.y;
	CDXUTControl* ctrl = gSampleUI.GetControlAtPoint(pt);

	if (!gDragging)
	{
		gDragging_out = !!ctrl && bLeftButtonDown;
	}

	gDragging = bLeftButtonDown;
	gLast_xPos = xPos;
	gLast_yPos = yPos;
}
开发者ID:Nuos,项目名称:ISPCTextureCompressor,代码行数:48,代码来源:main.cpp


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