MFC Initinstance中DoModal()返回-1】的更多相关文章

新建一个基于对话框的MFC应用程序,在App的Initinstance中调用对话框DoModal()来显示对话框,这是框架的内容,应用程序框架生成的全部是正常的. 当把我对话框的资源文件提取到一个资源dll中(参见文章:http://www.cnblogs.com/MakeView660/p/6045949.html)去时,对话框无法打开了,DoModal()返回值为-1 解决方法:把m_pMainWnd = &dlg删掉 原因:用该成员变量m_pMainWnd 去存储你的线程主窗口对象.当和m…
//************************************ // 方法说明:    显示JPG和GIF.BMP图片 // 参数说明:    CDC * pDC           设备环境对象 // 参数说明:    CString strPath     要显示的图片路径 // 参数说明:    int x               要显示的X位置 // 参数说明:    int y               要显示的Y位置 // 返回值:      BOOL      …
<MFC dialog中加入OpenGL窗体> 最近学习了如何在MFC对话框程序中加入OpenGL窗体的方法,在这里将自己的实现过程归纳一下. 步骤零: 加入PictureControl控件 新建MFC对话框程序,删除对话框上的按钮控件的Label控件,然后向窗体添加PictureControl控件,作为绘制的窗体. 将该控件的ID设置为:IDC_RENDER 步骤一: 加入OpenGL的lib文件和头文件 在项目上单击右键,添加OpenGL的lib文件,freeglut_static.lib…
现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题.这里我们从Win32   DLL和MFC   DLL两个方面来分析并解决这个问题.           1.Win32   DLL               在Win32   DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件.然后使用DialogBox或者CreateDialog这两个函数(或相同作用的其它函数)来创建对话框,并定义…
[前言] 把Cocos2dx渲染到另一个应用程序框架中的方法,在2.x时代有很多大神已经实现了,而3.x的做法网上几乎找不着.这两天抽空强行折腾了一下,不敢独享,贴出来供大家参考. [已知存在的问题] 程序退出时会发生非常严重的内存泄漏,博主检查了很久,但技术不够暂时无法解决.如果有大神能搞定,求告知一下做法,谢谢! 在程序从开始运行到关闭期间,有且仅有一个cocos2dx窗体存在时可以选择性无视内存泄漏.如果非常在意这一点,建议使用cocos2d-x 2.2.6这个版本,放在MFC中的内存泄漏…
在MFC对话框中显示图片,四个步骤. 1.首先得在VC6.0或者VS2008(其他版本也是一样)中导入GDI文件.(网上下载:) GDI含义是图形设备接口,主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出. 分别将include文件夹和lib中的头文件全部添加到你的开发环境中的include或lib文件夹中.如:F:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include. 将gdiplus.dll导入…
最近项目中使用到MFC,由于工程是DLL的,在使用ToolTip时碰到非模态对话框无法显示的问题.查了一番资料,发现原因是由于:虽然MFC Regular DLL派生了CWinApp类,并有一个theApp全局对象.但它不包含CWinApp::Run机制,主消息由exe负责接收.分发,导致DLL的PreTranslateMessage不生效.参考资料:https://www.cnblogs.com/hanford/p/6177904.html#_Toc425102281 第2.5 PreTran…
MFC对话框中使用CHtmlEditCtrl 感谢原帖作者: http://blog.csdn.net/tingya/article/details/2028172 我在VS2008校正了一些代码. 最近由于项目需要,需要在对话框中使用CHtmlEditCtrl控件,网上大部分的代码都是直接使用CHtmlEditView的,很少有CHtmlEditCtrl在对话框中使用的示例.网上有一个<动态表情的>,代码中存在bug,因此给出了可以编译运行的代码: (1).由于CHtmlEditCtrl的构…
1.try块中没有抛出异常,try.catch和finally块中都有return语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static int NoException(){          int i=10;          try{            System.out.println("i in try block is:"+i);            return --i;          }        …
其实这篇文章说的很明白了:http://dev.gameres.com/Program/Other/DebugMacro.htm 结论如下: 1.ASSERT()测试它的参数,若参数为0,则中断执行并打印一段说明消息:非0什么事儿都不做.在 Release 版本的程序中它不起任何作用.    2.VERIFY()和 ASSERT()很相似,区别在于在 Release 版本中它仍然有效,但只计算参数值,不输出诊断信息.    ASSERT()使用的时候必须保证参数表达式中不能有函数调用(译者注:A…