随笔分类 -  C++&VC

重操旧业咯!
摘要:0xcdcdcdcd - Created but not initialised0xdddddddd - Deleted0xfeeefeee - Freed memory set by NT's heap manager0xcccccccc - Uninitialized locals in VC6 when you compile w/ /GZ0xabababab - Memory following a block allocated by LocalAlloc() 阅读全文
posted @ 2013-05-31 17:57 健忘猪 阅读(698) 评论(0) 推荐(0)
摘要:COM——到底是什么?——COM标准的要点介绍,它被设计用来解决什么问题?基本元素的定义——COM术语以及这些术语的含义。 使用和处理COM对象——如何创建、使用和销毁COM对象。基本接口——描述IUnknown基本接口及其方法。 掌握串的处理——在COM代码中如何处理串。应用COM技术——例子代码,举例说明本文所讨论的所有概念。 处理HRESULT——HRESULT类型描述,如何监测错误及成功代码。COM——到底是什么? 简单地说,COM是一种跨应用和语言共享二进制代码的方法。与C++不同,它提倡源代码重用。ATL便是一个很好的例证。源码级重用虽然好,但只能用于C++。它还带来了名字冲突的可 阅读全文
posted @ 2012-12-19 11:40 健忘猪 阅读(10815) 评论(0) 推荐(1)
摘要:今天,button在文本对齐的基础上增加文本偏移让文本位置更精准;1 <!--颜色背景的按钮-->2 <style name="btncolor1">3 <att name="bgmode" value="0"/>4 <att name="bgcolor" value="FFFF0000"/>5 <att name="bghovercolor" value="FF00FF00"/>6 <at 阅读全文
posted @ 2012-12-18 02:12 健忘猪 阅读(574) 评论(0) 推荐(0)
摘要:不多说,上个图和xml说明问题:上图是5个按钮,文字分别使用了左对齐,上对齐,下对齐,右对齐,中对齐,具体看xml配置: 1 <!--背景贴图的panel--> 2 <style name="panel"> 3 <att name="bgmode" value="2"/> 4 <att name="bgimg" value="panelbg.png"/> 5 <att name="bgstretch" value=&quo 阅读全文
posted @ 2012-12-16 03:19 健忘猪 阅读(491) 评论(0) 推荐(0)
摘要:xml文件共5个:animation.xml(暂不做解释) dialog.xml stringtable.xml style.xml testbutton.xmlstyle引用,stringtable引用的内容和关系大致如下:1 <panel name="testbutton" pos="5,-105,-5,-5" style="panel">2 <button name="colorbtn1" pos="5,4,45,35" txt="STR|colorbtn1&q 阅读全文
posted @ 2012-12-14 17:23 健忘猪 阅读(507) 评论(0) 推荐(0)
摘要:懒得打字了上图:分别演示了纯色,纯色禁用,四态图片背景,九宫格背景,图片背景禁用效果;按钮的演示都在textbutton.xml中配置,下面是textbutton.xml的内容:1 <panel name="testbutton" pos="5,-105,-5,-5" bgmode="2" bgimg="panelbg.png" bgstretch="5,5,5,5" fcolor="FF000000">2 <button name="colorb 阅读全文
posted @ 2012-12-14 02:28 健忘猪 阅读(472) 评论(0) 推荐(0)
摘要:GetLevelDesc函数在MSDN中:Retrieves a level description of a texture resource.HRESULT GetLevelDesc( UINT Level, D3DSURFACE_DESC * pDesc);ParametersLevel[in] Identifies a level of the texture resource. This method returns asurface description for the level specified by this parameter.pDesc[out] Pointer to 阅读全文
posted @ 2012-12-13 19:04 健忘猪 阅读(604) 评论(0) 推荐(0)
摘要:把背景图元设定为Wnd基类的成员主要是为了所有控件配置背景方便(基本所有的控件都是有背景的); 下面是读取背景配置的示例代码: ATT_STRING(ATT_BG_IMG, m_strBgImg) ATT_COLOR(ATT_BG_COLOR, m_dwBgColor) ATT_CUSTOM(ATT_BG_MODE, OnSetBgMode) ATT_CUSTOM(ATT_BG_STRETCH, OnSetBgStretch) 背景支持三种方式,纯色、单张背景图,九宫格拉伸的背景图; 通过给wnd基类设定一个colorblo... 阅读全文
posted @ 2012-12-13 02:53 健忘猪 阅读(392) 评论(0) 推荐(0)
摘要:这两天整理了下texture图元的功能,发现在作为背景绘制的时候,在ui的继承体系中有着至关重要的作用: 在wnd基类中,背景既可以是纯色的,也可以是纹理填充的,纹理作为背景的还需要支持单张图片或者多态图片又或者九宫格的背景再或者是多态的九宫格,另外纯色或者纹理的背景都还可以增加diffuse; 时间原因,今天就先将texture实现到可以支持单张,多态,九宫格,以及多态的九宫格...class IRenderTexture{public: /* *@brief 通过文件名来获取纹理 *@param LPCTSTR pszFile 纹理的文件名 内部是从texture manag... 阅读全文
posted @ 2012-12-11 03:32 健忘猪 阅读(502) 评论(0) 推荐(0)
摘要:增加从xml中某一结点初始化窗口功能:支持类似下面这种结构的xml文档,<dialog name="dialog_nouse" /><dialog name="dialog_panel" width="512" height="512" minw="512" minh="512" bgmode="2" stretch="24,24,24,24" bgimg="bg.png,bg.png"> 。 阅读全文
posted @ 2012-12-09 03:13 健忘猪 阅读(250) 评论(0) 推荐(0)
摘要:懒得打字了,发个图看一下吧目前实现的功能有,xml配置,d3d绘制,简单的3d动画,窗口旋转和双面渲染,九宫格背景贴图,完全自绘的输入框,static,button,progress,listview,简单的粒子系统实现的音乐频谱显示;下一步要先实现xml的引用支持,和style样式表;以后xml中只有布局和控件定义,所有控件的样式都应该在样式表中定义,以方便公用样式; 阅读全文
posted @ 2012-12-06 18:05 健忘猪 阅读(401) 评论(0) 推荐(0)
摘要:今天做个记录,要实现的ui库的功能,可能没有列全,后面再做补充:XML配置皮肤XML引用D3D渲染 九宫格背景(窗口控件都支持)异形窗口半透明窗口窗口阴影皮肤压缩打包样式(独立的样式定义文件,支持更换样式)换肤(支持更换皮肤)动画三位矩阵变换,二维坐标变换,透明渐变动画,特效动画,独立的动画配置文件)拖拽多点触控taborder控件:dialogstaticbuttoncheck(group)radio (group)listviewiconviewtooltiptexttabpanelprogressmenusplitpicture 阅读全文
posted @ 2012-12-06 17:36 健忘猪 阅读(334) 评论(0) 推荐(0)
摘要://截图INT CAnimationHelper::_GetScreenShotData( HWND hWnd, LPRECT rcShot, BYTE ** ppBuf ) { //截图 HDC hDcWnd = NULL; if (hWnd) { hDcWnd = ::GetDC(hWnd); } else { HWND hWndDesk = ::GetDesktopWindow(); hDcWnd = ::GetDC(hWndDesk); } WORD nBitPerPixel = (WORD)::GetDeviceCaps(hDcWnd, BITSPIXEL); INT nWidth 阅读全文
posted @ 2012-12-06 00:40 健忘猪 阅读(795) 评论(0) 推荐(0)
摘要:1BOOLRegisterOcx(LPCTSTROcxFileName)2{3LPCTSTRpszDllName=OcxFileName;//ActiveX控件的路径及文件名4HINSTANCEhLib=LoadLibrary(pszDllName);//装载ActiveX控件5if(hLib<(HINSTANCE)HINSTANCE_ERROR)6{7returnFALSE;8}9FARP... 阅读全文
posted @ 2007-12-20 16:01 健忘猪 阅读(1078) 评论(0) 推荐(0)
摘要:--------------------------------------------------------------------------------Requirement:1.创建myCom.dll,该COM只有一个组件,两个接口IGetRes--方法Hello(), IGetResEx--方法HelloEx()2.在工程中导入组件或类型库 #import "组件所在目录myCom.d... 阅读全文
posted @ 2007-11-12 19:25 健忘猪 阅读(9583) 评论(1) 推荐(0)
摘要:short vartoi(const _variant_t& var) { short value = 0; switch (var.vt) { case VT_BOOL: value = var.boolVal; break; case VT_UI1: case VT_I1: value = var.bVal; break; case VT_I2: case... 阅读全文
posted @ 2007-11-12 13:58 健忘猪 阅读(2916) 评论(0) 推荐(0)
摘要:灵活自由是C语言的一大特色,但这个特色也难以避免的带来一些副作用,比如内存泄露。众所周知,内存泄露的问题比较复杂,程序正常运行时你看不出它有任何异常,但长时间运行或在特定条件下特定操作重复多次时,它才暴露出来。所以,内存泄露往往是难以发现,也难以定位解决的。Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具,用户可从http://www.cod... 阅读全文
posted @ 2007-11-08 09:51 健忘猪 阅读(8538) 评论(0) 推荐(2)
摘要:keycode 0 =keycode 1 =keycode 2 =keycode 3 =keycode 4 =keycode 5 =keycode 6 =keycode 7 =keycode 8 = BackSpace BackSpacekeycode 9 = Tab Tabkeycode10 =keycode11 =keycode12 = Clearkeycode13 = Enterkeycod... 阅读全文
posted @ 2007-10-05 01:25 健忘猪 阅读(7007) 评论(1) 推荐(0)
摘要:文章标题 基于高度图的三维地形生成算法入门篇 —— 均匀网格地形生成算法 来源: [ ogdev ] 浏览: [759] 赵 刚 引言 在三维游戏等建立的虚拟世界中要求虚拟场景具有很高的逼真度,其中的三维地形逼真度是关键之一。然而三维地形的生成和绘制需要巨大的计算量,实景地形的生成还需要地形数据库的支持,在运算能力非常有限的PC机中实时生成逼真的实景三维地形一直是业界的一个难题。三维地形的生成方法... 阅读全文
posted @ 2007-10-04 22:57 健忘猪 阅读(1413) 评论(0) 推荐(0)
摘要:栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。大块的内存申请在堆中进行,如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 阅读全文
posted @ 2007-09-25 14:54 健忘猪 阅读(500) 评论(0) 推荐(0)