2011-12-27 103 views
1

我想indentify像WM_LBUTTONDOWN和WM_LBUTTONUP的所有鼠标点击事件,在VC图片控件++画面控制,如何添加鼠标按下事件在VC++

但我不能够做到这一点

请告诉我如何分别识别所有事件。

在此先感谢。

+1

您必须将控件分类才能看到这些消息。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms633570%28v=vs.85%29.aspx#subclassing_window – 2011-12-27 09:37:56

+0

@CodyGray:感谢您的重播,但我是非常新的vC++请能你提供任何提示或任何示例?因为我不知道如何以及在哪里使用WM_ * BUTTON *消息。 – 2011-12-27 09:43:29

+0

你需要得到一本书,教你如何使用Win32 API在C++中进行编程。这不是SO的答案可以教你。 – 2011-12-27 09:58:08

回答

0

您可以使用Visual Studio IDE向图片控件添加事件处理程序,并修改处理函数的代码。这应该很容易。

我猜你正在使用MFC。在这种情况下,您必须将ActiveX控件添加到对话框中。

i。 添加控件:要将这样的控件添加到对话框中,请右键单击对话框并单击名为“插入ActiveX控件”的选项。出现模态对话框。你必须选择“Microsoft Forms 2.0 Image”。点击确定。控制被添加。

ii。 选择一个图像:右键单击您新添加的控件并选择“属性”。点击图片属性选择你想要的图片。还有其他属性可以自定义图片,即拉伸,裁剪图像等。您将看到您的图像被加载到控件中。

iii。 添加处理函数:右键单击控件并选择“添加事件处理程序”。从新的模式对话框中选择“MouseDown”或“MouseUp”作为消息类型,然后单击“添加和编辑”。添加您的代码以实现所需的行为。

N.B:MFC不适用于Visual C Express。你需要一个专业版本的VS来编译MFC代码。

+0

呃......这是怎么工作的? “WM_LBUTTONDOWN”和朋友的“处理函数”是什么样的? – 2011-12-27 13:03:22

+0

我编辑了我的答案,以解释。请检查。 – 2011-12-27 14:35:10

+0

我明白了......我并没有假设他使用MFC。这个问题在任何地方都没有说过。这也是错误的解决方案。绝对没有理由使用ActiveX控件来处理鼠标事件。 – 2011-12-27 14:52:03

0

您应该启用PictureControl的属性“通知”来获取事件。

相关问题