CYSpringProDlg *pDlg = (CYSpringProDlg *)(this->GetOwner());
解决方案 »
- 用代码创建文本框的问题
- 小妹马上就要接图像处理的工作,但是之前从没接触过图像处理。怎么办啊。高分求救
- 能给个进度条和多线程给合的例程,就像拷贝什么东西,让进度条显示其进度
- 请问如何修改控件的焦点顺序?
- VC里如何去找键码的物理值?在线等待,谢谢
- activex的cab包为何不能自解压运行.......分不够可再加
- CListCtrl
- 关于DES加密算法的一点疑问
- 请问如何打开后缀为.rar的文件,十万火急!
- DISP_FUNCTION(CTestWnd, "TestFunc", TestFunc, VT_BSTR, VTS_BSTR VTS_BSTR)
- opencv avi视频转换bmp图片相关问题
- MFC 串口通信问题!
这句和CYSpringProDlg *pDlg = (CYSpringProDlg *)(this->GetParent());有差吗?
试了还是不行
你不用重载cedit 你只在资源编辑里就可以响应edit的双击到对话框的成员函数啊 就想双击按钮一样啊...
你不用重载cedit 你只在资源编辑里就可以响应edit的双击到对话框的成员函数啊 就想双击按钮一样啊...if(!m_EditICRom.Create(dwStyle,rectDummy,&m_wndTabs,2))
return -1;
我的EDIT是这样创建的,不是在资源视图里编辑的,所以不能在资源里双击
BOOL CYSpringProDlg ::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_LBUTTONDBCLICK && pMsg->hwnd == m_EditICRom.GetSafeHwnd())
{
// 新建edit被双击
...
}
return CDialog::PreTranslateMessage(pMsg);
}
解决了,但是执行return ClxDialog::PreTranslateMessage(pMsg);这个总是出错,代码如下:
BOOL CYSpringProDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message==WM_LBUTTONDBLCLK && pMsg->hwnd == m_EditICRom.GetSafeHwnd())
{
// 新建edit被双击
CPoint Point = GetCaretPos();
int n = m_EditICRom.CharFromPos(Point);
int nLineIndex = HIWORD(n);
int nCharIndex = Point.x/64; CDlgEditData DlgEditData;
if(DlgEditData.DoModal() == IDOK)
{
int adr = nLineIndex*0x8+nCharIndex;
int Data = Toint(DlgEditData.m_NewValue,16);
ROMBuffer[adr*2] = Data&0xFF;
ROMBuffer[adr*2+1] = Data>>8;
}
}
if(::TranslateAccelerator(GetSafeHwnd(),hAccel,pMsg))
return true; return ClxDialog::PreTranslateMessage(pMsg);
}
{
// TODO: 在此添加专用代码和/或调用基类
if(::TranslateAccelerator(GetSafeHwnd(),hAccel,pMsg))
return true;
if (pMsg->message==WM_LBUTTONDBLCLK && pMsg->hwnd == m_EditICRom.GetSafeHwnd())
{
// 新建edit被双击
CPoint Point = GetCaretPos();
int n = m_EditICRom.CharFromPos(Point);
int nLineIndex = HIWORD(n);
int nCharIndex = Point.x/64; CDlgEditData DlgEditData;
if(DlgEditData.DoModal() == IDOK)
{
m_EditICRom.ReplaceSel(DlgEditData.m_NewValue,0);
int adr = nLineIndex*0x8+nCharIndex;
int Data = Toint(DlgEditData.m_NewValue,16);
ROMBuffer[adr*2] = Data&0xFF;
ROMBuffer[adr*2+1] = Data>>8;
}
return true;
}
return ClxDialog::PreTranslateMessage(pMsg);
}