基于CView的mfc应用程序,在视图区中动态创建了(二十几个)CButton,为了不对每一个按钮添加消息响。。 5
基于CView的mfc应用程序,我在视图区中动态创建了(二十几个)CButton,为了不对每一个按钮添加消息响应函数,我在PreTranslateMessage()中做了...
基于CView的mfc应用程序,我在视图区中动态创建了(二十几个)CButton,为了不对每一个按钮添加消息响应函数,我在PreTranslateMessage()中做了判断,问接下来怎么设计?
我的 : msg->message==WM_LBUTTON.... 然后用获取焦点的方式(GetFocus()==...)判断单击了哪个按钮,问还有其他什么比较好的方法
问题2:如何透过按钮控件取得光标的位置(X,Y) 展开
我的 : msg->message==WM_LBUTTON.... 然后用获取焦点的方式(GetFocus()==...)判断单击了哪个按钮,问还有其他什么比较好的方法
问题2:如何透过按钮控件取得光标的位置(X,Y) 展开
1个回答
展开全部
你可以创建一个派生于CButton的的子类,用这个子类它来动态创建按钮,所以消息都可以在这个子类中进行处理。在子类中对控件id进行判断,就可以知道是哪个按钮按下。至于获取鼠标位置:GetCursorPos函数可以获取鼠标相对于屏幕的位置。
追问
"于获取鼠标位置:GetCursorPos函数可以获取鼠标相对于屏幕的位置。"
怪我没说清楚,我是要获得客户区中的位置。在GetClientRect()中的
追答
GetCursorPos获取的是屏幕坐标,用ScreenToClient函数可以把屏幕坐标转换为客户区坐标。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询