浅墨浓香

想要天亮进城,就得天黑赶路。

导航

2015年8月9日

摘要: 20.3 线程的同步20.3.1 产生同步问题的原因(1)线程的只能是在两条指令之间被打断,不可能在一条指令执行到一半被打断,因为指令是CPU最小的执行单位。(2)线程的切换是无法预测的,他无法知道自己的什么时候自己的时间片会结束,也无法知道下一个时间片被分配给哪一个线程。线程可以在任何地方被Win... 阅读全文

posted @ 2015-08-09 14:15 浅墨浓香 阅读(395) 评论(0) 推荐(0) 编辑

摘要: 20.1 进程和线程联系与区别进程线程概念是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位(即进程是资源分配的最小单位)。是文件使用资源的总和(包含地址空间、代码、数据、对象句柄、环境变量和执行单元。进程不是一个可执行的实体。线程是该进程中代码的“执... 阅读全文

posted @ 2015-08-09 14:11 浅墨浓香 阅读(518) 评论(0) 推荐(0) 编辑

2015年8月8日

摘要: 7.7 在实际上下文中谈CONTEXT结构(1)线程CONTEXT记录线程的状态(如CPU各寄存器状态),以供下次调度时从停止处继续。(2)CONTEXT的结构(要获得或设置时,必须在Context.ContextFlags设置相应的标志)标志说明CONTEXT_CONTROL控制寄存器,如EIP、... 阅读全文

posted @ 2015-08-08 10:11 浅墨浓香 阅读(722) 评论(0) 推荐(0) 编辑

2015年8月6日

摘要: 7.1 线程的挂起和恢复(1)线程挂起 ①创建时(如CreateProcess、CreateThread),传入CREATE_SUSPENDED标志 ②用SuspendThread挂起线程。这个函数可以挂起自己,也可以挂起其它线程(只要有线程句柄) ③调用SuspendThread时,如果这时... 阅读全文

posted @ 2015-08-06 16:06 浅墨浓香 阅读(940) 评论(0) 推荐(0) 编辑

摘要: 19.1 概述——MDI层次结构①框架窗口 A、本身是一个普通的主窗口,其客户区被特殊的窗口覆盖,并不直接显示程序的输出。其客户区也被称为“工作区” B、默认的消息处理函数是DefFrameProc,而不是DefWindowProc。②客户窗口: A、系统预定义的窗口类,类名“MDICLIEN... 阅读全文

posted @ 2015-08-06 08:15 浅墨浓香 阅读(511) 评论(0) 推荐(0) 编辑

摘要: 18.2.7增强型图元文件的查看和打印程序(1)传递EMF到剪贴板,剪贴板类型应为:CF_ENHMETAFILE(2)CopyEnhMetaFile用于复制图元文件(3)剪贴板中的图元文件会自动在老式与增强型图元文件间转换。(4)自定义函数CreatePaletteFromMetaFile用于从图元... 阅读全文

posted @ 2015-08-06 07:53 浅墨浓香 阅读(1176) 评论(0) 推荐(0) 编辑

摘要: 18.2 增强型图元文件(emf)18.2.1 创建并显示增强型图元文件的步骤(1)创建:hdcEMF = CreateEnhMetaFile(hdcRef,szFilename,lpRect,lpDescription);参数含义hdcRef参考设备环境,NULL时表示以屏幕为参考szFileNa... 阅读全文

posted @ 2015-08-06 07:33 浅墨浓香 阅读(4275) 评论(0) 推荐(1) 编辑

摘要: 18.1 老式图元文件格式(wmf)(1)创建图元文件:HDC hdcMeta = CreateMetaFile(lpszFile); ①如果lpszFile为NULL则图元文件存储在内存中,如果指定文件名(XXX.WMF)则存储为磁盘文件。 ②返回值为图元文件的设备环境句柄,可以使用内存DC一... 阅读全文

posted @ 2015-08-06 07:23 浅墨浓香 阅读(1313) 评论(0) 推荐(0) 编辑

2015年8月4日

摘要: 17.6一些有趣和新奇的内容17.6.1 GDI路径(1)路径的创建 BeginPath(hdc); //1、使用任何绘制线的函数在DC上绘制,被存在GDI内部,但不显示出来。 //2、可以在当前路径中创建一个新的子路径,其中每个子路径都是一系列互相连接的线。 //3、每个子路径可以是闭合的... 阅读全文

posted @ 2015-08-04 11:33 浅墨浓香 阅读(442) 评论(0) 推荐(0) 编辑

摘要: 17.5设置段落格式17.5.1设置简单的文本格式(1)对齐方式及起始坐标:设字符串的长度为size.cx对齐方式文本输出的起始位置(设输出框左右边界分别为xLeft、XRight)左对齐xStart =xLeft;右对齐xStart = xRight – size.cx中间对齐xStart = (... 阅读全文

posted @ 2015-08-04 11:28 浅墨浓香 阅读(556) 评论(0) 推荐(0) 编辑

摘要: 17.4字体枚举17.4.1枚举函数(1)EnumFontFamiliesEx函数参数含义HDC hdchandle to DCLPLOGFONT lpLogfont传入LOGFONT结构的指针注意:如果lfCharset=DEFAULT_CHARSET;lf.lfFaceName[0]=NULL,... 阅读全文

posted @ 2015-08-04 11:18 浅墨浓香 阅读(856) 评论(0) 推荐(0) 编辑

摘要: 17.3逻辑字体17.3.1逻辑字体的创建和选择(1)创建逻辑字体hFont= CreateFontIndirect(&lf); //其中LOGFONT为结构体(2)SelectObject(hdc,hFont); //选入并匹配字体或使用从ChooseFont中选择的字体(3)返回选入设备环境的字... 阅读全文

posted @ 2015-08-04 10:09 浅墨浓香 阅读(564) 评论(0) 推荐(0) 编辑

摘要: 17.1简单文本输出17.1.1文本输出函数(1)TextOut(hdc,xStart,yStart,pString,iCount) ①xStart和yStart使用的是逻辑坐标,TextOut并不以NULL来做字符串的结束,需指定字符的个数iCount的值 ②SetTextAlign会改变xS... 阅读全文

posted @ 2015-08-04 09:54 浅墨浓香 阅读(454) 评论(0) 推荐(0) 编辑

摘要: //接上一篇//DibPal.h/*-----------------------------------------------------------------DIBPAL.H header file for DIBPAL.C----------------------------------... 阅读全文

posted @ 2015-08-04 09:45 浅墨浓香 阅读(485) 评论(0) 推荐(0) 编辑

摘要: 16.4.1自定义的 DIBSTRUCT结构体字段含义PBYTE *ppRow①指向位图视觉上最上面的一行像素。(不管是自下而上,还是自上而下)②放在第一个字段,为的是后面定义宏时可方便访问到int iSignature=“Dib ”,是这个结构体的标志HBITMAP hBitmap存储了由Crea... 阅读全文

posted @ 2015-08-04 09:26 浅墨浓香 阅读(773) 评论(0) 推荐(0) 编辑

摘要: 16.3.1 调色板和紧凑DIB(1)对于16、24、32位的DIB,没有颜色表,就不必创建调色板。但在8位视频模式下,只会用标准的20种保留色来显示。由DIB颜色表创建的调色板被称为“原生调色板”(2)dwPixel =PackedDibGetPixel(pPackedDib,x,y),当这类函数... 阅读全文

posted @ 2015-08-04 09:06 浅墨浓香 阅读(367) 评论(0) 推荐(0) 编辑

摘要: 16.2.1弹球(1)AnimatePallette(hPalette,uStart,uNum,&pe); ①必须运行在支持调色板的视频模式下(即256色,兼容256色不行) ②每个调色板条目PALETTEENTRY的peFlags要设为pC_RESERVED,才能出现动画 ③uStart是原... 阅读全文

posted @ 2015-08-04 08:50 浅墨浓香 阅读(432) 评论(0) 推荐(1) 编辑

摘要: 16.1调色板的使用16.1.1调色板原理注意: ①使用调色板前要创建逻辑调色板,选入并实现调色板。在映射过程中,逻辑调色板中的颜色会被相等匹配、或近似匹配、或新增加进系统调色板中(见后面分析) ②Windows规定,活动窗口(标题栏高亮显示的程序)的逻辑调色板(如果有的话)具有最高的实现优先权... 阅读全文

posted @ 2015-08-04 08:21 浅墨浓香 阅读(880) 评论(0) 推荐(0) 编辑

2015年8月3日

摘要: 第15章 设备相关位图_15.3 DIB和DDB的结合 15.3.1 从DIB创建DDB (1)hBitmap =CreateDIBitmap(…)——注意这名称会误导,实际上创建的是DDB 参数 说明 hdc 设备环境句柄,可以为NULL。 pInfoHdr 指向DIB信息头的指针,即BITMAP 阅读全文

posted @ 2015-08-03 13:16 浅墨浓香 阅读(621) 评论(0) 推荐(0) 编辑

摘要: 15.2.1 探究DIB (1)DIB文件的结构 整个文件 紧凑DIB(整个文件除文件头) 文件头(File Header) 信息头(Information Header) 信息头(Information Header) 颜色表(Color Table) 颜色表(Color Table) 像素位(P 阅读全文

posted @ 2015-08-03 12:18 浅墨浓香 阅读(922) 评论(0) 推荐(1) 编辑