Jump to content
  • Create New...

Mouse Wheel Scrolling UI Event

Recommended Posts

  • Honorable Member

M2 Download Center

This is the hidden content, please
( Internal )

Hey guys,

I needed to be able to scroll on the ui with the mouse wheel and I thought it will be useful for others too so here's what to do.






virtual BOOL	OnMouseWheel(int nLen);


after like


virtual BOOL	OnMouseMiddleButtonUp();


In PythonWindow.cpp add the following function:


BOOL CWindow::OnMouseWheel(int nLen)
  long lValue;
  return PyCallClassMemberFunc(m_poHandler, "OnMouseWheel", Py_BuildValue("(i)", nLen), &lValue) && 0 != lValue;


In PythonWindowManager.h add


bool		RunMouseWheel(int nLen);


after like


void		RunMouseMiddleButtonUp(long x, long y);


In PythonWindowManager.cpp add the definition somewhere:


bool CWindowManager::RunMouseWheel(int nLen)
  CWindow* pWin = GetPointWindow();
  while (pWin)
    if (pWin->OnMouseWheel(nLen))
      return true;
    pWin = pWin->GetParent();
  return false;



In PythonApplicationEvent.cpp override the following function:


void CPythonApplication::OnMouseWheel(int nLen)
	UI::CWindowManager& rkWndMgr = UI::CWindowManager::Instance();
	if (!rkWndMgr.RunMouseWheel(nLen))
		CCameraManager& rkCmrMgr = CCameraManager::Instance();
		if (CCamera* pkCmrCur = rkCmrMgr.GetCurrentCamera())


Then root/ui.py and find ScrollBar class and add this function to it:


def OnMouseWheel(self, nLen):
		if nLen > 0:
			return True
		elif nLen < 0:
			return True
		return False


But you can use OnMouseWheel everywhere to listen to scrolling.


Good luck!

  • Metin2 Dev 33
  • Love 26
  • Love 2
  • Good 12
  • Angry 1


Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

  • 4 months later...
  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Metin2 Dev Github
  • Activity

    1. 7

      Wear (use) item only on specific map

    2. 4

      Python tool for analyzing average yang drop per hour in each map.

    3. 162

      Plechito - Halloween 2022

    4. 0

      disable quest esc

    5. 7

      Wear (use) item only on specific map

    6. 7

      Wear (use) item only on specific map

    7. 7

      Wear (use) item only on specific map

    8. 4

      max level exp

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.