浏览代码

corrected showing tooltipex on multiple monitors

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@124 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden 21 年之前
父节点
当前提交
d8d11b1db9
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      ToolTipEx.cpp

+ 5 - 3
ToolTipEx.cpp

@@ -71,9 +71,11 @@ BOOL CToolTipEx::Show(CPoint point)
 	CRect rect = GetBoundsRect();
 	CRect rect = GetBoundsRect();
 
 
 	CRect rcScreen;
 	CRect rcScreen;
-	int nMonitor = GetMonitorFromRect(&rect);
-	GetMonitorRect(nMonitor, &rcScreen);
+	
 	CRect crRectToScreen(point, CPoint(point.x + rect.right, point.y + rect.bottom));
 	CRect crRectToScreen(point, CPoint(point.x + rect.right, point.y + rect.bottom));
+
+	int nMonitor = GetMonitorFromRect(&crRectToScreen);
+	GetMonitorRect(nMonitor, &rcScreen);
 		
 		
 	if(crRectToScreen.right > rcScreen.right)
 	if(crRectToScreen.right > rcScreen.right)
 	{
 	{
@@ -173,10 +175,10 @@ BOOL CToolTipEx::OnMsg(MSG* pMsg)
 		{
 		{
 			if(IsWindowVisible())
 			if(IsWindowVisible())
 			{
 			{
+				Hide();
 				WPARAM vk = pMsg->wParam;
 				WPARAM vk = pMsg->wParam;
 				if(vk == VK_ESCAPE)
 				if(vk == VK_ESCAPE)
 				{
 				{
-					Hide();
 					return TRUE;
 					return TRUE;
 				}
 				}
 			}
 			}