对话框的退出???!!

machack 2011-08-12 03:40:34
在MFC中创建了一个子对话框,上面布置了一个Edit Control控件,用来输入文字的,请问如何在我输入指定的字符如exit时,整个对话框都关闭??
...全文
163 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
machack 2011-08-12
  • 打赏
  • 举报
回复
解决了,多谢各位
大风扯 2011-08-12
  • 打赏
  • 举报
回复
wm_char 可以的吧。。判断连续的4个是exit就可以了

lcy_888 2011-08-12
  • 打赏
  • 举报
回复
在ONCHAR中捕获后进行处理,退出的代码就不用说了。关键是判断。
gz_qmc 2011-08-12
  • 打赏
  • 举报
回复
响应EN_CHANGE消息,取文本串

判断取得串的最后四个字符

如果是"EXIT"则调用OnOK()

char ch[1024]=0;
char *p=ch;
取EDIT文本到ch;
while(*p) p++;
while(*p==0) p--;
if(*(p-3)=='E'&&*(p-2)=='X'&&*(p-1)=='I'&&*p=='T'&&p!=ch)
CDialog::OnOK();
laumore 2011-08-12
  • 打赏
  • 举报
回复
5楼正解
machack 2011-08-12
  • 打赏
  • 举报
回复
不行呀,在获取Edit Control里的文本的时候,因为之前已经输入了字符,获取内容就是一大堆字符呀
tanling_zero 2011-08-12
  • 打赏
  • 举报
回复
ON_EN_CHANGE 用户采取的行动可能会改变编辑控件的文本。与EN_UPDATE通知消息不同,该通知是在Windows更新显示之后发送的。
· ON_EN_ERRSPACE 编辑控件不能为特定请求分配足够的空间。
· ON_EN_HSCROLL 用户单击了编辑控件中的水平滚动条,父窗口在屏幕更新之前被通知。
· ON_EN_KILLFOCUS 编辑控件失去输入焦点。
· ON_EN_MAXTEXT 当前输入超过了为编辑控件指定的数目,并作截尾处理。当编辑控件不具有ON_EN_HSCROLL风格且要输入的字符会超过编辑控件的宽度时,发送消息。当编辑控件不具有ON_EN_VSCROLL风格且要输入的字符会超过编辑控件的高度时,也会发送消息。
· ON_EN_SETFOCUS 编辑控件获得焦点。
· ON_EN_UPDATE 编辑控件将要显示变动的文本。在控件对文本格式化之后但在显示文本之前发送消息,以便在必要时改变窗口尺寸。
· ON_EN_VSCROLL 用户单击了编辑控件中的垂直滚动条,父窗口在屏幕更新之前被通知。

1、以上为Eidt Control 的消息 你可以添加 ON_EN_CHANGE消息函数 并且添加CString变量
2、获取Eidt Control里的文本 ,然后进行对比就行了
3‘如 Eidt变量 CString m_strinfo;
Updatadate();
if(m_strinfo == "exit")
{
SendMessage(wm_close,0,0);
return ;
}


还有一种方法:
创建定时器,时时更新Edit Control里的文本进行比较就行。
hnzlk 2011-08-12
  • 打赏
  • 举报
回复
都对。
andy19850622 2011-08-12
  • 打赏
  • 举报
回复
处理EN_CHANGE消息,获取输入的字符等于exit的话就给父窗口发送WM_CLOSE
ouyh12345 2011-08-12
  • 打赏
  • 举报
回复
响应OnChar,判断输入字符
oyljerry 2011-08-12
  • 打赏
  • 举报
回复
处理WM_CHAR,然后判断是否输入exit,是的话,就OnOK等方式退出对话框
管家婆辉煌版.v9.0.简体中文破解版 管家婆入门例子 假设新开一公司,基本信息整理如下: 8 Q* d/ L; Q( L l 公司部门(办公室,财务室,仓库,圆西路分店,青年路分店)。 , u; d: ^! f# h( f W3 ]+ r: k9 f# W# D l 公司职员(经理、副经理、会计、出纳、门市经理、营业员等及其姓名)。 6 j4 Y9 S9 d* Q+ D9 w+ S) _5 q l 银行帐户(工行城北分理处)。 : H9 s4 N( @; \( a* n& n L/ |2 S. \( Y: P A% `) c/ F l 往来单位(朋友,客户,供应商,分销商等)。 : r6 v4 l0 v R- k& U # i0 s0 d! O& j+ V m2 Q) X l 经营商品大类:家电(彩电、电冰箱、洗衣机等);文体用品(笔类、纸品类、运动器材等);服装鞋帽(服装、鞋类、针纺等);洗涤化妆(肥皂、发水等) % q' c# @ j5 T9 K; s& r1 t4 I 第一次运行 , Z1 V8 S' ~7 c' T/ h3 g/ O 双击《管家婆》图标,第一次进入《管家婆》系统,您的身份是“超级用户”,不用输入密码,选择【确定】,出现日期对话框,选择【确定】,画面出现“如何开始?”简易教程,选择【退出】后,《管家婆》操作主菜单和按钮出现在我们面前。 设置“超级用户”密码 点取【系统维护】菜单,在下拉菜单中,选取【超级用户】,选取【权限管理】,在【权限配置】对话框中,点取【密码】,输入易牢记的密码,选择【保存】,选择【退出】。 . B- s# D$ S4 w( k: ` 输入公司部门和公司职员 % C" h7 J6 x& J0 z" H8 { 点取【基本信息】菜单,选取【部门职员】,在【基本信息…向下分类】对话框中职员全名输入“公司办公室”,选择【保存】退出后,进入【部门职员…分类信息】对话框,选择【添加】,在【基本信息…添加新项】对话框中输入“财务室”等,选择【保存】。以此类同,分别输入“仓库”,“圆西路分店”、“青年路分店”等公司部门。 将光标移动到“公司办公室”,点取【分类】,在【基本信息…向下分类】对话框中,输入职员全名:张一;简名:张;职员编号:001;所在部门:公司办公室;电话;用户注释:公司经理。选择【保存】。 . k1 J6 p7 F, j% B4 p0 k- J 点取【添加】,在【基本信息…添加新项】对话框中,输入职员全名:李二;简名:李;职员编号:002;所在部门:公司办公室;电话:用户注释:公司副经理。选择【保存】。点取【退出】。 3 f1 C+ f* ^6 w1 w 用上述方法输入“财务室”、 “仓库”、 “圆西路分店”、 “青年路分店”的职员。 0 F/ |; d1 i' L- D; _$ p 部门职员输入完毕。 8 S8 j( Q# e& A! F: ^ 选择【退出】,出现提示对话框,“是否确定退出?”,选择【是】,回到主菜单。 5 H6 y: [7 {6 y& z2 `7 {$ a4 f5 n 设置权限管理 点取菜单【系统维护】,选择【超级用户】,选择【权限管理】,在【权限配置】对话框内,点取【添加】,出现【内部职员选择框】,可以从各部门人员中,选择合适的人员进行《管家婆》的不同级别和不同权限的操作。选定人员后,点取【密码】,在“密码输入框”内输入密码,选择【保存】,点取【权限】,出现“用户(XX)权限设置”对话框,共有19种权限设置供选择,以适应工作需要(略) 输入往来单位 点取菜单【基本信息】,选择【往来单位】,在【基本信息…向下分类】对话框内,输入全名:朋友;选择【保存】。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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