前面一大部分都是参考某位同学的,具体哪位记不清了,在此声明一下。
点击edit控件出现对话框:
1,首先捕获鼠标信息:
添加一个消息传递,重载函数PreTranslateMessage(MSG* pMsg),可以在wizard中添加PreTranslateMessage即可。
重载的代码:
if( pMsg->message == WM_LBUTTONUP )//消息为鼠标左键升起,不能为down,不知道原因。down的话按在任何地方都会调用对话框
{
if ( GetDlgItem(IDC_EDIT1)->GetSafeHwnd() == pMsg->hwnd )//判断句柄为edit
{
jisuan*m_pDlg;//非模态显示对话框。如果用模态的话,鼠标会变成光标的样子,什么都做不了
m_pDlg = new jisuan;
m_pDlg->Create(IDD_DIALOG1, this);
m_pDlg->ShowWindow(SW_SHOW);
}
}
这样就会调用对话框
2.传值:
要把被调用对话框里的值传给edit控件。在被调用对话框里的ok控件被按下的函数里添加如下代码:
CString aa;
CWnd*cwnd=AfxGetMainWnd();//获得父窗口句柄,在此即为调用对话
1,首先捕获鼠标信息:
添加一个消息传递,重载函数PreTranslateMessage(MSG* pMsg),可以在wizard中添加PreTranslateMessage即可。
重载的代码:
if( pMsg->message == WM_LBUTTONUP )//消息为鼠标左键升起,不能为down,不知道原因。down的话按在任何地方都会调用对话框
{
if ( GetDlgItem(IDC_EDIT1)->GetSafeHwnd() == pMsg->hwnd )//判断句柄为edit
{
jisuan*m_pDlg;//非模态显示对话框。如果用模态的话,鼠标会变成光标的样子,什么都做不了
m_pDlg = new jisuan;
m_pDlg->Create(IDD_DIALOG1, this);
m_pDlg->ShowWindow(SW_SHOW);
}
}
这样就会调用对话框
2.传值:
要把被调用对话框里的值传给edit控件。在被调用对话框里的ok控件被按下的函数里添加如下代码:
CString aa;
CWnd*cwnd=AfxGetMainWnd();//获得父窗口句柄,在此即为调用对话