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

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

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

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

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

示例1: GetMousePart

void ScrollBar::LeftDown(Point p, dword) {	push = GetMousePart();	LLOG("ScrollBar::LeftDown(" << p << ")");	LLOG("MousePos = " << GetMousePos() << ", ScreenView = " << GetScreenView()	<< ", rel. pos = " << (GetMousePos() - GetScreenView().TopLeft()));	LLOG("GetWorkArea = " << GetWorkArea());	LLOG("VisibleScreenView = " << GetVisibleScreenView());	LLOG("PartRect(0) = " << GetPartRect(0));	LLOG("PartRect(1) = " << GetPartRect(1));	LLOG("PartRect(2) = " << GetPartRect(2));	LLOG("ScrollBar::LeftDown: mousepart = " << (int)push << ", rect = " << GetPartRect(push)		<< ", overthumb = " << style->overthumb << ", slider = " << Slider());	LLOG("thumbpos = " << thumbpos << ", thumbsize = " << thumbsize);	if(push == 2)		delta = GetHV(p.x, p.y) - thumbpos;	else {		if(jump) {			delta = thumbsize / 2;			Drag(p);		}		else			if(push == 0)				PrevPage();			else				NextPage();	}	SetCapture();	Refresh();	WhenLeftClick();}
开发者ID:pedia,项目名称:raidget,代码行数:30,


示例2: ShowToolTip

void ShowToolTip(){	LLOG("ShowToolTip");	CloseToolTip();	if(tipctrl) {		String text = tipctrl->GetTip();		LLOG("-> showing tip: " << text << " tipctrl: " << UPP::Name(tipctrl));		Ctrl *top = tipctrl->GetTopCtrl();		if(!text.IsEmpty() && top && (top->IsForeground() || top->IsPopUp())) {			LLOG("-> foreground");			ToolTip& q = AppToolTip();			q.Set(text);			Size sz = q.GetMinSize();			Rect r = top->GetWorkArea();			Point p = GetMousePos() + Size(0, 22);			if(p.y + sz.cy > r.bottom)				p = GetMousePos() - Size(0, 22);			q.PopUp(top, p, !showmode);			showmode = true;			KillTimeCallback((void *)EndShowMode);			return;		}		LLOG("-> background / empty text, top = " << UPP::Name(top));	}	SetTimeCallback(200, callback(EndShowMode), (void *)EndShowMode);}
开发者ID:pedia,项目名称:raidget,代码行数:26,


示例3: defined

//-----------------------------------------------------------------------------// Purpose: AccumulateMouse//-----------------------------------------------------------------------------void CInput::AccumulateMouse( void ){	if( !cl_mouseenable.GetBool() )	{		return;	}	if( !cl_mouselook.GetBool() )	{		return;	}	if ( m_rawinput.GetBool() )	{		return;	}	int w, h;	engine->GetScreenSize( w, h );	// x,y = screen center	int x = w >> 1;	x;	int y = h >> 1;	y;	//only accumulate mouse if we are not moving the camera with the mouse	if ( !m_fCameraInterceptingMouse && vgui::surface()->IsCursorLocked() )	{		//Assert( !vgui::surface()->IsCursorVisible() );		// By design, we follow the old mouse path even when using SDL for Windows, to retain old mouse behavior.#if defined( PLATFORM_WINDOWS )		int current_posx, current_posy;		GetMousePos(current_posx, current_posy);		m_flAccumulatedMouseXMovement += current_posx - x;		m_flAccumulatedMouseYMovement += current_posy - y;		#elif defined( USE_SDL )		int dx, dy;		engine->GetMouseDelta( dx, dy );		m_flAccumulatedMouseXMovement += dx;		m_flAccumulatedMouseYMovement += dy;#else#error#endif		// force the mouse to the center, so there's room to move		ResetMouse();	}	else if ( m_fMouseActive )	{		// Clamp		int ox, oy;		GetMousePos( ox, oy );		ox = clamp( ox, 0, w - 1 );		oy = clamp( oy, 0, h - 1 );		SetMousePos( ox, oy );	}}
开发者ID:WorldGamers,项目名称:Mobile-Forces-Source,代码行数:63,


示例4: switch

