浅墨浓香

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

导航

随笔分类 -  Windows程序设计

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

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

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

posted @ 2015-08-04 09:26 浅墨浓香 阅读(845) 评论(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 浅墨浓香 阅读(389) 评论(0) 推荐(0)

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

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

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

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

摘要:第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 浅墨浓香 阅读(739) 评论(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 浅墨浓香 阅读(1012) 评论(0) 推荐(1)

摘要:15.1 DIB文件格式(一种文件格式,扩展名为BMP) 15.1.1 OS/2风格的DIB 文件格式 字段 说明 文件头 (BITMAPFILEHEADER) 1、共14个字节 2、缩写建议用bmfh WORD bfType 文件签名,表示位图文件,以0x4D42,即字母“BM”打头 DWORD 阅读全文

posted @ 2015-08-03 11:58 浅墨浓香 阅读(1696) 评论(0) 推荐(1)

摘要:14.4.10非矩形的位图图像(1)“掩码”位图——单色位图,要显示的像素对应的掩码置1,不显示置0(2)光栅操作(点这里,见此文分析)(3)MaskBlt函数①MaskBlt(hdcDest, nXDest, nYDest, nWidth, nHeight, hdcSrc, nXSrc, nYSr... 阅读全文

posted @ 2015-08-03 09:28 浅墨浓香 阅读(539) 评论(0) 推荐(0)

摘要:14.4.7在位图上绘图(1)在内存设备环境中绘图(与真实DC不同的是,内存DC的显示表面是个位图)(2)GetTextExtentPoint32函数:用于确定文本字符串的像素大小。(此大小就是与视频显示兼容的位图的尺寸)。参数说明hdc设备环境句柄lpString文本字符串,如szTextcbSt... 阅读全文

posted @ 2015-08-03 09:06 浅墨浓香 阅读(614) 评论(0) 推荐(0)

摘要:14.4.1创建DDB(1)创建HBITMAP=CreateBitmap(cx,cy,cPlanes,cBitsPixel,lpBits);参数说明cx,cy指定位图宽度和高度,单位为像素。cPlanes颜色平面数目。标准的VGA显卡具有4个连续的颜色平面,每个平面取一个对应位,把它们组合起来就是一... 阅读全文

posted @ 2015-08-03 08:27 浅墨浓香 阅读(1065) 评论(0) 推荐(0)

摘要:14.1位图基础(1)位图和图元文件的区别:位图是点阵图形;图元文件是矢量图形(2)位图的缺点: ①受设备相关的影响(如色彩、分辨率、纵横比例) ②需要很大的存储空间:如640×480像素,16种颜色(4位),需要640*480*4/8/1024(即150KB);1024×768像素,24位图形... 阅读全文

posted @ 2015-08-02 12:23 浅墨浓香 阅读(684) 评论(0) 推荐(0)

摘要:第13章 使用打印机_13.2 打印图形和文字13.2打印图形和文字(1)注册打印异常终止过程SetAbortProc(hdcPrn,AbortProc);//在StartDoc前注册(2)异常终止过程——取消打印 ①调用时间:当调用EndPage之前,程序每次调用一个GDI函数时,GDI模块会把... 阅读全文

posted @ 2015-08-02 09:54 浅墨浓香 阅读(864) 评论(0) 推荐(0)

摘要:13.1打印基础13.1.1打印和后台处理说明:(1)此图的GDI模块的程序是16位的,打印驱动程序也是16位的。(2)spooler为windows提供的后台打印处理程序。可能用户有更好硬件或后台打印处理程序,那么可以去掉Windows自带的spooler,以加快打印速度,因为打印机输出可以不被存... 阅读全文

posted @ 2015-08-02 09:47 浅墨浓香 阅读(806) 评论(0) 推荐(0)

摘要:12.3.1剪贴板查看器链(1)Windows下可运行任意个剪贴板查看器,但只有一个是“当前剪贴板查看器”,Windows只维护这个剪贴板查看器的窗口句柄,并在剪贴板内容改变时,通知它。(2)当A程序注册为剪贴板查看器时,就成为当前查看器。Windows会把上个当前查看器B的窗口句柄交给A程序来保存... 阅读全文

posted @ 2015-08-02 09:38 浅墨浓香 阅读(468) 评论(0) 推荐(0)

摘要:12.2.1使用多种数据项(1)设置多种数据项OpenClipboard(hwnd);EmptyClipboard(); //下面设置多种数据项,但这3种数据项必须不同,且在Empty和CloseClipboard间设置。//将文本字符串写到位图或图元文件中,这样字符串即可被文读文本的程序访问。也可... 阅读全文

posted @ 2015-08-02 09:22 浅墨浓香 阅读(3589) 评论(0) 推荐(0)

摘要:12.1剪贴板的简单用法12.1.1剪贴板的标准格式分类标准格式说明文本格式CF_TEXT以NULL结尾的ANSI字符集,每行结尾含有回车换行符,最后的NULL表示整个数据的结束。CF_OEMTEXT以NULL结尾的OEM字符集,供MS-DOS下的剪贴板使用CF_UNICODETEXT类似CF_TE... 阅读全文

posted @ 2015-08-02 09:10 浅墨浓香 阅读(622) 评论(0) 推荐(0)

摘要:11.3通用对话框11.3.1完善POPAD(1)通用对话框:#include(2)OPENFILENAME结构字段含义备注lStructSize结构体的大小hwndOwner所属窗口,可以为NULLhInstancelpstrFilter文件筛选字符串TCHAR szFilter[] =TEXT ... 阅读全文

posted @ 2015-08-02 09:05 浅墨浓香 阅读(564) 评论(0) 推荐(0)

摘要:11.2.1模态与非模态对话框的区别区别模态非模态默认风格WS_POPUP|DS_MODALFRAMEWS_POPUP|WS_CAPTION|WS_SYSMENU|WS_VISIBLE创建函数DialogBox创建后要等结束对话框后才返回。CreateDialog创建后立即返回可见性默认是可见的得指... 阅读全文

posted @ 2015-08-02 08:38 浅墨浓香 阅读(598) 评论(0) 推荐(0)

摘要:对话框管理器——Windows内置的对话框代码 ①负责创建对话框窗口及其上面的子窗口控件;在创建对话框函数的内部,Windows使用用户自定义的对话框模板,并且使用Windows内部定义的窗口类(一般类名是“#32770”)来创建对话框。 ②提供内置的窗口过程来处理对话框消息(包括所有鼠标和键盘输入 阅读全文

posted @ 2015-08-02 08:16 浅墨浓香 阅读(656) 评论(0) 推荐(0)