我正在尝试编写一个函数来确定鼠标是否超出像素范围(特定控件的像素范围)
问题是该函数仅适用于边界Form,不适用于按钮或我测试的任何其他控件...我缺少什么?
''' <summary>
''' Determinates whether the mouse pointer is over a pixel range of the specified control.
''' </summary>
''' <param name="Control">The control.</param>
''' <returns>
''' <c>true</c> if mouse is inside the pixel range, <c>false</c> otherwise.
''' </returns>
Private Function MouseIsOverControl(ByVal [Control] As Control) As Boolean
Return [Control].Bounds.Contains(MousePosition)
End Function
Run Code Online (Sandbox Code Playgroud)
PS:我知道鼠标事件的用法,但这个功能是用于通用的.
我重写了WndProc处理 Windows 消息的窗口的方法。
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
Run Code Online (Sandbox Code Playgroud)
为了在捕获左键按下事件 ( WM_LBUTTONDOWN) 时获取鼠标的位置,我使用以下代码:
auto x = GET_X_LPARAM(lParam);
auto y = GET_Y_LPARAM(lParam);
Run Code Online (Sandbox Code Playgroud)
这效果很好。我能够获得鼠标在窗口上的相对位置。但是当我捕获鼠标滚轮事件()时遇到问题WM_MOUSEWHEEL。在这种情况下,上面的宏似乎返回了鼠标在屏幕内的正确位置。
即使在鼠标滚轮事件上,如何才能获取鼠标的相对位置?
我正在使用从https://github.com/brandonaaron/jquery-mousewheel/downloads下载的JQuery鼠标滚轮来获取鼠标滚轮信息.同时,我想在滚轮时获得鼠标的位置.我怎样才能做到这一点?
我目前的功能如下:
$(function() {
$('#maindiv').mousewheel(function(event, delta, deltaX, deltaY) {
// somehow obtain mouse position
// Use delta and mouse position for a purpose
});
});
Run Code Online (Sandbox Code Playgroud) 我有一个文本框,其中有很多行文本,它的更新如下:
public void UpdateMessageBox(TextBox textBox, string text)
{
textBox.SelectionStart = 0;
textBox.SelectionLength = 0;
textBox.SelectedText = String.Format("{0:HH:mm:ss }", DateTime.Now) + text + "\n";
textBox.ScrollToHome();
}
Run Code Online (Sandbox Code Playgroud)
现在我需要立即从单击鼠标中键的行中获取文本,而不是先通过左键单击选择行。
private void textBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Middle && e.ButtonState == MouseButtonState.Pressed)
{
e.MouseDevice.GetPosition(textBox) //what next?
}
}
Run Code Online (Sandbox Code Playgroud)
如何从鼠标位置获取文本框行及其文本?
我正在使用 Unity 制作游戏,但有一个小问题,我需要知道世界空间中的鼠标位置,为此我尝试使用以下代码在鼠标位置设置 GameObject:
Vector3 p = Input.mousePosition;
Vector3 pos = Camera.main.ScreenToWorldPoint( p);
testGameObject.transform.position = pos;
Run Code Online (Sandbox Code Playgroud)
它在编辑器中的作用就像一个魅力,但在 exe / apk 中,游戏对象不跟随鼠标:
应该跟随鼠标的游戏对象是圆圈内的“1”
mousewheel ×2
.net ×1
bounds ×1
c# ×1
c++ ×1
coordinates ×1
events ×1
jquery ×1
mouse ×1
mouseevent ×1
textbox ×1
vb.net ×1
wpf ×1