上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
  2013年7月14日
摘要: pDC->SetMapMode(MM_ANISOTROPIC ); //首先选择MM_ANISOTROPIC映射模式,其它映射模式都不合适 pDC->SetWindowExt( max(abs(rMH.Xmax),abs( rMH.Xmin)), max(abs(rMH.Ymax),abs(rMH.Ymin))); //都以绝对值中较大的为参考 pDC->SetViewportExt( rClient.right/2, -rClient.bottom/2); //与客户区的一半对应,方向可选 pDC->SetViewportOrg( rClient.... 阅读全文
posted @ 2013-07-14 16:43 毋忆典藏 阅读(248) 评论(0) 推荐(0)
  2013年7月5日
摘要: 这两天在写一个程序,需要将二进制文件中的数据以指定结构读入内存,说明文档中有提到大端序和小端序(Big Endian or Little Endian) 的概念,就找了一下字节顺序重置的算法,在一篇名为“如何将一个长整型的高低字节调换?”的帖子里找到如下代码备忘,短短几行而已:#include void SwapLong(DWORD& Val) { BYTE* pb = (BYTE*)&Val; swap(pb[0], pb[3]); swap(pb[1], pb[2]); } 类似的还有在百度百科找了解到“algorithm”的词条,功能类似,回头浏览一下相关算... 阅读全文
posted @ 2013-07-05 22:39 毋忆典藏 阅读(330) 评论(0) 推荐(0)
  2013年6月20日
摘要: 以下内容是一个视频的学习笔记《Flex4视频教程》,所以,先关记录也是以现在的Flash Builder为基础。<fx:Script/> 是脚本文件的声明var代表数值,声明一个int变量形式如下:private var i:int = 1;trace 表示输出is判断某个变量是不是某种类型as类型转换,例如int转换为numbercreationComplete是一个事件,可以将一个函数赋值给它,函数会自动完成在MXML中,数组Array不像C++那样还有数据类型的限制,它本身是一个数据类型,而且可以直接在trace中使用数组名输出全部数组的内容,而且数组当中可以由不同类型元素组 阅读全文
posted @ 2013-06-20 21:57 毋忆典藏 阅读(689) 评论(0) 推荐(0)
  2013年6月18日
摘要: VC++6.0入门→精讲2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完)。2013.06.16 第三章的“实验”、“自测题”、“小结”和“第11页的3.1.3应用程序举例”部分没看2013.06.17 第四章的“实验”、“自测题”、“小结”没看第一章 VC++6.0开发环境² 第4页“1.1.2应用程序向导AppWizard”之前的内容很容易,无需再看² 第5页对“消息映射”的概念定义、及Message Maps的各个部分的功能讲解的非常清晰,寥寥几句而已² 第5页的底部有这么一句话:“单击“Add Var 阅读全文
posted @ 2013-06-18 21:00 毋忆典藏 阅读(648) 评论(1) 推荐(0)
  2013年6月13日
摘要: 映射模式被定义为从“窗口”(window)(逻辑坐标)到“视口”(viewport)(设备坐标)的映射。 Windows对所有消息(例如WM_MOVE、WM_SIZE和WM_MOUSEMOVE),所有的非GDI函数,甚至一些GDI函数,都继续使用设备坐标。可以按这种方式考虑:映射模式是设备环境的一种属性,因此,只有当使用以设备环境句柄作为参数的GDI函数时,映射模式才会生效。 Windows会把在GDI函数中指定的逻辑坐标转换为设备坐标。 Windows通常使用三种坐标系统:“屏幕坐标”、“全窗口坐标”、“客户区坐标”,在所有的设备坐标系统中,单位都是一像素的形式表示的。 视口是以... 阅读全文
posted @ 2013-06-13 14:07 毋忆典藏 阅读(318) 评论(0) 推荐(0)
  2013年6月12日
摘要: x = cxChar * (1 - iHorzPos) ;这行代码起初理解不了,不明白为什么要用“1 - iHorzPos”,其实调整一下顺序更容易理解;x = cxChar * ( - iHorzPos + 1) ;也就是说iHorzPos取负值然后再加1,取负值的原因其实是一个逻辑问题:它是与客... 阅读全文
posted @ 2013-06-12 21:56 毋忆典藏 阅读(165) 评论(0) 推荐(0)
  2013年6月10日
摘要: 第一种情况:是将一个变量限制在一个合理的范围之内,例如有些变量必须大于0,而且必须小于某个最大值,不然没有意义。 以下面一行代码为例:iFont = max (0, min (cFonts - 1, iFont)) ;上段代码的参考背景:SetScrollRange (hwnd, SB_VERT, 0, cFonts - 1, TRUE) ;因为程序中对iFonts有加减运算,所以,计算过程中它就可能变为负值或者大于cFonts,但在滚动条的位置中,是从0到cFonts - 1这个范围,所以,首先使用min在iFont和cFonts中选择小的,再使用max在0和min结果中选择大的,即正的值. 阅读全文
posted @ 2013-06-10 17:22 毋忆典藏 阅读(315) 评论(0) 推荐(0)
摘要: 函数名作用索引ScrollWindow滚动窗口客户区的内容98页,MSDN中和滚动条函数在一起 阅读全文
posted @ 2013-06-10 15:03 毋忆典藏 阅读(127) 评论(0) 推荐(0)
  2013年6月9日
摘要: VC++、MFC入门是有一定难度的,即便看完《Windows程序设计》,新建一个MFC单文档程序后,即便满是知识却无法下手,不知道该添加到哪里才行,因为它们使用了一些彼此并不通用的概念和操作方式,将一些对应关系记录如下,以备后用。《Windows程序设计》VC++备注窗口过程WndProcMessage Maps的一部分窗口如何对用户的输入等做出响应,在窗口过程中一目了然,但在VC++中,就得使用ClassWizard中的Message Maps,在其中的Message列表框中,可以对需要响应的消息添加函数 阅读全文
posted @ 2013-06-09 17:06 毋忆典藏 阅读(156) 评论(0) 推荐(0)
  2013年6月8日
摘要: 在《C++ Primer》中搜索“屏蔽”,会搜索到在不同作用域中声明或定义同名函数或变量的一些常见问题和规则,诸如:“在函数内定义一个与函数可能会用到的全局变量同名的局部变量总是不好的。局部变量最好使用不同的名字。”“。 在函数中局部声明的名字将屏蔽在全局作用域(第 2.3.6 节)内声明的同名名字。这个关于变量名字的性质对于函数名同样成立”“一般的作用域规则同样适用于重载函数名。如果局部地声明一个函数,则该函数将屏蔽而不是重载在外层作用域中声明的同名函数。由此推论,每一个版本的重载函数都应在同一个作用域中声明。一般来说,局部地声明函数是一种不明智的选择。函数的声明应放在头文件中。”等等 阅读全文
posted @ 2013-06-08 13:37 毋忆典藏 阅读(226) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页