activx有关问题 急 多谢, 如可以帮助调试 现金收酬谢
activx问题 急 谢谢, 如可以帮助调试 现金收酬谢
自己写了一个组件,现在需要封装为 activx控件, 没有做过相关开发, 现在遇到刷新频繁问题,还有就是 onkeydown消息不能截获到。
qq 5812 5895
------解决方案--------------------
mark
------解决方案--------------------
onkeydown是个比较麻烦而老的问题,需要用钩子来解决,网上这类帮助很多的。
此外,一般用vc开发的activex在vb下键盘是可以得到的,在mfc下却不可以。但是我遇到了
个别机器mfc截获,我却没有找到原因。
------解决方案--------------------
onkeydown一般是不需要特殊处理的,加速键处理起来比较麻烦。onkeydown在OnLUbttonDown的时候设置Focus好像就可以咯。
------解决方案--------------------
onkeydown不是自动截取的?截取不到难道是消息接收对象不是控件
------解决方案--------------------
m_hHook=SetWindowsHookEx( WH_GETMESSAGE, GetMsgProc,
NULL, GetCurrentThreadId() );
LRESULT FAR PASCAL GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LPMSG lpMsg = (LPMSG) lParam;
if ( nCode > = 0 && PM_REMOVE == wParam )
{
if ( (lpMsg-> message > = WM_KEYFIRST && lpMsg-> message <= WM_KEYLAST) )
{
if ( IsDialogMessage(g_hWnd, lpMsg) )
{
lpMsg-> message = WM_NULL;
lpMsg-> lParam = 0;
lpMsg-> wParam = 0;
}
}
}
return CallNextHookEx(m_hHook, nCode, wParam, lParam);
}
自己写了一个组件,现在需要封装为 activx控件, 没有做过相关开发, 现在遇到刷新频繁问题,还有就是 onkeydown消息不能截获到。
qq 5812 5895
------解决方案--------------------
mark
------解决方案--------------------
onkeydown是个比较麻烦而老的问题,需要用钩子来解决,网上这类帮助很多的。
此外,一般用vc开发的activex在vb下键盘是可以得到的,在mfc下却不可以。但是我遇到了
个别机器mfc截获,我却没有找到原因。
------解决方案--------------------
onkeydown一般是不需要特殊处理的,加速键处理起来比较麻烦。onkeydown在OnLUbttonDown的时候设置Focus好像就可以咯。
------解决方案--------------------
onkeydown不是自动截取的?截取不到难道是消息接收对象不是控件
------解决方案--------------------
m_hHook=SetWindowsHookEx( WH_GETMESSAGE, GetMsgProc,
NULL, GetCurrentThreadId() );
LRESULT FAR PASCAL GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LPMSG lpMsg = (LPMSG) lParam;
if ( nCode > = 0 && PM_REMOVE == wParam )
{
if ( (lpMsg-> message > = WM_KEYFIRST && lpMsg-> message <= WM_KEYLAST) )
{
if ( IsDialogMessage(g_hWnd, lpMsg) )
{
lpMsg-> message = WM_NULL;
lpMsg-> lParam = 0;
lpMsg-> wParam = 0;
}
}
}
return CallNextHookEx(m_hHook, nCode, wParam, lParam);
}