请问我使用MFC调用了list显示文字,但是在程序运行中对话框没有显示
答案:2 悬赏:10 手机版
解决时间 2021-02-05 05:02
- 提问者网友:凉末
- 2021-02-04 20:55
除非调用AfxMessageBox,对话框里的list才能正常显示文字、如果不调用AfxMessageBox,对话框好像阻塞了一样,卡着不动
最佳答案
- 五星知识达人网友:鸠书
- 2021-02-04 22:01
能不能看看你的list的代码
全部回答
- 1楼网友:摆渡翁
- 2021-02-04 22:22
1. 在资源视图中用insert插入另一个对话框,在class vizard中新建一个类,名字为dilg2,
2. 在类视图中找到globle 下的cdilg1app函数中加入头文件#include "dilg2.h",
3. 找到app中的bool cdlg1app::initinstance()函数:并加入一下代码“
bool cdilg1app::initinstance()
{
dilg2 dlg2;
dlg2.domodal();
// 如果一个运行在windows xp 上的应用程序清单指定要
// 使用comctl32.dll 版本6 或更高版本来启用可视化方式,
//则需要initcommoncontrolsex()。否则,将无法创建窗口。
initcommoncontrolsex initctrls;
initctrls.dwsize = sizeof(initctrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
initctrls.dwicc = icc_win95_classes;
initcommoncontrolsex(&initctrls);
cwinapp::initinstance();
afxenablecontrolcontainer();
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// todo: 应适当修改该字符串,
// 例如修改为公司或组织名
setregistrykey(_t("应用程序向导生成的本地应用程序"));
cdilg1dlg dlg;
m_pmainwnd = &dlg;
int_ptr nresponse = dlg.domodal();
if (nresponse == idok)
{
// todo: 在此放置处理何时用
// “确定”来关闭对话框的代码
}
else if (nresponse == idcancel)
{
// todo: 在此放置处理何时用
// “取消”来关闭对话框的代码
}
// 由于对话框已关闭,所以将返回false 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return false;
}
4.实际上只在实现代码加了:dilg2 dlg2;
dlg2.domodal();这两句
5.至此,按f5键运行工程,我们将看到先打开的对话框为dlg2,这样就会在程序运行时自动显示对话框2
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