VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 690|回复: 8

如何获得dialog里的editcontrol的内容

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-2 00:30:01 | 显示全部楼层 |阅读模式
我自己创建了一个dialog上面有一个editcontrol和两个按钮(ok,cancel),当我单击菜单的选项后dialog弹出来,输入内容,单击ok按钮后获得editcontrol里的内容,并且dialog退出,但总是获取不到,这是为什么?

IDC_EDIT是editcontrol的ID号,dlgPara是我单击菜单弹出的dialog.

        if (dlgPara.DoModal() != IDOK)
        {
                return;
        }


        char  str[3];

        SendDlgItemMessage(IDC_EDIT,WM_GETTEXT,3,(LPARAM)str);


回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-13 01:00:01 | 显示全部楼层
看样子lz用的是mfc
那么就认为调用senddlgitemmessage的类是包含idc——edit的对话框,恐怕不是这样吧,呵呵
回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-13 12:30:02 | 显示全部楼层
简单的办法是给edit控件绑定一个变量,就可以直接得到了
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-5-17 07:45:01 | 显示全部楼层
CString str;
dlgPara.GetDlgItemText( IDC_EDIT,str);

程序还是报错。那应该怎么做呢?
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-5-17 15:00:02 | 显示全部楼层
个人认为是这样的,你点击ok后,对话框退出后,Edit应该就不存在了吧!
你再查询它的值,好像不行吧!
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-5-17 23:30:01 | 显示全部楼层
为Edit 关联一个变量editText,在ok中UpdateData()一下,
然后;
在主程序中
CString str;
if (dlgPara.DoModal() = =IDOK)
{
str=dlgPara.editText;
}

试试看
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-5-18 09:30:02 | 显示全部楼层
为Edit 关联一个变量editText,在ok中UpdateData()一下,这个怎么做啊。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-5-19 02:30:01 | 显示全部楼层
在你的dialog里面点击ok时,使用GetDlgItemText( IDC_EDIT,str);

然后再使用楼上关联的方法
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-5-22 21:30:01 | 显示全部楼层
弄好了,谢谢你们。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表