强行在MFC窗体中渲染Cocos2d-x 3.6】的更多相关文章

[前言] 把Cocos2dx渲染到另一个应用程序框架中的方法,在2.x时代有很多大神已经实现了,而3.x的做法网上几乎找不着.这两天抽空强行折腾了一下,不敢独享,贴出来供大家参考. [已知存在的问题] 程序退出时会发生非常严重的内存泄漏,博主检查了很久,但技术不够暂时无法解决.如果有大神能搞定,求告知一下做法,谢谢! 在程序从开始运行到关闭期间,有且仅有一个cocos2dx窗体存在时可以选择性无视内存泄漏.如果非常在意这一点,建议使用cocos2d-x 2.2.6这个版本,放在MFC中的内存泄漏…
[前言] 上一篇讲了怎么把Cocos2d-x 3.6渲染进MFC窗体,这里来讲一下怎么在C# Winform中做到同样的功能.如果你不熟悉MFC的使用但对C# Winform比较在行,请往下看. 这一篇是作为上一篇的副属文,所以文中提到的部分操作需要在上一篇中找……博主懒逼不在这复制粘贴了. [核心思想] 同上一章不同的是,C#是托管环境,并不能直接用“对象.方法()”这样的形式来访问Cocos层的代码.我们需要在其间建立一个DLL层(C++编写)作为Cocos层的接口,让C#通过接口来控制Co…
<MFC dialog中加入OpenGL窗体> 最近学习了如何在MFC对话框程序中加入OpenGL窗体的方法,在这里将自己的实现过程归纳一下. 步骤零: 加入PictureControl控件 新建MFC对话框程序,删除对话框上的按钮控件的Label控件,然后向窗体添加PictureControl控件,作为绘制的窗体. 将该控件的ID设置为:IDC_RENDER 步骤一: 加入OpenGL的lib文件和头文件 在项目上单击右键,添加OpenGL的lib文件,freeglut_static.lib…
在编写复杂程序的过程中,我们经常需要将一些信息输出到文件或者屏幕上.较控制台应用程序,MFC窗体程序要显得麻烦一些! 下面有2种方法来实现为MFC窗体程序添加调试控制台,方便程序员调试程序和了解当前程序的运行状态. 重要Windows API:AllocConsole();   //创建Console窗口 FreeConsole();     //销毁Console窗口 (1)启动控制台窗口 需要包含的头文件 #include <io.h> #include <cstdio> #i…
其中的一个方法是讲子窗体设置为非模式对话框,具体操作为 :设置子窗体的border属性为none,style为 child. 在父窗体中需要用create来实现,具体例子如下. 在父窗体的OnInitDialog()函数中添加如下代码:     CPage *m_page = new CPage();// CPage 是子窗体所关联的类名.     m_page->Create(IDD_XXX,this); // 通过create方法来创建一个子窗体.其中IDD_XXX是子窗体的ID号.   …
引言 我们知道,在MFC框架中,用于绘图的接口是GDI.但GDI只能绘制简单的2D图形,要想制作精美的3D图形,一个可行的办法是使用OpenGL或者Direct3D等第三方库. 由于最近在给导师的一个小项目帮忙,而且要求使用OpenGL,所以我特地在网上搜索“如何在MFC框架中使用OpenGL”,看了很多博文,甚至论文(居然还有人把这个写成论文)后,自己又到VS2012上尝试了一番,最终摸索出了最最简单基本的使用方法,故总结在这里.一方面开启自己在博客园的学习和自省之路,另一方面也为需要的朋友提…
系列目录    [已更新最新开发文章,点击查看详细]  WPF底层使用 DirectX 进行图形渲染.DirectX  能理解可由显卡直接渲染的高层元素,如纹理和渐变,所以 DirectX 效率更高.而 GDI/GDI+不理解这些高层元素,因此必须将他们转换成逐像素指令,而通过现代显卡渲染这些指令更慢.WinForm 的绘图技术使用的就是GDI/GDI+技术.但是xBIM并没有提供专门针对传统 WinForm 技术的的模型查看器.如果确实需要在传统的 WinForm 窗体中也要加载并显示BIM(…
转载自 http://www.cnblogs.com/shuang121/archive/2013/01/09/2853591.html 我们来新建一个用户控件UserControl1.xaml <UserControl x:Class="WpfApplicationDemo.Control.UserControl1"              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentatio…
由于之前没有操作过xml文件,尤其是在窗体中操作xml,脑子一直转不动,而且很抵制去做这个功能,终于还是突破了自己通过查询资料完成了这个功能,在此记录一下自己的成果. 功能说明:程序中存在的xml文件,然后通过选择的日历中的某一天去匹配xml文件中是否存在这一天,如果存在则删除xml中的数据,如果不存在添加一条数据. 代码说明: private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)       …
以下例子是将Word打开,然后将它嵌入到winform窗体中,效果如下图:C将exe运行程序嵌入到自己的winform窗体中 - kingmax_res - iSport注意:该方法只适用于com的exe(如word,Excel之类),.net的编的exe就不能用这用方法嵌入到窗体中. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Syst…
winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始化方法.如: public void reLoad_method() { //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新 } fuForm中打开ziForm时需要设置所有者,就是ziForm的所有者是fuForm,代码如下: ziForm _ziForm =…
MFC对话框中使用CHtmlEditCtrl 感谢原帖作者: http://blog.csdn.net/tingya/article/details/2028172 我在VS2008校正了一些代码. 最近由于项目需要,需要在对话框中使用CHtmlEditCtrl控件,网上大部分的代码都是直接使用CHtmlEditView的,很少有CHtmlEditCtrl在对话框中使用的示例.网上有一个<动态表情的>,代码中存在bug,因此给出了可以编译运行的代码: (1).由于CHtmlEditCtrl的构…
//************************************ // 方法说明:    显示JPG和GIF.BMP图片 // 参数说明:    CDC * pDC           设备环境对象 // 参数说明:    CString strPath     要显示的图片路径 // 参数说明:    int x               要显示的X位置 // 参数说明:    int y               要显示的Y位置 // 返回值:      BOOL      …
其实这篇文章说的很明白了:http://dev.gameres.com/Program/Other/DebugMacro.htm 结论如下: 1.ASSERT()测试它的参数,若参数为0,则中断执行并打印一段说明消息:非0什么事儿都不做.在 Release 版本的程序中它不起任何作用.    2.VERIFY()和 ASSERT()很相似,区别在于在 Release 版本中它仍然有效,但只计算参数值,不输出诊断信息.    ASSERT()使用的时候必须保证参数表达式中不能有函数调用(译者注:A…
借助于反射,可获取当前窗体中的所有控件,根据需要设置它们的属性. Font defaultFont = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); //查找所有的控件,设置为同样的字体 IterateControls(this.Controls, typeof(Foundation.WinUI.Misc.Label)); foreach (Control ctrl in grids) { ctrl.Font = def…
创建“漫画插画”的外观和感觉想必一定很有趣吧,但是,获得想要的精确外观有时也会令人相当沮丧,因此了解一些基本原则,创建类似于ZBrush漫画MatCaps的作品很有必要. 若有疑问亦或者想查看具体的视频教程大家可前往:http://www.zbrushcn.com/shili/zbrush-xr-mhch.html 使用2D外观渲染3D对象已经不是什么新鲜事了,今天我们一起来学习如何在ZBrush中渲染漫画角色—Hellboy(地狱男爵)的原创图片. 以下是Hellboy(地狱男爵)建模过程的快…
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能引用WPF控件,怎么可能同样运行在.net Fromework框架下的Winfrom不能运行呢.经过慢慢尝试终于找到一个简单的解决方案,神马反射,神马工厂都是浮云,只需要在Winform项目中引用WPF项目下引用的三个程序集:PresentationCore,PrentationFramework,…
项目需要,在MFC dll中使用了boost thread(<boost/thread.hpp>),LoadLibraryEx的时候出现断言错误,去掉thread库引用后断言消失. 百度google后,在CSDN中找到一个答案,先贴出来: { boost::thread + MFC DLL 問題 基本上這個問題在boost 1.38就有了,只是沒想到更新成boost 1.45後問題還是沒有解決...  如果是使用MFC开发程序 ,又剛好建立的MFC DLL工程中有使用boost::thread…
1.         自定义控件 在UserControl标记中 <UserControl KeyboardNavigation.ControlTabNavigation="Local" IsTabStop="False"> KeyboardNavigation.ControlTabNavigation="Local" 设置焦点导航的方式,local可以把自定义控件中的子控件当做是引用窗体中的同级控件一样对待. IsTabStop=&…
CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论. 为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.h只有由cpp为扩…
现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题.这里我们从Win32   DLL和MFC   DLL两个方面来分析并解决这个问题.           1.Win32   DLL               在Win32   DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件.然后使用DialogBox或者CreateDialog这两个函数(或相同作用的其它函数)来创建对话框,并定义…
//当有多个窗体时,对顶层的窗口进行操作,例如:我们开发具有录入功能的界面的时候,为了防止提交后的二次(重复)录入,希望点击提交按钮并提示成功后,界面的所有文本框内容能够自动清空.NET Framework 类库 Form.ActiveMdiChild 属性 获取当前活动的多文档界面 (MDI) 子窗口. 命名空间:System.Windows.Forms 程序集:System.Windows.Forms(在 system.windows.forms.dll 中) 语法:public Form…
//1.数据库链接的基本操作(略) //2.创建对象函数(关键部分) sqlConn.Open(); //初始化定义记录条数 ; object obj = sqlComm.ExecuteScalar();//创建对象(ExecuteScalar()函数是获取所查的记录中的第一行第一列数据.) int.TryParse(obj.ToString(), out n);//获取所查询的记录条数 string a = n.ToString();//将记录条数int类型转成string类型,方能在窗体中显…
Option Explicit ' ******************** 窗体透明 ******************** '***Module.bas '**** Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function…
1.在主窗体(含有serialPort的窗体)中 //先定义委托 public delegate void OpenPort(); public delegate void ClosePort(); //同样在主窗体中实现添加 public void ClosePort()//关闭串口,供委托调用 { try { serialPort1.Close(); } catch (System.Exception) { } } public void OpenPort()//打开串口,供委托调用 { t…
做机房系统时,几乎每个窗体中都会用到判断界面中的控件是否为空的情景.我们曾经是这样走来的: 第一版: 好处:对窗体界面中的Text等控件,逐一做判断,当用户输入某一项为空的时候,会议弹出框的形式,告诉用户,具体是哪一个控件,输入有误. 坏处:首先,界面看起来就很繁琐:其次,浪费了大量的手工工作,代码不具有可复用性:再次,编码的时候,如果控件数目比较多的话,容易忘记其中的某些控件. If (Trim(txtCardID.Text) = "" then'判断卡号是否为空 If Trim(t…
原文地址:http://www.cnblogs.com/08shiyan/archive/2011/04/14/2015758.html /********************** * 课题:将窗体中鼠标所在控件名显示在窗体标题上 * 作者:ZAXX * QQ : 94027486 * 本课题可简单扩展:获取屏幕上鼠标所在位置的窗口句柄与类名 **********************/ using System; using System.Drawing; using System.Wi…
今天的工作中突然用到这个了,不过以前没有接触过呢!不过,在有经验的同事的帮助下,这个问题也很快解决了.具体可以分为以下几种方式: 1.在父窗体中构造子窗体对象时,将父窗体传递过去: 如:FrmSub frm=new FrmSub(this);//this代表父窗体 2.将父窗体中要访问的变量和方法修改为public 3.在子窗体类中定义一个父窗体的全局变量: 如:private dynamic m_parentContainer;//使用dynamic可以动态的识别该变量的类型 4.添加引用Mi…
[前提]一个winform应用程序项目中,窗体B,需要使用 窗体A 中一个TextBox控件的值,进行计算等操作. [解决方案] 1.在窗体A中定义:public static double a;// 如果你的TextBox控件有初始默认值,这里一定要改为public static double a=初始值;否则初始值默认为0 2.在窗体A添加函数: public void textBox1_TextChanged(object sender, System.EventArgs e) { a =…
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID:ID_INDICATOR_NISH 和ID_INDICATOR_TIME,如下图 2. 在该对话框的头文件中添加一个CStatusBar类对象 CStatusBar m_bar; 3. 打开该对话框的cpp文件,并在最顶端添加以下代码: static UINT BASED_CODE indicato…