我首先在 Accelerator\IDR_MAINFRAME 中添加一个快捷键Ctrl+Alt+C并将该快捷键的ID定义为“ID_C”
然后用向导将“ID_C”的command消息响应到CDlg无模式窗口中
但执行程序时,快捷键没有响应。
请问是不是跟响应消息的位置有关系?是否能将该消息直接响应到无模式对话框中?
我做过将消息响应到主窗口,是可以的。
是不是在IDR_MAINFRAME中添加的快捷键,都必须响应到主窗口中?
若想在无模式对话框中响应某快捷键,该怎么办?
然后用向导将“ID_C”的command消息响应到CDlg无模式窗口中
但执行程序时,快捷键没有响应。
请问是不是跟响应消息的位置有关系?是否能将该消息直接响应到无模式对话框中?
我做过将消息响应到主窗口,是可以的。
是不是在IDR_MAINFRAME中添加的快捷键,都必须响应到主窗口中?
若想在无模式对话框中响应某快捷键,该怎么办?
HACCEL m_hAccel;
m_hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
重载PreTranslateMessage(MSG* pMsg),在其中加入
if(m_hAccel)
if(::TranslateAccelerator(m_hWnd,m_hAccel,pMsg))
return TRUE;
void CGptUcsRstRecSet::Close()
{
if(m_RST_UCS.m_dwDataLength>0 || m_RST_UCS.m_hData!=NULL)
{
HGLOBAL hdata=::GlobalFree(m_RST_UCS.m_hData);
m_RST_UCS.m_dwDataLength=0;
m_RST_UCS.m_hData=NULL;
}
CRecordset::Close();
}