急问一个CEdit的东东

STUPop 2004-05-02 11:18:38
我建了一个继承CDialog 的对话框类CCMsgDlg,定义了一个CString m_str,和CEdit m_Edit的成员,用了一下代码
CCMsgDlg MyDlg;
MyDlg.m_str = "1234";
MyDlg.m_Edit.SetSel(0,-1);
MyDlg.m_Edit.ReplaceSel("12345678");
MyDlg.DoModal();
弹出对话框,定义为CSrting的那个控件可以显示1234
但CEdit的那个控件不会显示任何文本。怎么回事,各位大侠。
先谢过
...全文
22 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Vivianren 2004-05-03
选定CEdit类型的。
还有做完了以后的代码后要多一个UpdateData(false);
  • 打赏
  • 举报
回复
STUPop 2004-05-03
re:Mackz(在相互)
CCMsgDlg MyDlg;
MyDlg.m_str = "1234";
MyDlg.m_Edit.SetSel(0,-1);
MyDlg.m_Edit.ReplaceSel("12345678");//这时,这个对话框还没有创建呢,其控件是不可访问的。定义控件成员变量就可以实现自动更新了。
MyDlg.DoModal();

兄弟一语惊醒梦中人阿,我把他改成
CCMsgDlg *MyDlg;
MyDlg = new CCMsgDlg;
MyDlg->Create(IDD_MSGDLG);
MyDlg->m_Edit.SetSel(0,-1);
MyDlg->m_Edit.ReplaceSel("ddddddddddddd");
MyDlg->ShowWindow(SW_SHOWNORMAL);
MyDlg->UpdateWindow();
就行了,以前写程序都是用win32写,现在用MFC真是有点不一样阿


  • 打赏
  • 举报
回复
98764321 2004-05-03
你们讲的太深刻了,我看不懂,能告诉我怎么学就行了!
  • 打赏
  • 举报
回复
菜牛 2004-05-03
CCMsgDlg MyDlg;
MyDlg.m_str = "1234";
MyDlg.m_Edit.SetSel(0,-1);
MyDlg.m_Edit.ReplaceSel("12345678");//这时,这个对话框还没有创建呢,其控件是不可访问的。定义控件成员变量就可以实现自动更新了。
MyDlg.DoModal();
  • 打赏
  • 举报
回复
Kudeet 2004-05-03
UpateData(FALSE);应该要大写。
  • 打赏
  • 举报
回复
STUPop 2004-05-02
m_Edit 是CEdit类型的
用setwindowtext也不行

CDC *pDC;
CRect Rect;
MyDlg.m_Edit.GetRect(Rect);
pDC = MyDlg.m_Edit.GetDC();
pDC->DrawText("123456",6,Rect,DT_LEFT);
也不行

updatedata(false)时会出现“不可操作“的对话框
  • 打赏
  • 举报
回复
kofbashen2001 2004-05-02
那个CEdit 的成员m_Edit是什么类型的?
不会是CString 的吧?要选CEdit的。
还有做完了以后的代码后要多一个UpdateData(false);
更新对话框的东西
  • 打赏
  • 举报
回复
王国凡 2004-05-02
m_Edit.SetWindowText("12345678");
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-02 11:18
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……