因为我想一点击该编辑框,就弹出另外一个对话框,所以不能用判断是否焦点的方法,因为当退出那个另外的对话框时,焦点还在那儿,会再次谈出对话框,这样就形成死循环,请各位大侠指点的时候写详细一点,谢谢。
解决方案 »
- 新手问题,关于cout语句
- 在另一线程中调用IHTMLElement*的get_innerText方法时出现内存访问冲突
- 新手求教::::::select 里面怎么使用判断
- 是VC的BUG吗?将同一个对话框资源ID生成两个不同类,之后发生的事~
- 请教一个缓冲区字节数的问题
- 请问teardrop的代码里面如何实现teardrop的攻击啊?
- 有人用过NERO SDK做VCD刻录程序吗?
- 这里有没有做过“设备巡检管理系统”的VC程序员!
- 高分求教程序问题
- SDI下,如何获得当前打开文档的下一个文档名?像ACDSee一样?
- VC中怎样使工具栏的手柄区有两条坚(横)线,通常只有一条,再有如何在工具栏上加上其它控件呢?(初学者)
- WIN2000最多可以有多少个用户
GetWindowText(hwnd,buf,256);
CString str(buf);
if(str=="xxx")
...
对特定消息,为所有的编辑框指定同一个处理函数。在处理函数中就可以依据不同的ID来区分是哪个编辑框了。
BOOL CYourDialog::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_LBUTTONDOWN)
{
if(GetDlgItem(IDC_EDIT1)->m_hWnd==pMsg->hwnd)
MessageBox("you click IDC_EDIT1");
if(GetDlgItem(IDC_EDIT2)->m_hWnd==pMsg->hwnd)
MessageBox("you click IDC_EDIT2");
//....
}
return CDialog::PreTranslateMessage(pMsg);
}
BOOL CYourDialog::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_LBUTTONDOWN)
{
if(GetDlgItem(IDC_EDIT1)->m_hWnd==pMsg->hwnd)
MessageBox("you click IDC_EDIT1");
if(GetDlgItem(IDC_EDIT2)->m_hWnd==pMsg->hwnd)
MessageBox("you click IDC_EDIT2");
//....
}
return CDialog::PreTranslateMessage(pMsg);
}