我需要在Visual Basic 2005 Express中创建一个快速脏的旋钮控件,其值通过用鼠标“抓取”并向上/向下移动光标来递增/递减。因为旋钮本身不移动,我需要跟踪控件矩形之外的鼠标移动。
我使用Label
和ImageList
来实现这一点(我有一个127位图的列表,表示不同位置的旋钮)。
我应该对哪些事件做出反应?
答案 0 :(得分:0)
您需要控件才能处理三个事件:鼠标按下,鼠标移动和鼠标按下。在Mouse Down事件中,您需要捕获鼠标。这意味着鼠标消息将发送到具有捕获的控件。在鼠标移动事件中,如果捕获输入,则根据鼠标移动的量更新显示的图像。在鼠标按下事件中,如果捕获了输入,则释放捕获。
布尔jjnguy建议是不必要的,因为Control的Capture属性是可读的,因此可以确定是否已设置捕获。
答案 1 :(得分:0)
您的问题是根据鼠标在mouse_move事件中报告的坐标来确定您必须显示的位图。你需要执行一些魔术来转换坐标,并提出一个可用于选择正确图像的值。
这听起来并不复杂,只是在数学上有点试验和错误。 Skizz已经向您展示了如何捕捉事件。