MFC 对话框不显示,返回-1 原因

时间:2022-08-13 23:09:17

DoModal失败原因

1、MFC

通常对话框不显示的原因有

1 父窗口HWND无效

2 在ONINITDIALOG里用了ENDDIALOG

3 无效的对话框资源ID

4 使用没有注册的的自定义控件

5 对话框的某些控件创建失败,如RICHEDIT,要加上AfxInitRichEdit(); (我就是这个原因,加了richedit控件,没有调用这个函数

最有可能出现的是第3条,因此,又经过仔细分析了对话框中的各个资源的ID,终于找到了问题,原来是出在一个菜单栏的ID上面, 在对话框的属性的菜单栏中有一个ID(因为这个对话框是复制过来的,而且原来的对话框有菜单栏的,但是现在这个对话框没有),所以呢,ID虽然存在,但 是,现在的程序中并没有对应的资源,所以,通过讲菜单栏那项设置为空,这样,程序就OK了。

writeFlash依赖于ResZH,在这个已有有工程里面,新建了一个窗口,调用:

int nResponse = dlg.DoModal();后发现返回为-1,
不能弹出显示对话框,后来核对了一下resource.h,本工程里面有两个,对于同一个宏
#define IDD_LOGIN_DIALOG                178
#define IDD_LOGIN_DIALOG                177
两个值不一致。改为一致就可以了。
 
(MFC 资源管理器删除控件是不会更改resource.h的,需要手动删除
 
RichEdit是开发中经常使用到的控件,其版本自1.0起,历经好几年,好几次的更新, 
RichEdit 1.0 功能

基本非Unicode编辑、 剪切/复制/粘贴文件流
    字符/段落格式属性的基本集
    基于消息的接口加OLE接口:IRichEditOle和IRichEditOleCallback
    垂直文本和输入法支持 (仅适用于FE生成)。
    所见即所得的编辑使用打印机标准
    不同版本不同的脚本
    常用控件通知再加上一些新的
    纯文本和rtf格式文件
    为Windows画笔的使用启用笔和理解的手势

RichEdit 2.0 添加

Unicode内部+能够读写使用代码页
    国际线断算法
    向上/向下查找。麦哲伦鼠标支持。
    多级撤消
    双向(2.1版)和FE支持包括水平的2/3输入法,双字体、键盘链接、智能字体应用
    自动超链接识别。Word用户界面
    简单的/丰富的、 单行/多行、 可扩展的架构
    密码和加速器控制选项
    无窗口接口(ITextHost/ITextServices)
    更好地显示(混合的字体使用离屏位图)、系统选择颜色、透明度的支持
    TOM(文本对象模型)双重接口
    字符格式增加包括背景颜色,区域设置 ID,下划线类型,上标/下标。
    段落格式设置增加包括前/后的间距、 行间距。
    来回所有Word格式字体/段落属性对话框
    大量的代码稳定,测试,性能提高

 

在MFC中使用RichEdit2,须先调用::AfxInitRichEdit();初始化RichEdit2控件。

可以在xxxApp::InitInstance()应用初始化时加载调用::AfxInitRichEdit2()函数!!!

MFC 万能的类向导

在项目上点右键【类向导】

MFC 对话框不显示,返回-1 原因

MFC 对话框不显示,返回-1 原因

MFC 对话框不显示,返回-1 原因

MFC 对话框不显示,返回-1 原因

MFC 对话框不显示,返回-1 原因

参考:

https://blog.csdn.net/bookish_2010_prj/article/details/5535757

MFC 对话框不显示,返回-1 原因的更多相关文章

  1. MFC对话框中显示BMP,JPG图片

    //************************************ // 方法说明:    显示JPG和GIF.BMP图片 // 参数说明:    CDC * pDC           设 ...

  2. MFC对话框中显示背景图片

    在MFC对话框中显示图片,四个步骤. 1.首先得在VC6.0或者VS2008(其他版本也是一样)中导入GDI文件.(网上下载:) GDI含义是图形设备接口,主要任务是负责系统与绘图程序之间的信息交换, ...

  3. VS2010/MFC对话框:非模态对话框的创建及显示

    非模态对话框的创建及显示 上一节讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示. 已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切 ...

  4. mfc对话框启动就直接隐藏在右下角显示托盘图标

    之前在网络上找了一份mfc对话框启动就直接隐藏窗体,在右下角显示托盘图标的demo 在win7下可以正常使用,但在win10上直接溢出,导致计算机跟注销似的崩溃现象. 后来找到原因是因为在OnInit ...

  5. 在c++MFC下用PCL显示操作点云文件 MFC对话框显示操作PCL点云

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/13115873.html 第一步 下载PCL库  我的版本是1.8.1的 你都要MFC下跑PCL ...

  6. MFC对话框显示BMP图片

    1.MFC对话框显示BMP图片我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) ...

  7. VS2010/MFC对话框:一般属性页对话框的创建及显示

    一般属性页对话框的创建及显示 本节将介绍一般属性页对话框的创建和显示. 实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的.鸡啄米将上一节中的向导对话框进行少量修改,使其成为一般属性页对话 ...

  8. MFC对话框

    创建对话框步骤: 第一,创建对话框资源,主要包括创建新的对话框模板.设置对话框属性和为对话框添加各种控件: 第二,生成对话框类,主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 创建对话框类 ...

  9. [MFC] 对话框菜单项Menu选中打勾(单选,多选)

    近期需要实现一个功能:MFC对话框中,一项菜单下有五个菜单项,改变菜单项选中状态,每次只能选择其中一个打勾.(单选) 然后在网上搜了下资料,稍微总结下,以防后面用到. 1.单选实现: CMenu* m ...

随机推荐

  1. Goals100

    Start:2016.4.10 100天目标:jy_ai学习.swift.设计模式        以10天为周期,开始周会,执行内容:自我检讨本周期,并展望下一个周期:目标一:寻找高效方法.1.思考, ...

  2. HDOJ 1032(POJ 1207) The 3n + 1 problem

    Description Problems in Computer Science are often classified as belonging to a certain class of pro ...

  3. javascript学习(知识点整理)

    有了这个代码,就可以在定义 中增加更多的控制了 后面会举例关于extjs定义的更多控制     此种方案可以解决定义时需要一些函数调用的情况 函数作用域和声明提前: 即由于js是解释性语言,在执行前会 ...

  4. Hive 10、Hive的UDF、UDAF、UDTF

    Hive自定义函数包括三种UDF.UDAF.UDTF UDF(User-Defined-Function) 一进一出 UDAF(User- Defined Aggregation Funcation) ...

  5. 本地Fiddler传递XML格式数据,调试微信功能。

    一,调试关注和取消关注 User-Agent: Fiddler Host: localhost:4561Content-Type: application/json; charset=utf-8 Co ...

  6. JS调用函数时候加括号与只写函数名字的区别 fn与fn()的区别

    经常见插件里面函数调用的时候只写个函数名字,不写函数参数,甚至连括号也不写,比如说: <!DOCTYPE html> <html> <head> <meta ...

  7. Oracle EBS OPM convert dtl reservation

    --convert_dtl_reservation --created by jenrry DECLARE l_reservation_rec mtl_reservations%ROWTYPE; l_ ...

  8. linux 查找php&period;ini在那个文件夹

    第一种方法:通过phpinfo查看 第二种方法: 执行 php -i | grep php.ini 结果如下:

  9. mysql分表,批量生成数据

    一.mysql的分表策略 根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉: 1,水平分割: 水平(横向)拆分:将同一个表的数据进行分块保存到不同的 ...

  10. dump调试函数

    //dump调试函数if (!function_exists('dump')) { /* * dump调试函数 */ function dump($var) { $traces = debug_bac ...