用代码修改静态文本控件

ffjj56 2011-04-15 11:09:46
//输入用对话框
㈠添加对话框IDD_Input,其上添加静态文本控件IDD_STATIC1和编辑框IDC_edtInput
㈡新对话框建新类CDlgInput;编辑框加成员变量Value型CString类的m_input
㈢在主调文件中包含新类的头文件"DlgInput.h"
㈣主调事件代码:
CDlgInput dlgInput;
dlgInput.m_input="default";
SetDlgItemText(IDC_STATIC1,"Already changed");//无效
UpdateData(FALSE);//无效
if(1==dlgInput.DoModal())
{

}
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffjj56 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 visualeleven 的回复:]
引用 2 楼 ffjj56 的回复:
可是我想在创建后修改,有办法吗?

把你修改的代码SetDlgItemText()放到CDlgInput 类的OnInitDialog函数中
[/Quote]

呵呵,谢了,想明白了,不执行DoModal的条件下该对话框在耗时的初始化也不会执行,就这么办,结贴
蒙飞鸿 2011-04-15
  • 打赏
  • 举报
回复
给CDlgInput加上些成员变量,就可以在窗口出现前接收你要给SetDlgItemText提供的参数,然后接3楼的。。。
ffjj56 2011-04-15
  • 打赏
  • 举报
回复
IDOK==dlgInput.DoModal();这一句阻塞从创建到关闭啊,其间不给我机会
Eleven 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ffjj56 的回复:]
可是我想在创建后修改,有办法吗?
[/Quote]
把你修改的代码SetDlgItemText()放到CDlgInput 类的OnInitDialog函数中
ffjj56 2011-04-15
  • 打赏
  • 举报
回复
可是我想在创建后修改,有办法吗?
Eleven 2011-04-15
  • 打赏
  • 举报
回复
对话框DoModal()之前,窗口还没有创建,与窗口相关的操作都是非法的

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