MFC因创建子窗体而导致主程序不能接收数据,求解答?

MFC因创建子窗体而导致主程序不能接收数据,求解答?,第1张

应该是你直接在对话框里加入列表控件,却又使用m_nList.Create()来创建一个新的listctrl产生的问题,就是说你创建了两个listctrl一个是你用控件工具栏拉出来的另一个是create出来的,而你把数据放在了create出来的控件里,正如楼上说的 CRect(0,0,0,0)没有显示区域当然看不到了。你在程序里看的只是你画的另一个控件而已,你没有给数据也就没有显示咯。解决方案有两种,一种是去掉资源编辑器上画的列表控件,检查一下m_nList和在对话框上的列表控件是不是绑定在一起的,是的话也去掉,给你创建的控件设定区域大小;一种是把资源编辑器上的列表控件绑定给m_nList对象,去掉create()语句。

1、 文件名App.h (cpp)应用程序类

CMyApp的基类是CWinApp,而CWinApp的基类又是CWinThread,CWinThread类是用来完成对线程(见后面的名词解释)的控制,包括对线程的创建、运行、终止和挂起等。它实际上是Windows首先运行的内容,当这个程序开始时,它将会把主窗口放在屏幕上。C或C++是从main()主函数开始执行,而VC++是从WinMain()函数开始执行,且WinMain()函数就是隐含在此应用程序中

2、 CMainFrm.h (cpp)主框架类

CMainFrm的基类是CFrameWnd,该类是显示主窗口,是我们找到菜单栏、窗口的标题栏以及工具栏的地方,主窗口对象负责窗口中出现的、围绕 *** 作领域的一切,如:图画、文本和其它图形,这个区域称为窗口中的客户区。它用于管理应用程序窗口显示如:标题栏、菜单栏、工具栏、状态栏、控制菜单、控制按钮等,它是所有MDI(多文档)和SDI(单文档)子窗口的包容器。

3、 文件名View.h (cpp)视图类

CMyView的基类是CView,处理客户区,是我们在程序中设置数据格式及显示数据的位置,如我们在创建一个字处理程序时正在编辑的文本,事实上,视图对象是出现在客户区顶部的窗口本身,用于让用户通过窗口来访问文档、视图类。

4、 CMyDoc.h (cpp)文档类

CMyDoc.h (cpp)的基类是CDocument,为程序存储数据,将所有数据存在文档中,而在视图对象中处理并显示。它包含了应用程序在运行期间所用到的数据文档。

什么是调用对话框?是否只是显示?

如果是显示的话有两种办法了:

1。把对话框类从dll中导出。

2。从dll中导出函数,在该函数中显示对话框。

因为对话框涉及资源句柄等模块状态的切换,所以一般采用第二种。第二种只需要在导出的函数中增加: AFX_MANAGE_STATE(AfxGetStaticModuleState()) ,而第一种需要将对话框类的每个用到资源的成员函数都加上这句话。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7999499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存