CAddDlg dlg;
dlg.DoModal();//dlg中有一个IDC_EDIT1的edit box,我想给这个edit box设置焦点,请教高手,应该如何写代码?我按照如下的方法写代码,报错:
CWnd *pwnd;
pwnd = (CWnd*)GetDlgItem(IDC_EDIT1);
pwnd->SetFocus();
dlg.DoModal();//dlg中有一个IDC_EDIT1的edit box,我想给这个edit box设置焦点,请教高手,应该如何写代码?我按照如下的方法写代码,报错:
CWnd *pwnd;
pwnd = (CWnd*)GetDlgItem(IDC_EDIT1);
pwnd->SetFocus();
dlg.DoModal();CWnd *pwnd;
pwnd = (CWnd*)GetDlgItem(IDC_EDIT1);
pwnd->SetFocus();在一个按钮的单击事件中,有以上代码。
点击后,提示错误,说什么.....exe中的0x78a6e78c处有未经处理的异常:0xc00000005,读取位置0x0000020时发生冲突。
提示错误是:
.......exe 中的 0x78a6e78c (mfc100ud.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000020 时发生访问冲突
dlg.DoModal();CWnd *pwnd;
pwnd = (CWnd*)GetDlgItem(IDC_EDIT1);
pwnd->SetFocus();
这些代码难道你是写在同一个按钮的响应函数中的?如果是的话那就不能能对了
加上你上面的代码
GetDlgItem(IDC_EDIT1)->SetFocus();
最后记得return FALSE;
请教高手,我先dlg.DoModal();,表示窗口已经生成了,然后再他的下面引用它里面的控件,怎么会不对呢?指教一下吧,高手!
简单来说:dlg.DoModal()执行后会“卡”在这里,直到你关闭了dlg才会执行下面的语句
请教高手,DoModal,是阻塞的函数,和他功能一样,哪个函数不是阻塞的?
非模态对话框CAddDlg *dlg = new CAddDlg;
pdlg->Create(IDD_DIALOG1,this);
pdlg->ShowWindow(SW_SHOW);
请教18楼的高手:
CAddDlg *pdlg = new CAddDlg;
pdlg->Create(IDD_DIALOG1,this);
pdlg->ShowWindow(SW_SHOW);使用上面的代码生成了一个窗口,显示了。
我现在希望CWnd *pwnd;
pwnd = (CWnd*)pdlg->GetDlgItem(IDC_EDIT1)->GetSafeHwnd();
pwnd->SetFocus();这样设置焦点也成功了。我现在希望读取这个edit box的值,应该用怎样的代码读取?