摘要: 在设备内容中,会保存设备的属性.比如画线的颜色,字体等等.基本上是下面这张表.程序可以任意更改和取得这些属性的值.设备内容属性默认值修改该值的函数取得该值的函数Mapping ModeMM_TEXTSetMapModeGetMapModeWindow Origin(0, 0)SetWindowOrgExOffsetWindowOrgExGetWindowOrgExViewport Origin(0, 0)SetViewportOrgExOffsetViewportOrgExGetViewportOrgExWindow Extents(1, 1)SetWindowExtExSetMapModeS 阅读全文
posted @ 2013-09-15 22:24 SoulReaper 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 取得设备内容句柄: Windows提供了几种取得设备内容句柄的方法。如果在处理一个消息时取得了设备内容句柄,应该在退出窗口函数之前释放它(或者删除它)。一旦释放了句柄,它就不再有效了. 在WM_PAINT消息中:hdc = BeginPaint (hwnd, &ps) ; //其它行程序 EndPaint (hwnd, &ps) ; ps为PAINTSTRUCT的结构体.在这个结构体中有一个RECT的结构体rcPaint定义.它获取一个无效矩形。无效矩形就是此刻需要重绘的区域,也可能是个裁剪区域. hdc传回的是设备内容的句柄. 当BeginPaint成功... 阅读全文
posted @ 2013-09-14 20:59 SoulReaper 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 首先需要解释下GDI:Graphics Device Interface.就是图形设备接口的意思. 那么什么又是图形设备接口呢? 他的意思就是所有关于图形绘制的东西都是和它有关的.我们在显示器上面显示的东西都是和GDI有关的.甚至windows自己绘制滚动条什么的都是用GDI的. GDI的原理: 在windows中,GDI主要是由GDI32.dll这个动态链接库里面的函数实现的. 这些动态链接库呼叫您安装的视讯显示器和任何打印机呼叫驱动程序中的例程。视讯驱动程序存取视讯显示器的硬件,打印机驱动程序将GDI命令转换为各种打印机能够理解的代码或者命令。显然,不同的视讯显示卡和... 阅读全文
posted @ 2013-09-14 20:33 SoulReaper 阅读(877) 评论(0) 推荐(0) 编辑
摘要: 在上一篇中,我们使用老式的做法添加滚动条,他虽然运行良好,但是,效率不高.我们在win32之后有了新式的做法:SetScrollInfo和GetScrollInfo已经可以完成前面的所有功能,并且新添加了两个特性: 1.SetScrollInfo:第一个功能涉及卷动方块的大小。卷动方块大小在上一个博客中的程序中是固定的。然而,在您可能使用到的一些Windows应用程序中,卷动方块大小与在窗口中显示的文件大小成比例。显示的大小称作「页面大小」。算法为: 卷动方块大小/滚动长度=页面大小/范围=显示文件数量/文件总大小. 可以使用SetScrollInfo来设置页面大小(从而设置了卷动方... 阅读全文
posted @ 2013-09-12 10:06 SoulReaper 阅读(1795) 评论(1) 推荐(0) 编辑
摘要: 显示滚动条,只需要在CreateWindow的第三个参数中包括窗口样式(WS)标识符WS_VSCROLL(垂直卷动)和/或WS_HSCROLL(水平卷动)即可这些卷动列通常放在窗口的右部和底部,伸展为显示区域的整个长度或宽度。显示区域不包含卷动列所占据的空间。但是有这些是远远不够滴.1.首先,滚动条是有范围的.在内定情况下,滚动条的范围是从0(顶部或左部)至100(底部或右部)。但是如果要改变,应该这么做.SetScrollRange (hwnd, iBar, iMin, iMax, bRedraw) ;/* 参数iBar为SB_VERT或者SB_HORZ, iMin和iMax分别是范围的.. 阅读全文
posted @ 2013-09-10 22:12 SoulReaper 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 首先.得说明一个真实的情况,我是名大学生,学渣一类.技术不高,绩点不高.就是喜欢瞎捣鼓.如果有什么错误或者是说错了什么话,专业人士勿喷. 之前一直在网易博客混,话说我个人很喜欢网易的...态度或者说是感觉他们用心在做.不论是从游戏,还是社交,或者是等等的一系列的东西,我都很喜欢。最点赞的是他的公开课.但是现在的情况是只是在做翻译,不出新东西了. 为什么来博客园呢.先说说网易的不足吧.对于普通的bloger网易应该是足够了,从模版到文章再到图片都处理的很好.但是对于专门做技术或者是想我这种想做技术的人来说感觉还是有点欠缺.最让我蛋碎的是他的代码插入功能实在是不怎么好用. 还有最重要的一... 阅读全文
posted @ 2013-09-09 14:55 SoulReaper 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 一.题目:设计一个4功能简单ALU: 数据输入信号有2路4bit无符号数输入A=A3—A0,B=B3—B0控制输入信号S1S0决定ALU功能。 S1 S0 功能 0 0 Z=A+B 0 1 Z=A-B 1 0 Z=A∧B 1 1 Z=A∨B 电路输出为Z(4bit)。二.电路图原理: 1.图中共用一个74283(超前进位全加器),4个异或门,4个与门,4个或门,4个4位多路选择器。 2.在B输入进入74283之前,将它与M端进行异或运算,M端连用进位端 C和S0端,根据异或门真值表可知,当M置0时,所有的1输入将被置0,0输入将被置1,此时,传入超前进位全加器的实际上... 阅读全文
posted @ 2013-09-09 14:39 SoulReaper 阅读(2443) 评论(0) 推荐(0) 编辑
摘要: 学习黑客技术的基本环境通过前一课的学习,很多新手朋友说仍然找不到切入点,对黑客技术的学习很茫然,不知道该从何入手,说哪里都不明白,看什么都看不懂,无法入门。也难怪,新手嘛,的确很难入手,有些朋友就是因为前期的学习很吃力才放弃了的。首先我要告诉你们对自己要有绝对的自信,要常对自己说Nothing, so easy,每一个成功的黑客背后有过多少辛酸谁又知道,一个成功的黑客知识面有多广,几乎涉及计算机所有知识,对于初学者,我想应该给自己定一个方向,朝着那个目标慢慢努力,慢慢的超越自己,量的积累才会有质的飞跃,等到成功那刻,你会对自己说,原来就这么简单,你会发现你身边的高手也不过如此,其实我也可以做得 阅读全文
posted @ 2013-09-09 14:36 SoulReaper 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 黑客技术学习方法一 序言看到不少刚入门的新手朋友找不到适合自己的hack学习方法,到处碰壁,不但损伤信心和兴趣,而且也耽误了不少高贵的时间和金钱,做了许多无用功,到头来毫无收获。因此我有必要讲解下一些学习方法与心得,希望能给刚入门的朋友一些参考,使其少走弯路。二 具体hack学习方法1、利用搜索引擎 这是一种高效的学习方法,相信每个高手都从这里受益匪浅,这也是新手朋友最好的老师,她随叫随到,言听即从,力量强大。强烈建议大家在遇到问题前,先请教一下www.Google.com1)公共搜索引擎比如大名鼎鼎的Google(别告诉我你不知道哟),还有百度等。利用这类搜索引擎,你几乎可以搜到任何你想要的 阅读全文
posted @ 2013-09-09 14:35 SoulReaper 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 第一课:黑客历史文化介绍一、黑 客 概 述黑客最早始于20 世纪50年代,最早的计算机1946年在宾夕法尼亚大学出现,而最早的黑客出现于麻省理工学院,贝尔实验室也有。最初的黑客一般都是一些高级的技术人员,他们热衷于挑战、崇尚自由并主张信息的共享。1994年以来,因特网在全球的迅猛发展为人们提供了方便、自由和无限的财富,政治、军事、经济、科技、教育、文化等各个方面都越来越网络化,并且逐渐成为人们生活、娱乐的一部分。可以说,信息时代已经到来,信息已成为物质和能量以外维持人类社会的第三资源,它是未来生活中的重要介质。随着计算机的普及和因特网技术的迅速发展,黑客也随之出现了。二、黑客简介“黑客”一词由 阅读全文
posted @ 2013-09-09 14:34 SoulReaper 阅读(2464) 评论(0) 推荐(0) 编辑