请问如果在父窗口中动态创建一个样式为WS_POPUP的按钮,想点击这个按钮时,父窗口能捕获到这一消息要怎么
注意是WS_POPUP样式的按钮,不是WS_CHILD,CreateWindowEx(WS_EX_TOPMOST,"BUTTON","C++按钮",WS_VISIBLE|...
注意是WS_POPUP样式的按钮,不是WS_CHILD,CreateWindowEx(WS_EX_TOPMOST,"BUTTON","C++按钮",WS_VISIBLE|WS_POPUP|BS_PUSHBUTTON,920,100,100,35,
hWnd,NULL,(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),NULL); 展开
hWnd,NULL,(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE),NULL); 展开
1个回答
展开全部
WS_POPUP与WS_CHILD不能一起用的,为什么要WS_POPUP,估计不好实现,因为BUTTON是系统注册的类,已经封装好了,除了特定的消息发给父窗口外,其他的消息都是自行处理掉了,
现在没有父窗口,就相当于与外界的接口没了。
或许可以试试更改其消息处理函数,估计是不行。
long proc;
proc=GetWindowLong(hbutton,oldproc);
SetWindowLong(hbutton,GWL_WNDPROC,newproc);
要不然就是用钩子函数了,SetWindowsHookEx
现在没有父窗口,就相当于与外界的接口没了。
或许可以试试更改其消息处理函数,估计是不行。
long proc;
proc=GetWindowLong(hbutton,oldproc);
SetWindowLong(hbutton,GWL_WNDPROC,newproc);
要不然就是用钩子函数了,SetWindowsHookEx
追问
我创建的按钮是处于shockwaveflashboject(用来加载FLASH)控件的上方,初始化的时候被覆盖,要点一下按钮的位置后,按钮才显示出来!没办法之下把这个按钮风格设置为WS_POPUP!这样就能正常显示,我想点击这个按钮时处理一些事件。更改消息处理函数我试过了,这个按钮的父窗口应该变成桌面了,请问钩子函数能达到响应这个按钮事件的目的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询