/*******************************************************************/ private void mouseUp(object sender, hvppleDotNet.HMouseEventArgs e) { //关闭缩放事件 if (isStaticWnd) { return; } if (e.Button == MouseButtons.Left) { mousePressed = false; } viewPort.hvppleWindow.SetMshape("default"); if (roiManager != null && (roiManager.activeROIidx != -1) && (dispROI == MODE_INCLUDE_ROI)) { } else if (stateView == MODE_VIEW_ZOOMWINDOW) { ZoomWindow.Dispose(); } }
/*******************************************************************/ private void mouseMoved(object sender, hvppleDotNet.HMouseEventArgs e) { //关闭缩放事件 if (isStaticWnd) { return; } double motionX = 0, motionY = 0; double posX, posY; double zoomZone; if (!mousePressed) { return; } if (roiManager != null && (roiManager.activeROIidx != -1) && (dispROI == MODE_INCLUDE_ROI)) { roiManager.mouseMoveAction(e.X, e.Y); } else if (stateView == MODE_VIEW_MOVE) { if (imageShowWidth > viewPort.Width || imageShowHeight > viewPort.Height) { motionX = ((e.X - startX)); motionY = ((e.Y - startY)); if (((int)motionX != 0) || ((int)motionY != 0)) { moveImage(motionX, motionY); startX = e.X - motionX; startY = e.Y - motionY; } } } else if (stateView == MODE_VIEW_ZOOMWINDOW) { HSystem.SetSystem("flush_graphic", "false"); ZoomWindow.ClearWindow(); posX = ((e.X - ImgCol1) / (ImgCol2 - ImgCol1)) * viewPort.Width; posY = ((e.Y - ImgRow1) / (ImgRow2 - ImgRow1)) * viewPort.Height; zoomZone = (zoomWndSize / 2) * xScale * zoomAddOn; ZoomWindow.SetWindowExtents((int)posY - (zoomWndSize / 2), (int)posX - (zoomWndSize / 2), zoomWndSize, zoomWndSize); ZoomWindow.SetPart((int)(e.Y - zoomZone), (int)(e.X - zoomZone), (int)(e.Y + zoomZone), (int)(e.X + zoomZone)); repaint(ZoomWindow); HSystem.SetSystem("flush_graphic", "true"); ZoomWindow.DispLine(-100.0, -100.0, -100.0, -100.0); } }
/*************************************************************************/ /* Event handling for mouse */ /*************************************************************************/ private void mouseDown(object sender, hvppleDotNet.HMouseEventArgs e) { //关闭缩放事件 if (isStaticWnd) { return; } stateView = MODE_VIEW_MOVE; if (e.Button == MouseButtons.Left) { mousePressed = true; } int activeROIidx = -1; if (roiManager != null && (dispROI == MODE_INCLUDE_ROI)) { activeROIidx = roiManager.mouseDownAction(e.X, e.Y); } if (activeROIidx == -1) { switch (stateView) { case MODE_VIEW_MOVE: startX = e.X; startY = e.Y; break; case MODE_VIEW_NONE: break; case MODE_VIEW_ZOOMWINDOW: activateZoomWindow((int)e.X, (int)e.Y); break; default: break; } } //end of if }