Image RichEdit::CursorImage(Point p, dword flags){	if(tablesel)		return Image::Arrow();	switch(GetHotSpot(p)) {	case 0:		return Image::SizeBottomRight();	case 1:		return Image::SizeVert();	case 2:		return Image::SizeHorz();	default:		if(text.GetRichPos(GetMousePos(p)).object) {			return Image::Arrow();		}		else		if(HasCapture() && tabmove.table && tabmove.column >= -2)			return Image::SizeHorz();		else {			RichHotPos hp = GetHotPos(p);			if(hp.table > 0)				return Image::SizeHorz();			else {				int c = GetMousePos(p);				return InSelection(c) && !HasCapture() ? Image::Arrow() : Image::IBeam();			}		}	}	return Image::Arrow();}
开发者ID:dreamsxin,项目名称:ultimatepp,代码行数:31,


示例5: GetMousePos

//-----------------------------------------------------------------------------// Purpose: AccumulateMouse//-----------------------------------------------------------------------------void CInput::AccumulateMouse( int nSlot ){	if( !cl_mouseenable.GetBool() )	{		return;	}	if( !UsingMouselook( nSlot ) )	{		return;	}	int w, h;	engine->GetScreenSize( w, h );	// x,y = screen center	int x = w >> 1;	int y = h >> 1;	// Clamp	if ( m_fMouseActive )	{		int ox, oy;		GetMousePos( ox, oy );		ox = clamp( ox, 0, w - 1 );		oy = clamp( oy, 0, h - 1 );		SetMousePos( ox, oy );	}	//only accumulate mouse if we are not moving the camera with the mouse	PerUserInput_t &user = GetPerUser( nSlot );	if ( !user.m_fCameraInterceptingMouse && vgui::surface()->IsCursorLocked() )	{		//Assert( !vgui::surface()->IsCursorVisible() );#ifdef WIN32		int current_posx, current_posy;		GetMousePos(current_posx, current_posy);		user.m_flAccumulatedMouseXMovement += current_posx - x;		user.m_flAccumulatedMouseYMovement += current_posy - y;		// force the mouse to the center, so there's room to move		ResetMouse();#elif defined(OSX)		CGMouseDelta deltaX, deltaY;		CGGetLastMouseDelta( &deltaX, &deltaY );		user.m_flAccumulatedMouseXMovement += deltaX;		user.m_flAccumulatedMouseYMovement += deltaY;#else#error#endif	}}
开发者ID:Au-heppa,项目名称:swarm-sdk,代码行数:59,


示例6: if

void CView::ClickingLeftButtonEvent(){	if (m_pMenu && !m_pMenu->GetMenuWorkSpaceRect().contains(GetMousePos(*m_pWindow)))	{		m_pMenu.release();		m_pMenu = nullptr;	}	else if (m_pFrame->GetStartMousePos().x == OUTSTIDE_WORKSPACE_POS)	{		m_pFrame->SetStartMousePos(GetMousePos(*m_pWindow));	}	m_mouseClicked = true;}
开发者ID:oMystique,项目名称:OOP,代码行数:13,


示例7: UpdateUniformsV

void clGUIWindow::PreRender(){	clGUIDialogWindow::PreRender();	static const float ResizeCornerW = Env->GUI->GetDefaultResizeCornerWidth();	static const float ResizeCornerH = Env->GUI->GetDefaultResizeCornerHeight();	UpdateUniformsV( FResizeCornerShader, LVector4( GetX2(), GetY2(), GetX2() - ResizeCornerW, GetY2() + ResizeCornerH ) );	UpdateUniformsV( FResizeCornerHighlightShader, LVector4( GetX2(), GetY2(), GetX2() - ResizeCornerW, GetY2() + ResizeCornerH ) );	FResizeCornerHighlighted ?	Env->Renderer->AddBuffer( FResizeCornerGeometry, FResizeCornerHighlightShader, 1, false ) :	Env->Renderer->AddBuffer( FResizeCornerGeometry, FResizeCornerShader, 1, false );	static const float CloseButtonW    = Env->GUI->GetDefaultCloseButtonWidth();	static const float CloseButtonH_D1 = Env->GUI->GetDefaultCloseButtonHeight_Delta1();	static const float CloseButtonH_D2 = Env->GUI->GetDefaultCloseButtonHeight_Delta2();	if ( FCloseButtonHighlighted )	{		UpdateUniformsV( FCloseButtonHighlightShader, LVector4( GetX2() - CloseButtonW, GetY1() + CloseButtonH_D1, GetX2(), GetY1() + CloseButtonH_D2 ) );		Env->Renderer->AddBuffer( FCloseButtonGeometry, FCloseButtonHighlightShader, 1, false );	}	else	{		UpdateUniformsV( FCloseButtonShader, LVector4( GetX2() - CloseButtonW, GetY1() + CloseButtonH_D1, GetX2(), GetY1() + CloseButtonH_D2 ) );		UpdateUniformsV( FCloseButtonCaptionHighlightedShader, LVector4( GetX2() - CloseButtonW, GetY1() + CloseButtonH_D1, GetX2(), GetY1() + CloseButtonH_D2 ) );		ContainsCaption( Local2Screen( GetMousePos() ) ) ?		Env->Renderer->AddBuffer( FCloseButtonGeometry, FCloseButtonCaptionHighlightedShader, 1, false ) :		Env->Renderer->AddBuffer( FCloseButtonGeometry, FCloseButtonShader, 1, false );	}}
开发者ID:berezhkovskaya,项目名称:Carousel3D,代码行数:33,


