社区
界面
帖子详情
为什么访问对话框中控件的变量会出错?
windyhui
2003-10-16 09:37:22
CGPSTrackDlg trackdlg;
if (trackdlg.DoModal()==IDOK)
{
int temp=trackdlg.m_lsSelectedGPSTrack.GetCount();
}
其中m_lsSelectedGPSTrack是一个CList控件的变量;
望指点!
...全文
46
9
打赏
收藏
为什么访问对话框中控件的变量会出错?
CGPSTrackDlg trackdlg; if (trackdlg.DoModal()==IDOK) { int temp=trackdlg.m_lsSelectedGPSTrack.GetCount(); } 其中m_lsSelectedGPSTrack是一个CList控件的变量; 望指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zerphy
2003-10-17
打赏
举报
回复
控件的Value变量可以访问。
windyhui
2003-10-17
打赏
举报
回复
那个访问控件Value变量行吗?
zhumerchant
2003-10-17
打赏
举报
回复
只是当该对话框运行到变量空间外时,对话框才调用析构函数,销毁自己
zhumerchant
2003-10-17
打赏
举报
回复
对话框没有销毁, 只是基于对话框存在的那些窗口类销毁。
对话框还在堆栈上,还可以提取和窗口无关的变量。
windyhui
2003-10-17
打赏
举报
回复
在没有DoModal以前也不能访问,对吧?
quanch
2003-10-16
打赏
举报
回复
楼上说的对,DoModal()之后与界面相关的对象已经销毁,如果你要传递数据声明其他成员变量将结果传出。
Paris_Luo
2003-10-16
打赏
举报
回复
楼上正解,
if (trackdlg.DoModal()==IDOK) 此时对话框已经销毁,或者说你已经按了ok键
这时候对话框的所有变量当然无法访问,应该说对话框对象已经不存在了。
在这之前获取数据把。
xiaohyy
2003-10-16
打赏
举报
回复
trackdlg.DoModal()之后,对话框已经销毁了,你再访问改对话框的变量,当然出错
bulesnow
2003-10-16
打赏
举报
回复
up
VC驿站基础班无KEY高清C++教程下载地址
1、VC++编程环境介绍 ①、编程环境、编译器; ②、名词解释; ③、一个简单的MFC
对话框
工程; ④、个人认为在学习过程
中
可以看的不错书籍; ⑤、VC编译EXE在没装VC的电脑上运行
出错
问题解决! 2、ANSI与UNICODE ①、ANSI与UNICODE; ②、不同编码格式下的字符串处理及相互转化; ③、CString常用操作讲解。 3、模态
对话框
与非模态
对话框
①、模态与非模态
对话框
的创建; ②、新
对话框
的初始化工作; ③、两个
对话框
之间数据传递的几种方法。 4、
对话框
控件
不同类型成员
变量
的绑定 ①、
控件
各种类型
变量
的绑定、最大值及最小值问题; ②、
对话框
数据交换与验证机制; ③、各种开源
控件
类的使用; ④、MFC与SDK API
中
同名函数问题。 5、VC
中
常用
控件
的用法讲解 ①、VC
中
常用
控件
的用法讲解见:http://www.cctry.com/thread-106-1-1.html ②、VS2008
中
新增
控件
的用法讲解。 6、定时器讲解 ①、定时器相关函数讲解:SetTimer、OnTimer、KillTimer; ②、利用定时器实现动态显示时间; ③、改变CStatic
控件
的文字颜色。 7、MFC
对话框
程序响应鼠标及键盘消息 ①、MFC
对话框
程序响应鼠标点击消息; ②、MFC
对话框
程序响应键盘按键消息; ③、MFC
对话框
程序响应组合键。 8、MFC
对话框
注册全局系统热键 9、
控件
自定义消息的响应: ①、响应按钮
控件
的右键消息; ②、响应Static
控件
的双击消息。 ③、自定义编辑框
控件
只读、颜色不变灰 10、再论“逃跑”按钮的实现 ①、MoveWindow、SetWindowPos、GetWindowRect函数讲解; ②、坐标系的变换。 11、通用
对话框
讲解 ①、文件选择
对话框
; ②、目录选择
对话框
; ③、让
对话框
程序支持拖拽。 12、菜单操作 ①、
对话框
程序添加菜单; ②、右键弹出式菜单; ③、菜单项的启用与禁用。 13、
对话框
的工具栏操作 ①、工具栏的创建; ②、工具栏按钮的响应。 14、
对话框
的状态栏操作 ①、状态栏的创建; ②、状态栏显示时钟、鼠标位置、鼠标点的颜色信息等。 15、一个简单计算器软件的编写 ①、计算功能的实现; ②、剪贴板操作:将计算结果保存到剪贴板。 16、文件的基本操作之CFile[Ⅰ] ①、文件的创建、打开、关闭; ②、文件的读写、何时读取完毕、读取一行数据; ③、文件指针位置的设置; ④、刷新缓存数据到文件; 17、文件的基本操作[Ⅱ] ①、文件的复制[适用于文件夹]; ②、文件的重命名或移动[适用于文件夹]; ③、文件的删除[只读属性]; 18、文件属性信息的获取与设置 ①、属性信息的获取:大小、时间、隐藏属性等; ②、属性信息的设置 [删除只读属性文件]; ③、判断文件是否存在以及是否为目录; 19、文件夹操作 ①、文件夹的创建与删除; ②、文件夹的属性信息的获取:时间、隐藏属性等; ③、文件夹大小的获取:遍历文件方法[下节课讲解]; 20、文件的遍历与查找小软件的编写[包括文件的各种属性信息] 21、系统各种路径信息的获取 ①、Windows、System32、temp、桌面目录、我的文档等目录的获取; ②、应用程序当前目录的获取与设置及存在的问题讲解; ③、可执行文件所在目录[包括EXE和DLL]; ④、工程当前目录与Debug调试目录的不同。 22、系统信息的获取 ①、当前用户名称、计算机名称的获取; ②、CPU、内存、硬盘信息的获取。 23、进程的相关操作 ①、进程创建的三种方法及CreateProcess参数存在的问题; ②、进程的结束; 进程的枚举 一个简单任务管理器的实现 MFC
中
动态数组、动态链表、映射表的讲解 ClistCtrl 的自绘操作!
关于MFC
对话框
不显示或
出错
的问题解决总结(更新
中
。。。)
在实际项目工作
中
总
会
出现关于
对话框
调用不显示或
出错
的问题,现在笔者将其总结,希望对初学MFC的人有些许帮助,不当之处,请批评改正哦~~~~~ 1:调用DoModal函数显示
对话框
出现错误时 一般情况下应该是DoDataExchange(数据交换函数)出现了错误,出现此错误的原因是你修改了窗体
中
子
控件
的ID,而在交换函数
中
没有修改过来,所以进行
变量
绑定
控件
时找不到真正的标识。 2.:对
MFC 设置
对话框
中
的
控件
根据界面变化等比例缩放
实现步骤 【属性】设置:先将
对话框
的Border属性由Dialog Frame设置为Resizing; 在对应头文件
中
添加成员
变量
CList<CRect, CRect&> m_listRect; 自定义一个函数获取
对话框
及子
控件
区域,然后将其将函数放在OnInitDialog()下; 类向导
中
添加消息WM_SIZE,对应的响应函数为OnSize(); //.h文件 class CxxxDlg : public CDialog { public: CList<CRect,C
基础语法篇_6——
对话框
的创建与显示、动态创建按钮、
控件
的
访问
【
控件
调整|静态文本
控件
|编辑框
控件
】、
对话框
伸缩功能、输入焦点的传递、默认按钮的说明
文章目录一、基本知识1.1 常用
控件
介绍 一、基本知识
对话框
就是一个窗口,它不仅可以接收消息,而且可以被移动和关闭,甚至可以在客户区进行绘图。
对话框
相当于一个容器,在它上面能够放置各种各样的标准
控件
和扩展
控件
,使程序支持用户输入的手段更加丰富。 1.1 常用
控件
介绍 在MFC
中
,所以的
控件
类都由CWnd类派生的。因此
控件
也是窗口。通常
控件
作为
对话框
的子窗口而创建的。
控件
也可以出现在视类窗口、工具...
MFC
中
对话框
初始化问题
在MFC
中
,大体上,
对话框
的初始化有两种方式,一种是在构造函数
中
,一种是在OnInitDialog()函数
中
。 但是需要注意的是,构造函数是在构造
对话框
的过程
中
定义的,此时
对话框
还未生成,所以只能对
对话框
类的成员
变量
赋值,无法使用句柄。而OnInitDialog()是在DoModol()函数或Create()函数调用之前调用的,此时
对话框
的所有
控件
已经建立完全,可以使用句柄资源。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章