新手哇
给edit控件赋值GetDlgItem(IDC_EDIT)->SetWindowText( "test");编译无错,运行到这句赋值代码时报错
“Debug Assertion Failed! Program:d\aaa\debug\aaa.exe
File:wincore.cpp
Line:312 For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts. (Press Retry to debug the application) Debug Assertion Failed”啥意思?我看网上都这么写赋值语句的啊,怎么我这里就报错了呢?
给edit控件赋值GetDlgItem(IDC_EDIT)->SetWindowText( "test");编译无错,运行到这句赋值代码时报错
“Debug Assertion Failed! Program:d\aaa\debug\aaa.exe
File:wincore.cpp
Line:312 For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts. (Press Retry to debug the application) Debug Assertion Failed”啥意思?我看网上都这么写赋值语句的啊,怎么我这里就报错了呢?
{
ENSURE(this);
ENSURE(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); if (m_pCtrlSite == NULL)
::SetWindowText(m_hWnd, lpszString);
else
m_pCtrlSite->SetWindowText(lpszString);
}下面这一句执行时报错
ENSURE(this);
我的控件在a.cpp文件里,我现在在b.cpp文件里给a.cpp文件的控件赋值
这样应该怎么做??
感谢前面几位回答
GetDlgItem(IDC_EDIT)->SetWindowText( "test");// 改成这样,下面这样就不会出错,并且你可以看一下pWnd这个指针有没有值,句柄有没有
CWnd* pWnd = GetDlgItem(IDC_EDIT);
if ( pWnd && ::IsWindow(pWnd->GetSafeHwnd()) )
pWnd)->SetWindowText( "test");
你这样写也可以,但是 如果 你的b对该控件是不可见的话,你可以 将a实例化,再赋值
如果你要在a类中对b类的控件赋值,你要得到b类的指针,这样那个this指针才有效啊,比如用: pB->GetDlgItem(IDC_EDIT)->SetWindowText("aa");
尝试了这样写法,但是没成功啊。。pWnd取得值为????显示值错误啊
就是a类对b类的控件赋值。b是dlg文件
您这里的pB指什么?
GetDlgItem(IDC_EDIT)->SetWindowText( "test");
害了不少人。
这句代码已经很详细了
问题时又不知道你的应用环境
怎么给你写代码
而且他就说a.cpp、b.xpp我们怎么知道具体是什么情况
那你说赋值具体该怎么写
3. 在另一个赋值的文件里,用控件类的类对象来操作上面生成的控件变量,给它赋值
但是在另一个文件里,怎么给这个变量赋值?
比如这个变量我定义的是strValue
我虽然导入了前面定义的头文件,但还是报“未声明变量”
CDialog m_dlg;m_dlg.strValue = ....
应该是方的位置错了.
放在initdialog里面.
GetDlgItem(IDC_EDIT)应该是没有找到IDC_EDIT这个控件吧!看看IDC_EDIT存在不存在。
//代码执行到这里的时候窗体已经被销毁了
return; DoModal()函数执行时,窗体创建
DoModal()函数返回时,窗体已经被销毁如果要操作CDialog中的控件必须在窗体销毁前处理。可以在OnOK 函数中执行
不过OnOK函数是要按钮触发的吧?
我不想动任何按钮就要触发的
看看人家这分得的多容易
http://topic.csdn.net/u/20101013/08/7c06f198-864c-4aa4-ad48-4f3ae20c750b.html
SetDlgItemTextA:修改对话框Edit控件的内容。低级的VC++编译器里可能是SetDlgItemText。
IDC_EDIT_FF_CM:EDIT控件的ID。