示例8: GetMousePos

void DockWindow::ContainerDragStart(DockCont &dc){	if (!dc.IsFloating()) {		// Reposition if not under the mouse		Rect r = dc.GetScreenRect();		Point pt = GetMousePos();		Point tl = r.TopLeft();		bool move = false;		if (r.left > pt.x || r.right < pt.x) {			tl.x += pt.x - r.left - r.Width()/2;			move = true;		}		if (r.top < pt.y) {			tl.y += pt.y - r.top + DOCKCONT_WND_OFFSET;			move = true;		}		// Note: Due to different bugfix, at this point a dragged tab will have docked state but		//	no parent and should not be animatehld		dc.SyncUserSize(true, true);		if (IsAnimatedHighlight() && dc.IsDocked() && dc.GetParent()) {			Undock0(dc, true);			dc.StateNotDocked();		}		FloatContainer(dc, move ? tl : Null);		dc.StartMouseDrag(pt);	}}
开发者ID:dreamsxin,项目名称:ultimatepp,代码行数:27,


示例9: GetMousePos

ALERROR AGScreen::AddArea (AGArea *pArea, const RECT &rcRect, DWORD dwTag)//	AddArea////	Add an area to the screen	{	ALERROR error;	//	Initialize the area	if (error = pArea->Init(this, this, rcRect, dwTag))		return error;	//	Add the area	if (error = m_Areas.AppendObject(pArea, NULL))		return error;	//	Get the mouse position and fire mouse move, if appropriate	POINT pt;	GetMousePos(&pt);	if (HitTest(pt) == pArea)		SetMouseOver(pArea);	return NOERROR;	}
开发者ID:Sdw195,项目名称:Transcendence,代码行数:29,


示例10: PSERROR_GUI_OperationNeedsGUIObject

bool IGUIObject::MouseOver(){	if (!GetGUI())		throw PSERROR_GUI_OperationNeedsGUIObject();	return m_CachedActualSize.PointInside(GetMousePos());}
开发者ID:Rektosauros,项目名称:0ad,代码行数:7,


示例11: Sync

void DisplayPopup::Sync(){	if(display && ctrl && !ctrl->IsDragAndDropTarget() && !IsDragAndDropTarget()) {		Ctrl *top = ctrl->GetTopCtrl();		if(top && top->HasFocusDeep()) {			Size sz = display->GetStdSize(value);			if(sz.cx + 2 * margin > item.GetWidth() || sz.cy > item.GetHeight()) {				slim = item + ctrl->GetScreenView().TopLeft();				if(slim.Contains(GetMousePos())) {//					Rect wa = GetWorkArea();					Rect r = item;					r.right = max(r.right, r.left + sz.cx + 2 * margin);					r.bottom = max(r.bottom, r.top + sz.cy);					r.Inflate(1, 1);					r.Offset(ctrl->GetScreenView().TopLeft());					SetRect(r);					if(!IsOpen())						Ctrl::PopUp(ctrl, true, false, false);					Refresh();					return;				}			}		}	}	if(IsOpen())		Close();}
开发者ID:pedia,项目名称:raidget,代码行数:27,


示例12: IncUsageRef

// Do you have any idea how much I wanted to call // this ElvisHasLeftTheBuilding()?void Window::MouseHasLeftWindow(void){    IncUsageRef();    string StatusControlName = string("WindowStatus");    m_pTheme->HandleControlMessage(StatusControlName, CM_WindowLeave);    if (m_pMouseInControl)    {       m_pMouseInControl->AcceptTransition(CT_MouseLeave);       m_pMouseInControl = NULL;    }    else if (!m_pMouseInControl)    {        Pos oPos;       GetMousePos(oPos);       m_pMouseInControl = ControlFromPos(oPos);       if (m_pMouseInControl) {          m_pMouseInControl->AcceptTransition(CT_MouseEnter);          m_pTheme->HandleControlMessage(StatusControlName, CM_WindowEnter);       }    }          DecUsageRef();}
开发者ID:pontocom,项目名称:opensdrm,代码行数:27,


示例13: Close

void QTFPopUp::PopUp(Ctrl *parent) {	Close();	Rect r = Rect(0, 0, width, maxheight);	GetFrame().FrameLayout(r);	int cy = min(maxheight, GetHeight(r.Width()) + maxheight - r.Height());	Rect area = GetWorkArea();	Point p = GetMousePos();	r.top = max(area.top, p.y + 16);	r.bottom = r.top + cy;	if(r.bottom > area.bottom) {		r.bottom = area.bottom;		r.top = r.bottom - cy;	}	r.left = max(area.left, p.x - width / 2);	r.right = r.left + width;	if(r.right > area.right) {		r.right = area.right;		r.left = r.right - width;	}	open = false;	SetRect(r);	Ctrl::PopUp(parent);	SetFocus();	open = true;}
开发者ID:pedia,项目名称:raidget,代码行数:25,


示例14: GetMousePos

void LineEdit::LeftRepeat(Point p, dword flags) {	if(HasCapture()) {		int c = GetMousePos(p);		if(mpos != c)			PlaceCaret(c, true);	}}
开发者ID:pedia,项目名称:raidget,代码行数:7,


示例15: GetWindowCenter

//-----------------------------------------------------------------------------// Purpose: AccumulateMouse//-----------------------------------------------------------------------------void CInput::AccumulateMouse( void ){	if( !cl_mouseenable.GetBool() )	{		return;	}	if( !cl_mouselook.GetBool() )	{		return;	}	int x, y;	GetWindowCenter( x,  y );	//only accumulate mouse if we are not moving the camera with the mouse	if ( !m_fCameraInterceptingMouse && vgui::surface()->IsCursorLocked() )	{		//Assert( !vgui::surface()->IsCursorVisible() );		int current_posx, current_posy;		GetMousePos(current_posx, current_posy);		m_flAccumulatedMouseXMovement += current_posx - x;		m_flAccumulatedMouseYMovement += current_posy - y;		// force the mouse to the center, so there's room to move		ResetMouse();	}}
开发者ID:Bubbasacs,项目名称:FinalProj,代码行数:34,


示例16: SetCapture

void SplitterFrame::LeftDown(Point p, dword){	SetCapture();	Refresh();	ref = GetMousePos();	size0 = BoundSize();}
开发者ID:pedia,项目名称:raidget,代码行数:7,


示例17: GuiPlatformGripResize

void GuiPlatformGripResize(TopWindow *q){	if(q->top) {		Point p = GetMousePos();		gtk_window_begin_resize_drag(q->gtk(), GDK_WINDOW_EDGE_SOUTH_EAST,		                             1, p.x, p.y, Ctrl::CurrentTime);	}}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:8,


示例18: GetMousePos

int GLWindow::GetMouseX(){	if (MousePos.x==0)		GetMousePos();	int back=MousePos.x;	MousePos.x=0;	return back;	}
开发者ID:ldornbusch,项目名称:hexxagon_sfml,代码行数:8,


示例19: GetMousePos

void LineEdit::MouseMove(Point p, dword flags) {	if((flags & K_MOUSELEFT) && HasFocus() && HasCapture()) {		int c = GetMousePos(p);		dorectsel = flags & K_ALT;		PlaceCaret(c, mpos != c || HasCapture());		dorectsel = false;	}}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:8,


示例20: AutoScroll

// Get current mouse position.  If the mouse is above/below the current// window then scroll the window down/up proportionally to the time the LMB// is held down.  This function is called from autoscroll_thread() when the// mouse is captured and a wipe selection is active.static voidAutoScroll(WINDOW *wp){#define DVSR    10#define INCR    6#define TRIGGER (DVSR + INCR)    POINT current;    int Scroll = 0;    static int ScrollCount = 0, Throttle = INCR;    GetMousePos(&current);    if (wp == 0)	return;    // Determine if we are above or below the window,    // and if so, how far...    if (current.y < wp->w_toprow) {	// Above the window	// Scroll = wp->w_toprow - current.y;	Scroll = 1;    }    if (current.y > mode_row(wp)) {	// Below	// Scroll = current.y - mode_row(wp);	// Scroll *= -1;	Scroll = -1;    }    if (Scroll) {	int row;	if (Scroll > 0) {	    row = wp->w_toprow;	} else {	    row = mode_row(wp) - 1;	}	// Scroll the pre-determined amount, ensuring at least one line of	// window movement per timer tick.  Note also that ScrollScale is	// signed, so it will be negative if we want to scroll down.	mvupwind(TRUE, Scroll * max(ScrollCount, TRIGGER) / (Throttle + DVSR));	// Set the cursor. Column doesn't really matter, it will	// get updated as soon as we get back into the window...	setcursor(row, 0) && sel_extend(TRUE, TRUE);	(void) update(TRUE);	ScrollCount++;	if (ScrollCount > TRIGGER && Throttle > 0 && ScrollCount % INCR == 0)	    Throttle--;    } else {	// Reset counters	Throttle = INCR;	ScrollCount = 0;    }#undef DVSR#undef INCR#undef TRIGGER}
开发者ID:OS2World,项目名称:APP-EDITOR-Vile,代码行数:62,


示例21: GetMousePos

//-----------------------------------------------------------------------------// Purpose: AccumulateMouse//-----------------------------------------------------------------------------void CInput::AccumulateMouse( void ){	if( !cl_mouseenable.GetBool() )	{		return;	}	if( !cl_mouselook.GetBool() )	{		return;	}	int w, h;	engine->GetScreenSize( w, h );	// x,y = screen center	int x = w >> 1;	int y = h >> 1;	// Clamp	if ( m_fMouseActive )	{		int ox, oy;		GetMousePos( ox, oy );		ox = clamp( ox, 0, w - 1 );		oy = clamp( oy, 0, h - 1 );		SetMousePos( ox, oy );	}	//only accumulate mouse if we are not moving the camera with the mouse	if ( !m_fCameraInterceptingMouse && vgui::surface()->IsCursorLocked() )	{		//Assert( !vgui::surface()->IsCursorVisible() );		int current_posx, current_posy;		GetMousePos(current_posx, current_posy);		m_flAccumulatedMouseXMovement += current_posx - x;		m_flAccumulatedMouseYMovement += current_posy - y;		// force the mouse to the center, so there's room to move		ResetMouse();	}}
开发者ID:SizzlingStats,项目名称:hl2sdk-ob-valve,代码行数:48,


示例22: SetFocus

void DocEdit::RightDown(Point p, dword w){	SetFocus();	int c = GetMousePos(p);	int l, h;	if(!GetSelection(l, h) || c < l || c >= h)		PlaceCaret(c, false);	MenuBar::Execute(WhenBar);}
开发者ID:guowei8412,项目名称:upp-mirror,代码行数:9,


示例23: NextUndo

void RichEdit::LeftTriple(Point p, dword flags){	NextUndo();	int c = GetMousePos(p);	if(c >= 0 && c != objectpos) {		RichPos rp = text.GetRichPos(c);		Select(c - rp.posinpara, rp.paralen + 1);	}}
开发者ID:dreamsxin,项目名称:ultimatepp,代码行数:9,


示例24: GetMousePos

voidMy_TestGLDrawing::MouseMove(int x, int y, int modKeys){    Hdx_UnitTestGLDrawing::MouseMove(x, y, modKeys);    if (!(modKeys & GarchGLDebugWindow::Alt)) {        _endPos = GetMousePos();    }}
开发者ID:PixarAnimationStudios,项目名称:USD,代码行数:9,


示例25: GetMousePos

//-----------------------------------------------------------------------// Purpose://-----------------------------------------------------------------------bool CCanvas::IsMouseOver( int x1, int y1, int x2, int y2 ){	if( GetForegroundWindow() != g_RenderInterf->GetWnd() ) //If our window does not have focus		return false;	int x, y;	GetMousePos( &x, &y );	return( (x >= x1) && (y >= y1) && (x < x2) && (y < y2) );}
开发者ID:MGraefe,项目名称:deferred,代码行数:12,


示例26: GetMousePos

void DocEdit::LeftUp(Point p, dword flags){	if(!HasCapture() && selclick) {		int c = GetMousePos(p);		PlaceCaret(c, flags & K_SHIFT);		SetFocus();	}	selclick = false;	ReleaseCapture();}
开发者ID:guowei8412,项目名称:upp-mirror,代码行数:10,



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


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