添加Meidaplay的DoubleClick事件就可以了 .h添加 afx_msg void OnDoubleClickWmp(short nButton, short nShiftState, long fX, long fY); DECLARE_EVENTSINK_MAP() .cpp添加 BEGIN_EVENTSINK_MAP(CXXXXXDlg, CDialog) //{{AFX_EVENTSINK_MAP(CAbcdDlg) ON_EVENT(CXXXXXDlg, IDC_WMP, 6506 /* DoubleClick */, OnDoubleClickWmp, VTS_I2 VTS_I2 VTS_I4 VTS_I4) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP()void CXXXXXDlg::OnDoubleClickWmp(short nButton, short nShiftState, long fX, long fY) { // TODO: Add your control notification handler code here m_WMP.SetFullScreen(!GetFullScreen()); }
void CXXXXXDlg::OnDoubleClickWmp(short nButton, short nShiftState, long fX, long fY) { // TODO: Add your control notification handler code here m_WMP.SetFullScreen(!m_WMP.GetFullScreen()); } 刚才写少了
2. 当出现双击消息的时候, 直接全屏播放器
来播放媒体,mediaplayer11默认用esc退出全屏, 想改成双击退出全屏,
这个hook截获消息大概应该怎么做,能给点提示吗
LRESULT CALLBACK CPlayerDlg::msghook(UINT nCode, WPARAM wParam, LPARAM lParam)
{
if(nCode < 0)
{
CallNextHookEx(hook, nCode, wParam, lParam);
return 0;
}
LPMSG msg = (LPMSG)lParam;
switch(msg->message)
{
case WM_LBUTTONDBLCLK:
{
int i=0;
i++;
UNI_LOG((LL_DEBUG, "media player double click!!!!.\n"));
return 0;
//break;
}
}
return CallNextHookEx(hook, nCode, wParam, lParam);
}
问题是我截获到mediaplayer双击消息后, 怎么阻止那个双击消息继续发给mediaplyer呢
case WM_LBUTTONDBLCLK:
{
UNI_LOG((LL_DEBUG, "media player double click!!!!.\n"));
return 1; }
mediaplayer11全屏后, 所有的消息好像直接发给mediaplayer了,没有发给包装窗口,
所以楼上的那个方法我最初试了试,行不通
.h添加
afx_msg void OnDoubleClickWmp(short nButton, short nShiftState, long fX, long fY);
DECLARE_EVENTSINK_MAP()
.cpp添加
BEGIN_EVENTSINK_MAP(CXXXXXDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CAbcdDlg)
ON_EVENT(CXXXXXDlg, IDC_WMP, 6506 /* DoubleClick */, OnDoubleClickWmp, VTS_I2 VTS_I2 VTS_I4 VTS_I4)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()void CXXXXXDlg::OnDoubleClickWmp(short nButton, short nShiftState, long fX, long fY)
{
// TODO: Add your control notification handler code here
m_WMP.SetFullScreen(!GetFullScreen());
}
{
// TODO: Add your control notification handler code here
m_WMP.SetFullScreen(!m_WMP.GetFullScreen());
}
刚才写少了