基于CView的mfc应用程序,在视图区中动态创建了(二十几个)CButton,为了不对每一个按钮添加消息响。。 5

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式